public void RemoveTile() { MachineTile mt = machineList[selecting.x, selecting.y]; AnimationManager.instance.Remove(mt); Destroy(mt.spriteRenderer.gameObject); machineList[selecting.x, selecting.y] = null; Deselect(); }
public void Setup(int _x, int _y, int direction) { x = _x; y = _y; outputDirection = direction; // Get output inventory CalculateOffset(); Tile outputTile = WorldData.GetTile(x + dx, y + dy); if (outputTile.type == 2) { MachineTile outputMachineTile = (MachineTile)outputTile; outputInventory = outputMachineTile.machineController.inventory; } }
public void Remove(MachineTile mt) { AnimationInfo needsDeleting = null; foreach (AnimationInfo i in info) { if (i.machines.Contains(mt)) { i.machines.Remove(mt); if (i.machines.Count <= 0) { needsDeleting = i; } break; } } if (needsDeleting != null) { info.Remove(needsDeleting); } }
public void UpdateTile(int x, int y) { Tile tile = WorldData.GetTile(x, y); Chunk chunk = WorldData.GetChunk(x, y); if (tile.objectReference != null) { Destroy(tile.objectReference.gameObject); } Vector3 position = new Vector3(x, 0, y); if (tile.type == 0) { // Tile should be empty / sand // Nothing moment } else if (tile.type == 1) { // Tile should be cactus Transform objectReference = Instantiate(cactusPrefab, position, Quaternion.identity, chunk.reference).transform; tile.objectReference = objectReference; } else { // Tile should be machine MachineTile machineTile = (MachineTile)tile; GameObject machineObject = Instantiate(machineTile.machine.machinePrefab, position, Quaternion.identity, chunk.reference); machineTile.objectReference = machineObject.transform; MachineController machineController = machineObject.AddComponent <MachineController>(); machineController.recipes = machineTile.machine.recipes; machineController.Setup(x, y, 0); machineTile.machineController = machineController; } }
public void Register(MachineTile machine) { bool hasRegistered = false; foreach (AnimationInfo i in info) { if (i.machines[0].machine.machineName == machine.machine.machineName) { i.machines.Add(machine); hasRegistered = true; break; } } if (!hasRegistered) { AnimationInfo ai = new AnimationInfo() { speed = 15 }; ai.machines.Add(machine); info.Add(ai); } }