using LC.Newtonsoft.Json; using System; using Gameplay; using Gameplay.Unit.Data; using PhxhSDK.Phxh; using Sirenix.OdinInspector; using UnityEngine; [Serializable] public class MapBlockData { public int TerrainTypeIndex = -1; public bool IsDefaultTerrainType() { return TerrainTypeIndex == -1; } public TerrainTypeProperty GetTerrainTypeProperty() { var props = TerrainTypeConfig.TerrainTypeProperties; if (props != null && TerrainTypeIndex >= 0 && TerrainTypeIndex < props.Count) { return props[TerrainTypeIndex]; } return TerrainTypeConfig.DefaultTerrainTypeProperty; } } [Serializable] public class TerrainTypeProperty { [HideInInspector] public int id = -1; public string name; public bool selectable; public bool banAttack; public int crossLevel; /// /// 通行标记 /// public int[] crossTagIds = {}; public bool AddBuff; [ShowIf("AddBuff")] public int[] bulletIds; [HideInInspector] public string buffObjectPath; [JsonConverter(typeof(ColorJsonConverter))] public Color Color; }