Files
Fishing2Server/Entity/Generate/NetworkProtocol/MapProtoData.cs
2025-09-01 23:57:34 +08:00

171 lines
4.3 KiB
C#

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<Vector3Info>();
}
public override void Dispose()
{
x = default;
y = default;
z = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<Vector3Info>(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<QuaternionInfo>();
}
public override void Dispose()
{
x = default;
y = default;
z = default;
w = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<QuaternionInfo>(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<UnitFishingInfo>();
}
public override void Dispose()
{
LineLength = default;
ReelSpeed = default;
OpenLight = default;
RodSetting = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<UnitFishingInfo>(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<UnitStateInfo>();
}
public override void Dispose()
{
State = default;
Args.Clear();
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<UnitStateInfo>(this);
#endif
}
[ProtoMember(1)]
public int State { get; set; }
[ProtoMember(2)]
public List<string> Args = new List<string>();
}
[ProtoContract]
public partial class MapUnitInfo : AMessage, IProto
{
public static MapUnitInfo Create(Scene scene)
{
return scene.MessagePoolComponent.Rent<MapUnitInfo>();
}
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<MapUnitInfo>(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 GearInfo Gears { get; set; }
[ProtoMember(6)]
public UnitFishingInfo FishingInfo { get; set; }
[ProtoMember(7)]
public List<KeyValueInt32> KV = new List<KeyValueInt32>();
}
[ProtoContract]
public partial class MapUnitPositionInfo : AMessage, IProto
{
public static MapUnitPositionInfo Create(Scene scene)
{
return scene.MessagePoolComponent.Rent<MapUnitPositionInfo>();
}
public override void Dispose()
{
Position = default;
Rotation = default;
#if FANTASY_NET || FANTASY_UNITY
GetScene().MessagePoolComponent.Return<MapUnitPositionInfo>(this);
#endif
}
[ProtoMember(1)]
public Vector3Info Position { get; set; }
[ProtoMember(2)]
public QuaternionInfo Rotation { get; set; }
}
}