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;
}
}
}
}