using ProtoBuf; using System.Collections.Generic; using MongoDB.Bson.Serialization.Attributes; using Fantasy; using Fantasy.Network.Interface; using Fantasy.Serialize; // ReSharper disable InconsistentNaming // ReSharper disable RedundantUsingDirective // ReSharper disable RedundantOverriddenMember // ReSharper disable PartialTypeWithSinglePart // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable MemberCanBePrivate.Global // ReSharper disable CheckNamespace #pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type. #pragma warning disable CS8618 namespace Fantasy { /// /// 用户进入地图 /// [ProtoContract] public partial class Map2C_RoleEnterRoomNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_RoleEnterRoomNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Info = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_RoleEnterRoomNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public MapUnitInfo Info { get; set; } } /// /// 用户离开地图 /// [ProtoContract] public partial class Map2C_RoleExitRoomNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_RoleExitRoomNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_RoleExitRoomNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public long Id { get; set; } } /// /// 玩家状态变化同步 /// [ProtoContract] public partial class Map2C_RoleStateNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_RoleStateNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; State = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_RoleStateNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public UnitStateInfo State { get; set; } } /// /// 玩家钓组变化 /// [ProtoContract] public partial class Map2C_RoleGearChangeNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_RoleGearChangeNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; Gears.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_RoleGearChangeNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public List Gears = new List(); } [ProtoContract] public partial class Map2C_RolePropertyChangeNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_RolePropertyChangeNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Propertys.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_RolePropertyChangeNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public List Propertys = new List(); } [ProtoContract] public partial class C2Map_Move : AMessage, ICustomRouteMessage, IProto { public static C2Map_Move Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Position = default; Rotation = default; Direction = default; IsStop = default; Timestamp = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.C2Map_Move; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public Vector3Info Position { get; set; } [ProtoMember(2)] public Vector3Info Rotation { get; set; } [ProtoMember(3)] public Vector3Info Direction { get; set; } [ProtoMember(4)] public bool IsStop { get; set; } [ProtoMember(5)] public long Timestamp { get; set; } } [ProtoContract] public partial class C2Map_Look : AMessage, ICustomRouteMessage, IProto { public static C2Map_Look Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Rotation = default; Timestamp = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.C2Map_Look; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public Vector3Info Rotation { get; set; } [ProtoMember(2)] public long Timestamp { get; set; } } /// /// 玩家移动推送 /// [ProtoContract] public partial class Map2C_MoveNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_MoveNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; Position = default; Rotation = default; Direction = default; IsStop = default; Timestamp = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_MoveNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public Vector3Info Position { get; set; } [ProtoMember(3)] public Vector3Info Rotation { get; set; } [ProtoMember(4)] public Vector3Info Direction { get; set; } [ProtoMember(5)] public bool IsStop { get; set; } [ProtoMember(6)] public long Timestamp { get; set; } } /// /// 玩家旋转推送 /// [ProtoContract] public partial class Map2C_LookeNotify : AMessage, ICustomRouteMessage, IProto { public static Map2C_LookeNotify Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; Rotation = default; Timestamp = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } public uint OpCode() { return OuterOpcode.Map2C_LookeNotify; } [ProtoIgnore] public int RouteType => Fantasy.RouteType.MapRoute; [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public Vector3Info Rotation { get; set; } [ProtoMember(3)] public long Timestamp { get; set; } } }