Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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;
        }
    }
Esempio n. 3
0
    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);
    }