Ejemplo n.º 1
0
    /// <summary>
    /// シリアライズ
    /// </summary>
    /// <param name="Stream">ストリーム</param>
    /// <returns>成功したらtrueを返す</returns>
    public bool Serialize(IMemoryStream Stream)
    {
        int Len = Count;

        if (!Stream.Serialize(ref Len))
        {
            return(false);
        }

        if (Len > Count)
        {
            T[] InsertArray = new T[Len - Count];
            for (int i = 0; i < Len - Count; i++)
            {
                InsertArray[i] = new T();
            }
            AddRange(InsertArray);
        }

        for (int i = 0; i < Len; i++)
        {
            this[i].Serialize(Stream);
        }

        return(true);
    }
Ejemplo n.º 2
0
        /// <summary>
        /// プレイヤー参加を受信した
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        private void OnRecvPlayerEntry(IMemoryStream Stream)
        {
            PacketPlayerEntry Packet = new PacketPlayerEntry();

            Packet.Serialize(Stream);
            Spawn(Packet.Data);
        }
Ejemplo n.º 3
0
        public override bool Serialize(IMemoryStream Stream)
        {
            if (!List.Serialize(Stream))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 4
0
        public override bool Serialize(IMemoryStream Stream)
        {
            if (!Stream.Serialize(ref AreaId))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// プレイヤーリストを受信した
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        private void OnRecvPlayerList(IMemoryStream Stream)
        {
            PacketPlayerList Packet = new PacketPlayerList();

            Packet.Serialize(Stream);
            foreach (var Data in Packet.List)
            {
                Spawn(Data);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 他プレイヤーの移動を受信した
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        private void OnRecvPlayerMoved(IMemoryStream Stream)
        {
            PacketPlayerMoved Packet = new PacketPlayerMoved();

            Packet.Serialize(Stream);
            uint    Id          = Packet.Id;
            Vector3 Destination = new Vector3(Packet.Position.X, Packet.Position.Y, Packet.Position.Z);

            // TODO:回転
            PlayerDic[Id].SetMove(Destination, 1.0f);   // TODO:移動時間がマジックナンバーになっているので後程解消
        }
Ejemplo n.º 7
0
 /// <summary>
 /// シリアライズ
 /// </summary>
 /// <param name="Stream">ストリーム</param>
 /// <returns>成功したらtrueを返す</returns>
 public bool Serialize(IMemoryStream Stream)
 {
     if (!Stream.Serialize(ref Uuid))
     {
         return(false);
     }
     if (!Stream.Serialize(ref Message))
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 8
0
        public override bool Serialize(IMemoryStream Stream)
        {
            if (!Stream.Serialize(ref Id))
            {
                return(false);
            }
            if (!Position.Serialize(Stream))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 9
0
        public override bool Serialize(IMemoryStream Stream)
        {
            if (!Stream.Serialize(ref Result))
            {
                return(false);
            }
            if (!Stream.Serialize(ref CharacterId))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// シリアライズ
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        /// <returns>成功したらtrueを返す</returns>
        public bool Serialize(IMemoryStream Stream)
        {
            byte Data = 0;

            if (!Stream.Serialize(ref Data))
            {
                return(false);
            }
            PacketId = Data;

            if (!Stream.Serialize(ref Data))
            {
                return(false);
            }
            Size = Data;

            return(true);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// プレイヤーの座標強制変更を受信した
        /// </summary>
        /// <param name="Stream">ストリーム</param>
        private void OnRecvPlayerPositionChange(IMemoryStream Stream)
        {
            PacketPlayerPositionChange Packet = new PacketPlayerPositionChange();

            Packet.Serialize(Stream);
            if (PlayerPrefab == null)
            {
                PlayerPrefab = Resources.Load <GameObject>(PlayerPrefabPath);
                Debug.Assert(PlayerPrefab != null);
            }

            Vector3 Position  = new Vector3(Packet.Position.X, Packet.Position.Y, Packet.Position.Z);
            float   Rotation  = Packet.Position.Rotation;
            var     PlayerObj = Instantiate <GameObject>(PlayerPrefab, Position, Quaternion.Euler(0.0f, Rotation, 0.0f));
            var     PlayerCmp = PlayerObj.GetComponent <Player>();

            PlayerCmp.InitializeAsPlayerCharacter();
            PlayerDic.Add(PlayerData.PlayerId, PlayerCmp);
        }
Ejemplo n.º 12
0
        public bool Serialize(IMemoryStream Stream)
        {
            if (!Stream.Serialize(ref X))
            {
                return(false);
            }
            if (!Stream.Serialize(ref Y))
            {
                return(false);
            }
            if (!Stream.Serialize(ref Z))
            {
                return(false);
            }
            if (!Stream.Serialize(ref Rotation))
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 13
0
		public override bool Serialize(IMemoryStream Stream)
{
			
			return true;
}
Ejemplo n.º 14
0
 public IDeflateStream Create(IMemoryStream memoryStream, CompressionMode compressionMode)
 {
     return(new DeflateStreamWrap(memoryStream, compressionMode));
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Converts provided <see cref="IMemoryStream"/> info to <see cref="MemoryStream"/>.
 /// </summary>
 /// <param name="abstraction">Instance of <see cref="IMemoryStream"/> to convert.</param>
 /// <returns>An instance of <see cref="MemoryStream"/>.</returns>
 public static MemoryStream ToImplementation(this IMemoryStream abstraction)
 {
     return(((IAbstraction <MemoryStream>)abstraction)?.UnsafeConvert());
 }
Ejemplo n.º 16
0
 /// <summary>
 /// シリアライズ
 /// </summary>
 /// <param name="Stream">ストリーム</param>
 /// <returns>成功したらtrueを返す</returns>
 public abstract bool Serialize(IMemoryStream Stream);