void OnEvent(GameEvent ev) { switch (ev.Type()) { case GameEventType.EVENT_PLAYER_SPAWNED: EventPlayerSpawned spawn = (EventPlayerSpawned)ev; target_group.AddTarget(spawn.player.transform, player_radius); break; case GameEventType.EVENT_PLAYER_DESPAWNED: EventPlayerDeSpawned despawn = (EventPlayerDeSpawned)ev; target_group.RemoveTarget(despawn.player.transform); break; default: Debug.LogError("CameraManager: Invalid call to OnEvent"); break; } }
public PlayerStats SpawnPlayerInstance(Player assigned, Vector2 pos) { PlayerStats ret = null; if (assigned != null) { DestroyPlayerInstance(assigned); GameObject new_player = Instantiate(player_prefab, pos, Quaternion.identity); if (new_player != null) { ret = new_player.GetComponent <PlayerStats>(); ret.SetPlayer(assigned); assigned.SetPlayerInstance(ret); EventPlayerSpawned ev = new EventPlayerSpawned(ret); EventManager.Instance.SendEvent(ev); } } return(ret); }