Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
    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;
        }
    }
Ejemplo n.º 5
0
    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);
        }
    }