namespace ET.Server { /// /// 游戏服数据结构 /// public class Struct { /// /// 场景数据 /// public class AreaData { public MapConfig prop { get; set; } public int areaId { get; set; } public long instanceId { get; set; } public float targetX { get; set; } public float targetY { get; set; } public int logicServerId { get; set; } public ENTER_TYPE enterType = ENTER_TYPE.NONE; public AreaData(int areaId) { this.prop = MapConfigCategory.Instance.Get(areaId); this.areaId = areaId; } public AreaData(MapConfig prop) { this.areaId = prop.Id; this.prop = prop; } public AreaData(int areaId, long instanceId) { this.prop = MapConfigCategory.Instance.Get(areaId); this.areaId = areaId; this.instanceId = instanceId; } public AreaData(int areaId, float targetX, float targetY) { this.prop = MapConfigCategory.Instance.Get(areaId); this.areaId = areaId; this.targetX = targetX; this.targetY = targetY; } public AreaData(int areaId, float targetX, float targetY, ENTER_TYPE enterType) { this.prop = MapConfigCategory.Instance.Get(areaId); this.areaId = areaId; this.targetX = targetX; this.targetY = targetY; this.enterType = enterType; } public AreaData(int areaId, long instanceId, ENTER_TYPE enterType) { this.prop = MapConfigCategory.Instance.Get(areaId); this.areaId = areaId; this.instanceId = instanceId; this.enterType = enterType; } } /// /// 怪物单位数据 /// public class MonsterUnit { /** 怪物名字 **/ public string name{ get; set; } /** 怪物模板ID **/ public int id{ get; set; } /** 阵营信息 **/ public int force{ get; set; } /** 刷新点名字,为空才去读x, y **/ public string flag{ get; set; } public bool autoGuard{ get; set; } /** 同一个Area是否只能同时有一个怪存在 **/ public bool unique = false; /** 坐标x **/ public int x{ get; set; } /** 坐标y **/ public int y{ get; set; } /** 是否是任务 共享怪 **/ public int shareType{ get; set; } /** 动态怪物等级,战斗服根据此计算怪物的动态数值 **/ public int level{ get; set; } /** 初始朝向 **/ public float birthDirection{ get; set; } /** 服务器标记字段,怪物死亡时,会回传回来 **/ public int gsFlag{ get; set; } /** 指定血量 **/ public int hp{ get; set; } public int maxHP{ get; set; } /** 指定追击玩家id(必须是无限追击怪才会联动生效) **/ public string attackPlayer{ get; set; } /** 创建护卫怪,主人ObjectId(主人脱战或者死亡消失) **/ public int masterID{ get; set; } public MonsterUnit() { } public MonsterUnit(int monsterID, int force, bool unique, int x, int y) { this.id = monsterID; this.force = force; this.unique = unique; this.x = x; this.y = y; } public MonsterUnit(int monsterID, string refrushEvent, bool unique, int force) { this.id = monsterID; this.force = force; this.unique = unique; this.flag = refrushEvent; } public MonsterUnit(int monsterID, string refrushEvent, bool unique, int force, float birthDirection) { this.id = monsterID; this.force = force; this.unique = unique; this.flag = refrushEvent; this.birthDirection = birthDirection; } } } }