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 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 Vector2Info : AMessage, IProto { public static Vector2Info Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { x = default; y = 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; } } [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; Position = default; Rotation = 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 Vector3Info Position { get; set; } [ProtoMember(4)] public Vector3Info Rotation { get; set; } [ProtoMember(5)] public UnitStateInfo State { get; set; } [ProtoMember(6)] public GearInfo Gears { get; set; } [ProtoMember(7)] public UnitFishingInfo FishingInfo { get; set; } [ProtoMember(8)] public List KV = new List(); } }