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 UnitGearItemInfo : AMessage, IProto { public static UnitGearItemInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; ConfigId = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public int ConfigId { get; set; } } [ProtoContract] public partial class UnitGearInfo : AMessage, IProto { public static UnitGearInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Rod = default; Reel = default; Bobber = default; Hook = default; Bait = default; Lure = default; Weight = default; Line = default; Leader = default; Feeder = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public UnitGearItemInfo Rod { get; set; } [ProtoMember(2)] public UnitGearItemInfo Reel { get; set; } [ProtoMember(3)] public UnitGearItemInfo Bobber { get; set; } [ProtoMember(4)] public UnitGearItemInfo Hook { get; set; } [ProtoMember(5)] public UnitGearItemInfo Bait { get; set; } [ProtoMember(6)] public UnitGearItemInfo Lure { get; set; } [ProtoMember(7)] public UnitGearItemInfo Weight { get; set; } [ProtoMember(8)] public UnitGearItemInfo Line { get; set; } [ProtoMember(9)] public UnitGearItemInfo Leader { get; set; } [ProtoMember(10)] public UnitGearItemInfo Feeder { get; set; } } [ProtoContract] public partial class Vector3Info : AMessage, IProto { public static Vector3Info Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { x = default; y = default; z = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public float x { get; set; } [ProtoMember(2)] public float y { get; set; } [ProtoMember(3)] public float z { get; set; } } [ProtoContract] public partial class QuaternionInfo : AMessage, IProto { public static QuaternionInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { x = default; y = default; z = default; w = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public float x { get; set; } [ProtoMember(2)] public float y { get; set; } [ProtoMember(3)] public float z { get; set; } [ProtoMember(4)] public float w { get; set; } } [ProtoContract] public partial class UnitFishingInfo : AMessage, IProto { public static UnitFishingInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { LineLength = default; ReelSpeed = default; OpenLight = default; RodSetting = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public float LineLength { get; set; } [ProtoMember(2)] public float ReelSpeed { get; set; } [ProtoMember(3)] public bool OpenLight { get; set; } [ProtoMember(4)] public int RodSetting { get; set; } } [ProtoContract] public partial class UnitStateInfo : AMessage, IProto { public static UnitStateInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { State = default; Args.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public int State { get; set; } [ProtoMember(2)] public List Args = new List(); } [ProtoContract] public partial class MapUnitInfo : AMessage, IProto { public static MapUnitInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; RoleInfo = default; Location = default; State = default; Gears = default; FishingInfo = default; KV.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public RoleSimpleInfo RoleInfo { get; set; } [ProtoMember(3)] public MapUnitPositionInfo Location { get; set; } [ProtoMember(4)] public UnitStateInfo State { get; set; } [ProtoMember(5)] public UnitGearInfo Gears { get; set; } [ProtoMember(6)] public UnitFishingInfo FishingInfo { get; set; } [ProtoMember(7)] public List KV = new List(); } [ProtoContract] public partial class MapUnitPositionInfo : AMessage, IProto { public static MapUnitPositionInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Position = default; Rotation = default; #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public Vector3Info Position { get; set; } [ProtoMember(2)] public QuaternionInfo Rotation { get; set; } } }