public void UnitUseItem(string itemName) { // TODO: add some defence... gameBoard.HideIndicatorPlanes(); if (ACTION_READY) { // Disable unit MOVE_REMAINING and IS_ACTIVE MOVE_REMAINING = false; ACTION_READY = false; gameBoard.entityMenu.SetAttackMenu(); // Remove item from player inventory (only here, for own player...) gameBoard.PLAYER_INVENTORY.Remove(itemName); // Do item stuff switch (itemName) { case "Health Potion": gameBoard.effectDisplayer.CreatePopupText(HealthPotion.UseHealthPotion(this).ToString() , new Vector3(transform.position.x, gameBoard.TileArray[(int)transform.position.x, (int)transform.position.z].tile_elevation + 1f, transform.position.z) , Color.green); break; case "Mana Potion": gameBoard.effectDisplayer.CreatePopupText(ManaPotion.UseManaPotion(this).ToString() , new Vector3(transform.position.x, gameBoard.TileArray[(int)transform.position.x, (int)transform.position.z].tile_elevation + 1f, transform.position.z) , Color.blue); break; } // Refresh selected entity gameBoard.RefreshSelectedEntity(); // GOTO next turn gameBoard.turnManager.CoroutineAdvanceTurn(entityName + " UnitUseItem"); gameBoard.turnManager.SetTurnProcessingFalse(entityName + " UnitUseItem"); ACTION_PROCESSING = false; } }