Ejemplo n.º 1
0
        public override Boolean isSamePacket(NetworkObjectBase packet)
        {
            NetworkObject <T> obj;

            try
            {
                obj = (NetworkObject <T>)packet;
            }
            catch
            {
                return(false);
            }
            if (buffer == null && obj.buffer == null)
            {
                return(true);
            }
            else if (buffer == null || obj.buffer == null)
            {
                return(false);
            }

            for (int i = 0; i < buffer.Length; i++)
            {
                if (Buffer.GetByte(obj.buffer, i) != Buffer.GetByte(buffer, i))
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 두 패킷이 같은 것인지 비교. 정확히는 두 패킷이 가진 버퍼의 크기가 같은 것인지 비교한다.
        /// </summary>
        /// <param name="packet"></param>
        /// <returns></returns>
        public override Boolean isSamePacket(NetworkObjectBase packet)
        {
            NetworkObject <T> obj;

            try
            {
                obj = packet as NetworkObject <T>;
            }
            catch
            {
                return(false);
            }
            //null이라도 같으면 true.
            if (buffer == null && obj.buffer == null)
            {
                return(true);
            }
            else if (buffer == null || obj.buffer == null)
            {
                return(false);                                           //둘 중 하나가 null이면 false
            }
            else if (buffer.Length != obj.buffer.Length)
            {
                return(false);                                         //버퍼의 크기가 달라도 false
            }
            for (int i = 0; i < buffer.Length; i++)
            {
                if (Buffer.GetByte(obj.buffer, i) != Buffer.GetByte(buffer, i))
                {
                    return(false);
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// *** don't use it. it exists for comportability from lower version. ***
 /// </summary>
 /// <param name="src"></param>
 public void copyHeaderFrom(NetworkObjectBase src)
 {
     headerBuffer.SetValue(src.__tag, 0);
     headerBuffer.SetValue(src.__dataSize, 1);
     headerBuffer.SetValue(src.__id, 2);
 }
Ejemplo n.º 4
0
 public abstract Boolean isSamePacket(NetworkObjectBase packet);