public override void Deserialize(NetworkReader reader) { var locals = new Dictionary <int, LocalState>(); var numLocal = reader.ReadInt32(); for (var i = 0; i < numLocal; i++) { var id = reader.ReadInt32(); var state = new LocalState(); state.Deserialize(reader); locals[id] = state; } var bullets = new Dictionary <string, BulletState>(); var numBullet = reader.ReadInt32(); for (var i = 0; i < numBullet; i++) { var id = reader.ReadString(); var state = new BulletState(); state.Deserialize(reader); bullets[id] = state; } LocalStates = locals; BulletStates = bullets; }