Ejemplo n.º 1
0
        public override bool OnSerialize(NetworkWriter writer, bool initialState)
        {
            if (!initialState)
            {
                writer.WritePackedUInt32(syncVarDirtyBits);
            }
            if (!initialState && syncVarDirtyBits == 0U)
            {
                return(false);
            }
            var networkWriterAdapter = new NetworkWriterAdapter(writer);
            var count = m_playerDetails.Count;

            networkWriterAdapter.Serialize(ref count);
            if (count < 0 || count > 20)
            {
                Log.Print(LogType.Error, "Invalid number of players: " + count);
                Mathf.Clamp(count, 0, 20);
            }

            foreach (var playerDetail in m_playerDetails)
            {
                var key           = playerDetail.Key;
                var playerDetails = playerDetail.Value;
                if (playerDetails != null)
                {
                    key.OnSerializeHelper(networkWriterAdapter);
                    playerDetails.OnSerializeHelper(networkWriterAdapter);
                }
            }

            return(true);
        }
            public override void Serialize(NetworkWriter writer)
            {
                writer.WritePackedUInt32((uint)TurnIndex);
                writer.Write((sbyte)PhaseIndex);
                IBitStream stream = new NetworkWriterAdapter(writer);

                Action.ClientResolutionAction_SerializeToStream(ref stream);
            }
            public override void Serialize(NetworkWriter writer)
            {
                int num = Actions?.Count ?? 0;

                writer.Write((sbyte)num);
                if (num > 0)
                {
                    IBitStream stream = new NetworkWriterAdapter(writer);
                    foreach (ClientResolutionAction action in Actions)
                    {
                        action.ClientResolutionAction_SerializeToStream(ref stream);
                    }
                }
            }