示例#1
0
    public void showNums()
    {
        GameObject[] PlayerArray = GameObject.FindGameObjectsWithTag("Player");
        for (int i = 0; i < PlayerArray.Length; i++)
        {
            TeamTag tag  = PlayerArray[i].GetComponent <TeamSetup>().teamTag;
            bool    temp = !TeamCount[tag].Contains(PlayerArray[i]);
            if (Vector3.Distance(transform.position, PlayerArray[i].transform.position) < radius)
            {
                if (temp)
                {
                    TeamCount[tag].Add(PlayerArray[i]);
                }
            }
            else
            {
                if (!temp)
                {
                    TeamCount[tag].Remove(PlayerArray[i]);
                }
            }
        }
        TeamTag tempTag = TeamTag.red;

        for (int i = 0; i < teamTextList.Length; i++)
        {
            teamTextList[i].text  = TeamCount[tempTag].Count.ToString();
            teamTextList[i].color = TeamSetup.returnColor(tempTag);
            tempTag++;
        }
    }
示例#2
0
    private void Update()
    {
        OccupyRate = Mathf.Clamp(OccupyRate, 0, 100);
        if (OccupyRate == 0)
        {
            precentOccTeam = lastOccTeam;
        }

        OccupySlider.value = OccupyRate / 100f;
        SliderBack.GetComponent <Image>().color = TeamSetup.returnColor(precentOccTeam);
        drawCircle();
        showNums();

        if ((Time.time - prevTime) > 1)
        {
            prevTime = Time.time;
            int     InAreaTeam     = 0;
            int     TeamNums       = 0;
            TeamTag InAreaTeamName = TeamTag.red;
            TeamTag tempTag        = TeamTag.red;
            for (int i = 0; i < TeamCount.Count; i++)
            {
                if (TeamCount[tempTag].Count != 0)
                {
                    InAreaTeam++;
                    if (TeamCount[tempTag].Count > TeamNums)
                    {
                        TeamNums = TeamCount[tempTag].Count;
                    }
                    InAreaTeamName = tempTag;
                }
                tempTag++;
            }
            if (InAreaTeam == 1)
            {
                lastOccTeam = InAreaTeamName;
                if (precentOccTeam != InAreaTeamName)
                {
                    OccupyRate -= teamNumAddRate[TeamNums];
                }
                else
                {
                    OccupyRate += teamNumAddRate[TeamNums];
                }
            }
        }
    }
示例#3
0
 private void Start()
 {
     infectColor = TeamSetup.returnColor(GetComponent <TeamSetup>().teamTag);
 }