using LC.Newtonsoft.Json; using System; using System.Collections.Generic; 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() { Dictionary props = TerrainTypeConfig.DicTerrainTypePropertie; if (null != props && props.TryGetValue(TerrainTypeIndex, out TerrainTypeProperty terrainTypeProperty)) return terrainTypeProperty; return TerrainTypeConfig.DefaultTerrainTypeProperty; } } [Serializable] public class TerrainTypeProperty { public int id = -1; public string name; public bool banAttack; /// /// 通行标记 /// [LabelText("通行标记")]public List crossTagIds = new List(); public bool AddBuff; [ShowIf("AddBuff")] public List configIds = new List(); [HideInInspector] public string buffObjectPath; [JsonConverter(typeof(ColorJsonConverter))] public Color Color; }