コード例 #1
0
        public static bool TryParse(byte[] data, out JoinSecret result, out Version version)
        {
            var reader = new NetDataReader(data);

            try
            {
                version = reader.GetVersion();
            }
            catch
            {
                result  = default;
                version = default;
                return(false);
            }

            IPEndPoint endPoint;
            Key32      key;
            double     tickDeltaTime;

            try
            {
                endPoint      = reader.GetIPEndPoint();
                key           = reader.GetKey32();
                tickDeltaTime = reader.GetDouble();
            }
            catch
            {
                result = default;
                return(false);
            }

            if (tickDeltaTime <= 0)
            {
                result = default;
                return(false);
            }

            result = new JoinSecret(version, endPoint, key, tickDeltaTime);
            if (reader.AvailableBytes > 0)
            {
                return(false);
            }

            return(true);
        }
コード例 #2
0
 public static JoinSecret GetJoinSecret(this NetDataReader @this)
 {
     return(new JoinSecret(@this.GetVersion(), @this.GetIPEndPoint(), @this.GetKey32(), @this.GetDouble()));
 }