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))); }
private void Start() { AssemblySnakeFactory snakeFactory = new AssemblySnakeFactory(); Rows = new List <GameObject>(); RowPrefab.SetActive(false); UpdateTable(); }
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(); }
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); } }
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; } }