namespace ET.Server
{
///
/// 游戏服数据结构
///
public class Struct
{
///
/// 数据结构 int_int
///
public class IntIntData
{
public int value1 { get; set; }
public int value2 { get; set; }
public IntIntData(int value1, int value2)
{
this.value1 = value1;
this.value2 = value2;
}
}
///
/// 玩家技能数据
///
public class SkillInfo
{
/** 技能id **/
public int id { get; set; }
/** 技能等级 **/
public int level { get; set; }
/** 斩妖特殊含义: 冷却时间减少,触发几率增加,持续时间增加 **/
public int[] talentLevel = new int[3];
/** 技能类型 **/
public int type { get; set; }
/** 技能到期时间戳 **/
public long skillTime { get; set; }
/** 技能cd变更,万分比 **/
public int cdTime { get; set; }
public int flag { get; set; }
}
///
/// 玩家技能存储数据
///
public class PlayerSkillBaseData
{
/** 技能id **/
public int id { get; set; }
/** 技能等级 **/
public int level { get; set; }
/** 是否已解锁 */
public bool unlock { get; set; }
/** 技能到期时间戳 **/
public long skillTime { get; set; }
public PlayerSkillBaseData(int skillId, int level, bool unlock, long skillTime)
{
this.id = skillId;
this.level = level;
this.unlock = unlock;
this.skillTime = skillTime;
}
/** 是否已解锁 */
public bool isUnlock()
{
return this.unlock;
}
}
///
/// 场景数据
///
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;
}
}
///
/// 战报数据
///
public class BattleReports
{
public uint ID { get; set; }
public string PlayerUUID { get; set; }
/** 模板id **/
public int TemplateId { get; set; }
/** 单位名称 **/
public string Name { get; set; }
/** 阵营 **/
public int Force { get; set; }
/** 对所有单位输出的总伤害 **/
public int TotalDamage { get; set; }
/** 对所有单位输出的总治疗量 **/
public int TotalHealing { get; set; }
public BattleReports(uint id, string PlayerUUID, int templateId, string name, int force, int totalDamage)
{
this.ID = id;
this.PlayerUUID = PlayerUUID;
this.TemplateId = templateId;
this.Name = name;
this.Force = force;
this.TotalDamage = totalDamage;
}
}
///
/// 玩家单位复活数据
///
public class UnitPlayerReliveData
{
/** 复活场景 **/
public Map Map { get; set; }
/** 复活单位模板id **/
public int ID { get; set; }
/** 复活时间 **/
public long ReliveTime { get; set; }
/** 复活位置x **/
public int x { get; set; }
/** 复活位置y **/
public int y { get; set; }
public UnitPlayerReliveData()
{
}
public UnitPlayerReliveData(Map map, int id, long time, int x, int y)
{
this.Map = map;
this.ID = id;
this.ReliveTime = time;
this.x = x;
this.y = y;
}
}
}
}