using ET;
using ProtoBuf;
using System.Collections.Generic;
namespace ET
{
	[Message(CommonProto.MoveInfo)]
	[ProtoContract]
	public partial class MoveInfo: ProtoObject
	{
		[ProtoMember(1)]
		public List<Unity.Mathematics.float3> Points { get; set; }

		[ProtoMember(2)]
		public Unity.Mathematics.quaternion Rotation { get; set; }

		[ProtoMember(3)]
		public int TurnSpeed { get; set; }

	}

	[Message(CommonProto.UnitInfo)]
	[ProtoContract]
	public partial class UnitInfo: ProtoObject
	{
		[ProtoMember(1)]
		public long UnitId { get; set; }

		[ProtoMember(2)]
		public int ConfigId { get; set; }

		[ProtoMember(3)]
		public int Type { get; set; }

		[ProtoMember(4)]
		public Unity.Mathematics.float3 Position { get; set; }

		[ProtoMember(5)]
		public Unity.Mathematics.float3 Forward { get; set; }

		[MongoDB.Bson.Serialization.Attributes.BsonDictionaryOptions(MongoDB.Bson.Serialization.Options.DictionaryRepresentation.ArrayOfArrays)]
		[ProtoMember(6)]
		public Dictionary<int, long> KV { get; set; }
		[ProtoMember(7)]
		public MoveInfo MoveInfo { get; set; }

	}

	[Message(CommonProto.ActInfo)]
	[ProtoContract]
	public partial class ActInfo: ProtoObject
	{
		[ProtoMember(1)]
		public int Card { get; set; }

		[ProtoMember(2)]
		public int Type { get; set; }

		[ProtoMember(3)]
		public long PlayerId { get; set; }

	}

	[Message(CommonProto.CardInfo)]
	[ProtoContract]
	public partial class CardInfo: ProtoObject
	{
		[ProtoMember(1)]
		public List<int> RemainCards { get; set; }

		[ProtoMember(2)]
		public int RemainCardsNum { get; set; }

		[ProtoMember(3)]
		public int DrawCard { get; set; }

		[ProtoMember(4)]
		public List<int> DisCards { get; set; }

		[ProtoMember(5)]
		public List<ActInfo> UsedInfo { get; set; }

		[ProtoMember(6)]
		public List<int> Acts { get; set; }

		[ProtoMember(7)]
		public List<ActInfo> ActInfo { get; set; }

	}

	[Message(CommonProto.PlayerInfo)]
	[ProtoContract]
	public partial class PlayerInfo: ProtoObject
	{
		[ProtoMember(1)]
		public long id { get; set; }

		[ProtoMember(2)]
		public string name { get; set; }

		[ProtoMember(3)]
		public int sex { get; set; }

		[ProtoMember(4)]
		public long exp { get; set; }

		[ProtoMember(5)]
		public int level { get; set; }

		[ProtoMember(6)]
		public int vip { get; set; }

		[ProtoMember(7)]
		public long diamond { get; set; }

		[ProtoMember(8)]
		public int pos { get; set; }

		[ProtoMember(9)]
		public int state { get; set; }

		[ProtoMember(10)]
		public bool isAuto { get; set; }

		[ProtoMember(11)]
		public CardInfo cardInfo { get; set; }

	}

	[Message(CommonProto.RoomInfo)]
	[ProtoContract]
	public partial class RoomInfo: ProtoObject
	{
		[ProtoMember(1)]
		public int RoomId { get; set; }

		[ProtoMember(2)]
		public int Type { get; set; }

		[ProtoMember(3)]
		public long OwnerId { get; set; }

		[ProtoMember(4)]
		public int State { get; set; }

		[ProtoMember(5)]
		public int Time { get; set; }

		[ProtoMember(6)]
		public int CurRound { get; set; }

		[ProtoMember(7)]
		public int Rand1 { get; set; }

		[ProtoMember(8)]
		public int Rand2 { get; set; }

		[ProtoMember(9)]
		public int ZhuangPos { get; set; }

		[ProtoMember(10)]
		public int CardNum { get; set; }

		[ProtoMember(11)]
		public long OpId { get; set; }

		[ProtoMember(12)]
		public int OpPos { get; set; }

		[ProtoMember(13)]
		public int CurDisCard { get; set; }

		[ProtoMember(14)]
		public int CurDisCardSex { get; set; }

		[ProtoMember(15)]
		public PlayerInfo MyInfo { get; set; }

		[ProtoMember(16)]
		public List<PlayerInfo> OtherInfo { get; set; }

	}

	public static class CommonProto
	{
		 public const ushort MoveInfo = 10002;
		 public const ushort UnitInfo = 10003;
		 public const ushort ActInfo = 10004;
		 public const ushort CardInfo = 10005;
		 public const ushort PlayerInfo = 10006;
		 public const ushort RoomInfo = 10007;
	}
}