public void GenerateLists() { targetX = targetY = -1; for (int i = 0; i < squadLists.Length; i++) { squadAreas[i].gameObject.SetActive(i <= squadCount); characters[i].ResetList(); for (int j = 0; j < squadLists[i].values.Count; j++) { int index = squadLists[i].values[j].index; Transform t = Instantiate(characterPrefab, squadAreas[i].transform); SquadMemberEntry te = characters[i].CreateEntry(t); te.FillData(playerData.stats[index], index); } } characterPrefab.gameObject.SetActive(false); for (int i = 0; i < squadLists.Length; i++) { if (squadLists[i].values.Count > 0) { continue; } Transform t = Instantiate(characterPrefab, squadAreas[i].transform); SquadMemberEntry member = characters[i].CreateEntry(t); member.entryName.text = "EMPTY"; member.icon.enabled = false; member.level.text = ""; } UpdateSelection(); }
private void UpdateSelection() { //Button bool buttonSelected = (selectionY == -1); buttonHighlight.SetActive(buttonSelected); //Squad titles for (int i = 1; i < squadTitles.Length; i++) { squadTitles[i].text = string.Format("Squad {0} {1}/{2}", i, squadLists[i].Count, squadLimits[i]); } //Squad areas for (int x = 0; x < characters.Length; x++) { characters[x].SetSelection(!buttonSelected && x == selectionX && !selectMode); for (int y = 0; y < characters[x].Size; y++) { SquadMemberEntry member = characters[x].GetEntry(y); member.background.color = (x == targetX && y == targetY) ? Color.cyan : Color.yellow; member.highlight.color = (x == targetX && y == targetY) ? Color.cyan : Color.yellow; } } for (int i = 0; i < squadAreas.Length; i++) { squadAreas[i].color = (selectMode && i == selectionX) ? Color.cyan : Color.yellow; } }
public bool Select() { if (selectionY == -1) { return(false); } if (selectMode) { return(MoveCharacter()); } SquadMemberEntry member = characters[selectionX].GetEntry(selectionY); if (member.index == -1) { return(false); } selectMode = true; targetX = selectionX; targetY = selectionY; UpdateSelection(); return(true); }