private void Refill() { float refillAmount = MaxFoodLevel - FoodLevel; float inputFood = shipResources.ChangeFood(-refillAmount); foodLevel -= inputFood; foodLevel = Mathf.Clamp(FoodLevel, 0, FoodLevel); }
void FinishMoving() { robotPath = null; currentDestTile = null; State = RobotState.Idle; if (InventoryState == RobotInventoryState.Empty) { if (RobotTile.Type == Tile.TileType.BeaconPart) { InventoryState = RobotInventoryState.Part; RobotTile.SetTileType(Tile.TileType.Blank); mapManager.TileChanged(RobotTile); } else if (RobotTile.Type == Tile.TileType.FoodStore) { InventoryState = RobotInventoryState.Food; RobotTile.SetTileType(Tile.TileType.Blank); mapManager.TileChanged(RobotTile); } } else { if (RobotTile.Type == Tile.TileType.Entrance) { if (InventoryState == RobotInventoryState.Food) { if (OnRobotFoodReturn != null) { OnRobotFoodReturn(FoodPerStore); } shipResources.ChangeFood(FoodPerStore); } else if (InventoryState == RobotInventoryState.Part) { if (OnRobotPartReturn != null) { OnRobotPartReturn(); } } InventoryState = RobotInventoryState.Empty; } } }