Example #1
0
    private void CreateCheckboxes()
    {
        var names = new AssemblySnakeFactory().GetAllSnakeTypes();

        SnakeNameRowPrefab.transform.parent.GetComponent <RectTransform>()
        .SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, ROW_HEIGHT * names.Count);
        Toggles = new Dictionary <string, Toggle>();

        foreach (var snakeName in names)
        {
            var newRow = Instantiate(SnakeNameRowPrefab);
            newRow.SetActive(true);
            newRow.transform.parent = SnakeNameRowPrefab.transform.parent;
            newRow.transform.GetChild(1).GetComponent <Text>().text = snakeName;
            string name = snakeName;
            newRow.transform.GetChild(2).GetComponent <Toggle>().isOn = SituationsInit.Instance.Names.Contains(name);
            newRow.transform.GetChild(2).GetComponent <Toggle>().onValueChanged.AddListener(new UnityEngine.Events.UnityAction <bool>
                                                                                            (
                                                                                                value =>
            {
                if (value)
                {
                    SituationsInit.Instance.Names.Add(name);
                }
                else if (SituationsInit.Instance.Names.Contains(name))
                {
                    SituationsInit.Instance.Names.Remove(name);
                }
            }
                                                                                            ));
            Toggles.Add(name, newRow.transform.GetChild(2).GetComponent <Toggle>());
        }
    }
        private void SetTileBases()
        {
            SnakeBodies = new Dictionary <string, List <TileBase> >();
            var snakeFactory = new AssemblySnakeFactory();
            var allSnakes    = snakeFactory.GetAllSnakeTypes();

            allSnakes.Add(DEAD_SNAKE_BODY);
            foreach (var snake in allSnakes)
            {
                var body = new List <TileBase>();
                for (int i = 0; i < 14; i++)
                {
                    string             path   = String.Format("Assets\\IMG\\SnakeSprites\\Simple\\{0}\\{0}_{1}.asset", snake, i);
                    UnityEngine.Object prefab = AssetDatabase.LoadAssetAtPath(path, typeof(TileBase));
                    if (prefab == null)
                    {
                        if (SnakeBodies.ContainsKey(snake))
                        {
                            SnakeBodies.Remove(snake);
                        }
                        break;
                    }
                    body.Add((TileBase)Instantiate(prefab)); //TODO: обработать исключение при отсутсвии спрайта
                }
                if (body.Count == 14)
                {
                    SnakeBodies.Add(snake, body);
                }
            }


            Food    = (TileBase)Instantiate(AssetDatabase.LoadAssetAtPath("Assets\\IMG\\Food\\Simple\\Apple.asset", typeof(TileBase)));
            Grass   = (TileBase)Instantiate(AssetDatabase.LoadAssetAtPath("Assets\\IMG\\Background\\Simple\\Grass.asset", typeof(TileBase)));
            Barrier = (TileBase)Instantiate(AssetDatabase.LoadAssetAtPath("Assets\\IMG\\Barriers\\Simple\\Barrier.asset", typeof(TileBase)));
        }
Example #3
0
        private void Start()
        {
            AssemblySnakeFactory snakeFactory = new AssemblySnakeFactory();

            Rows = new List <GameObject>();
            RowPrefab.SetActive(false);
            UpdateTable();
        }
Example #4
0
        private void Start()
        {
            IsOrderByDescending = false;
            table = new SnakesTable();
            AssemblySnakeFactory snakeFactory = new AssemblySnakeFactory();

            SnakeNames = snakeFactory.GetAllSnakeTypes();
            Rows       = new List <SnakeStatisticsForTable>();
            RowPrefab.SetActive(false);
            OrderBy = Columns.StepsPerFood;
            Sort();
            UpdateTable();
        }
Example #5
0
        private void InitialiseSnakeHeadSprites()
        {
            SnakeHeadSprites = new Dictionary <string, Sprite>();
            AssemblySnakeFactory factory = new AssemblySnakeFactory();

            foreach (string name in factory.GetAllSnakeTypes())
            {
                string   path = String.Format("Assets\\IMG\\SnakeSprites\\Simple\\{0}\\{0}_1.asset", name);
                TileBase tile = (TileBase)AssetDatabase.LoadAssetAtPath(path, typeof(TileBase));
                TileData data = new TileData();
                tile.GetTileData(new Vector3Int(), null, ref data);
                SnakeHeadSprites.Add(name, data.sprite);
            }
        }
Example #6
0
        private void SetUpSnakeButtons()
        {
            AssemblySnakeFactory factory = new AssemblySnakeFactory();

            SnakeButtonRowPrefab.SetActive(false);

            foreach (string name in factory.GetAllSnakeTypes())
            {
                var tempRow = Instantiate(SnakeButtonRowPrefab);
                tempRow.SetActive(true);
                Button tempButton = tempRow.transform.GetChild(0).gameObject.GetComponent <Button>();
                tempButton.image.sprite = SnakeHeadSprites[name];
                tempButton.onClick.AddListener(() => OnButtonSnakePressed(name));
                tempButton.transform.GetChild(0).gameObject.GetComponent <Text>().text = name;
                tempRow.transform.parent = SnakesScrollView.transform;
            }
        }