using DeepCore.IO; using DeepMMO.Attributes; using DeepMMO.Protocol; using System.Collections.Generic; using DeepCore.Geometry; using DeepMMO.Data; namespace DeepMMO.Server.Area { //--------------------------------------------------------------------------------- [ProtocolRoute("Logic", "Area")] public class RoleDataChangedNotify : Notify { public string roleID; public ISerializable roleData; } //--------------------------------------------------------------------------------- // [ProtocolRoute("Area", "Logic")] // public class AreaSaveRoleDataNotify : Notify // { // public string roleID; // public ISerializable roleData; // } // // [ProtocolRoute("Area", "Logic")] // public class AreaSaveRoleInfoNotify : Notify // { // } /// /// 当玩家踩到传送点,或者场景内其他传送事件 /// Area通知逻辑需要传送操作,一般是踩到场景传送点 /// [ProtocolRoute("Area", "Logic")] public class RoleNeedTransportNotify : Notify { public int nextMapID; public int nextZoneID; public string nextZoneFlagName; public string fromAreaName; public string fromAreaNode; } /// /// 角色所在场景Game Over后,推送给Logic /// 通常推送后,当前场景即将删除, /// Logic在收到后,将玩家传送到最后的公共场景或者主城 /// [ProtocolRoute("Area", "Logic")] public class AreaGameOverNotify : Notify { public int mapTemplateID; public int zoneTemplateID; public string zoneUUID; public byte winForce; public string message; // TODO some award public ISerializable expandData; } //--------------------------------------------------------------------------------- /// /// 通知Session /// [ProtocolRoute("Area", "Session")] public class SessionBindAreaNotify : Notify { public string areaName; public string areaNode; } /// /// 通知Session /// [ProtocolRoute("Area", "Session")] public class SessionUnbindAreaNotify : Notify { public string areaName; public string areaNode; } /// /// 战斗Action /// [ProtocolRoute("Session", "Area")] sealed public class SessionBattleAction : Notify { public string roleID; /// /// ClientBattleAction /// public byte[] clientBattleAction; } /// /// 单位奖励信息. /// [ProtocolRoute("Area", "Logic")] public class RoleBattleAwardNotify : Notify { public class AwardItem : ISerializable { public int ItemTemplateID; public int ItemCount; } public string RoleID; public int MonsterID; public List Awards; } /// /// 角色穿越地图通知(无缝切图) /// [ProtocolRoute("Area", "Logic")] public class RoleCrossMapNotify : Notify { public int NextSceneID; public ZonePosition NextScenePos; } //--------------------------------------------------------------------------------- }