public override void OnReplicationDeserialize(P2PNetworkReader reader, bool initial_state)
    {
        switch (reader.ReadChar())
        {
        case '\0':
            return;

        case '\u0001':
            this.UnserializeModeTransform(reader, initial_state);
            break;

        case '\u0002':
            this.UnserializeMode2D(reader, initial_state);
            break;

        case '\u0003':
            this.UnserializeMode3D(reader, initial_state);
            break;

        case '\u0004':
            this.UnserializeModeCharacterController(reader, initial_state);
            break;
        }
        this.m_LastSyncTime = Time.time;
    }