Beispiel #1
0
    public void CreateButtons(int layer)
    {
        Tileset tilesetSelected = null;

        switch (layer)
        {
        case 0:
            tilesetSelected = tileset_1;
            break;

        case 1:
            tilesetSelected = tileset_2;
            break;

        case 2:
            tilesetSelected = lighting;
            break;

        case 3:
            tilesetSelected = navigation;
            break;

        default:
            break;
        }

        bool isDeployed = true;

        if (tileset_deployed != null)
        {
            Button[] buttons = listButton.GetComponentsInChildren <Button>();
            for (int i = 0; i < buttons.Length; i++)
            {
                Destroy(buttons[i].gameObject);
            }

            if (tileset_deployed == tilesetSelected)
            {
                isDeployed = false;
            }

            tileset_deployed = null;
        }

        if (isDeployed)
        {
            for (int i = 0; i < tilesetSelected.tiles.Length; i++)
            {
                ButtonTile button = Instantiate(buttonSample, listButton);
                Texture2D  tex    = tilesetSelected.tiles[i].texture;
                button.indexTexture = i;
                button.SetImage(Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)));
            }

            tileset_deployed = tilesetSelected;
        }
    }
Beispiel #2
0
    private void ShowButtons(List <ProdSpec> list)
    {
        for (int i = 0; i < list.Count; i++)
        {
            var iniPosHere = _scroll_Ini_PosGO.transform.localPosition + new Vector3(0, -3.5f * i, 0);
            var a          = ButtonTile.CreateTile(_content.gameObject.transform, list[i], iniPosHere, this);

            _btns.Add(a);
        }
    }
Beispiel #3
0
    void OnEnable()
    {
        buttonTile = target as ButtonTile;

        triggerables.Clear();
        foreach (TriggerableTile triggerable in FindObjectsOfType(typeof(TriggerableTile)))
        {
            triggerables.Add(triggerable);
        }

        SceneView.onSceneGUIDelegate += DrawConnectionButtons;
        if (SceneView.lastActiveSceneView != null)
        {
            SceneView.lastActiveSceneView.Repaint();
        }
    }
Beispiel #4
0
    internal static ButtonTile CreateTile(Transform container,
                                          ProdSpec val, Vector3 iniPos, AddOrderWindow win)
    {
        ButtonTile obj = null;

        obj = (ButtonTile)Resources.Load(Root.button_Tile, typeof(ButtonTile));
        obj = (ButtonTile)Instantiate(obj, new Vector3(), Quaternion.identity);

        var iniScale = obj.transform.localScale;

        obj.transform.SetParent(container);
        obj.transform.localPosition = iniPos;
        obj.transform.localScale    = iniScale;

        obj.Value       = val;
        obj.OrderWindow = win;

        return(obj);
    }
Beispiel #5
0
    private void AdditionalFeatures(MapTile tile)
    {
        ButtonGroup g;
        int         id = tile.groupID;

        switch (tile.type)
        {
        case TileType.BUTTON:
            ButtonTile button = (ButtonTile)tile;
            if (!mapContainer.buttonGroup.ContainsKey(id))
            {
                mapContainer.buttonGroup.Add(id, new ButtonGroup());
            }
            g = mapContainer.buttonGroup[id];
            g.buttons.Add(button);
            button.group = g;
            break;

        case TileType.LEVER:
            LeverTile lever = (LeverTile)tile;
            if (!mapContainer.buttonGroup.ContainsKey(id))
            {
                mapContainer.buttonGroup.Add(id, new ButtonGroup());
            }
            g = mapContainer.buttonGroup[id];
            g.levers.Add(lever);
            lever.group = g;
            break;

        case TileType.GATE:
            GateTile gate = (GateTile)tile;
            if (!mapContainer.buttonGroup.ContainsKey(id))
            {
                mapContainer.buttonGroup.Add(id, new ButtonGroup());
            }
            g = mapContainer.buttonGroup[id];
            g.gates.Add(gate);
            gate.group = g;
            break;

        case TileType.FALL:
            FallTile fall = (FallTile)tile;
            if (!mapContainer.buttonGroup.ContainsKey(id))
            {
                mapContainer.buttonGroup.Add(id, new ButtonGroup());
            }
            g = mapContainer.buttonGroup[id];
            g.fallPits.Add(fall);
            Debug.Log("Added fall");
            fall.group = g;
            break;

        case TileType.PATROL:
            enemyController.SpawnPatroller((PatrolTile)tile);
            break;

        case TileType.BOX:
            interactController.SpawnBox((BoxTile)tile);
            break;

        case TileType.START:
            mapContainer.spawnTiles.Add(id, tile);
            break;
        }
    }