// Use this for initialization
    void Start()
    {
        print("CombatController.Start()");
        GameManager gameManager = GameManager.Instance;

        CameraController         = gameManager.GetCameraController();
        CharacterSheetController = gameManager.GetCharacterSheetController();
        TileMap             = gameManager.GetTileMap();
        TurnOrderController = gameManager.GetTurnOrderController();
        MusicController     = gameManager.GetMusicController();
        UnitMenuController  = gameManager.GetUnitMenuController();
        UnitMenuController.Initialize();
        ScreenFader = new ScreenFader();
        TerrainDetailsController = gameManager.GetTerrainDetailsController();
        TileDiscoverer           = new TileDiscoverer(TileMap.GetTileMapData());
        Pathfinder = new Pathfinder(TileMap.GetTileMapData(), TileMap.GetGraph().GetGraph());

        _selectionIcon = _selectionIndicator.transform;

        IntendedActionTargets = new List <Unit> ();

        RadialButtonContainers = new List <RadialButtonContainer> ();

        ChangeState <InitCombatState> ();
    }
    /// <summary>
    /// Raises the key down inventory event.
    /// </summary>
    /// <param name="sender">Sender.</param>
    /// <param name="e">E.</param>
    protected virtual void OnKeyDownInventory(object sender, InfoEventArgs <KeyCode> e)
    {
        UnitMenuController unitMenuController = controller.UnitMenuController;

        if (unitMenuController.IsActive())
        {
            controller.ShowTileSelector(true);
            unitMenuController.Deactivate();
        }
        else
        {
            controller.ShowTileSelector(false);
            unitMenuController.Activate(nextUnitInLine);
        }
    }