IEnumerator Start() { DungeonBaseController.instance.OnNewTurn.AddListener(OnNewTurn); DungeonBaseController.instance.OnEndTurn.AddListener(OnEndTurn); if (!DungeonBaseController.instance.allCharacters.Contains(this)) { DungeonBaseController.instance.allCharacters.Add(this); } switch (gameObject.tag) { case "Enemy": DungeonBaseController.instance.enemies.Add(this); break; } if (UseStartPosition) { yield return(0); TileBase newTile = m_MovementController.FindNearestOpenTile(RandomStartPosition ? new Vector3(0, 0, 0) : StartPosition); transform.position = newTile.transform.position; m_MovementController.OccupyTile(); } SwitchCharacterStatus(CharacterStatus.idle); }