Exemplo n.º 1
0
    public void SetDeath(int id, Agent.role theRole)
    {
        if(id == 0)
        {
            j0role.GetComponent<Image>().sprite = dead;
        }
        else if (id == 1)
        {
            j1role.GetComponent<Image>().sprite = dead;
        }
        else if (id == 2)
        {
            j2role.GetComponent<Image>().sprite = dead;
        }

        if(theRole == Agent.role.Killer)
        {
            Reset();
        }
        else
        {
            bool sherifAlive = true;
            bool InnocentAlive = true;

            foreach (Player go in players)
            {
                if (go.GetRole() == Agent.role.Innocent && !go.IsAlive())
                {
                    InnocentAlive = false;
                }
                else if (go.GetRole() == Agent.role.Sherif && !go.IsAlive())
                {
                    sherifAlive = false;
                }
            }

            if (!sherifAlive && !InnocentAlive)
            {
                Reset();
            }
        }
    }
Exemplo n.º 2
0
    public void SpawnEveryThing()
    {
        IAs = new List<GameObject>();
        players = new List<Player>();

        mobs = new List<IA>();

        _timeToEnd = 60.0f;
        _hasShown = false;
        _timeToShow = Random.Range(10.0f, 30.0f);

        for (int i = 0; i < nbMobs; i++)
        {
            GameObject gO = GameObject.Instantiate(IAPrefab);

            Vector2 randomPos = new Vector2(Random.Range(-levelLimit.x, levelLimit.x),
                                            Random.Range(-levelLimit.y, levelLimit.y));

            gO.transform.position = randomPos;

            mobs.Add(gO.GetComponent<IA>());

            IAs.Add(gO);
        }

        int[] rand = { 0, 1, 2 };

        for (int i = 0; i < 3; i++)
        {
            int random = Random.Range(0, 2);
            int temp = rand[random];
            rand[random] = rand[i];
            rand[i] = temp;
        }

        for (int i = 0; i < 3; i++)
        {
            Vector2 randomPos = new Vector2(Random.Range(-levelLimit.x, levelLimit.x),
                                            Random.Range(-levelLimit.y, levelLimit.y));
            GameObject go = (GameObject)Instantiate(PlayerPrefab, new Vector3(randomPos.x, randomPos.y), Quaternion.identity);
            Agent.role theRole = Agent.role.None;
            if (rand[i] == 0)
            {
                go.GetComponent<Player>().Init(new Vector2(-1.0f, 0.0f), 5.0f, i, Agent.role.Innocent, this);
                theRole = Agent.role.Innocent;
            }
            else if (rand[i] == 1)
            {
                go.GetComponent<Player>().Init(new Vector2(-1.0f, 0.0f), 5.0f, i, Agent.role.Killer, this);
                theRole = Agent.role.Killer;
            }
            else if (rand[i] == 2)
            {
                go.GetComponent<Player>().Init(new Vector2(-1.0f, 0.0f), 5.0f, i, Agent.role.Sherif, this);
                theRole = Agent.role.Sherif;
            }

            players.Add(go.GetComponent<Player>());

            if (i == 0)
            {
                if (theRole == Agent.role.Sherif)
                {
                    j0role.GetComponent<Image>().sprite = sherif;
                }
                else if (theRole == Agent.role.Killer)
                {
                    j0role.GetComponent<Image>().sprite = killer;
                }
                else if (theRole == Agent.role.Innocent)
                {
                    j0role.GetComponent<Image>().sprite = innoncent;
                }
            }
            else if (i == 1)
            {
                if (theRole == Agent.role.Sherif)
                {
                    j1role.GetComponent<Image>().sprite = sherif;
                }
                else if (theRole == Agent.role.Killer)
                {
                    j1role.GetComponent<Image>().sprite = killer;
                }
                else if (theRole == Agent.role.Innocent)
                {
                    j1role.GetComponent<Image>().sprite = innoncent;
                }
            }
            else if (i == 2)
            {
                if (theRole == Agent.role.Sherif)
                {
                    j2role.GetComponent<Image>().sprite = sherif;
                }
                else if (theRole == Agent.role.Killer)
                {
                    j2role.GetComponent<Image>().sprite = killer;
                }
                else if (theRole == Agent.role.Innocent)
                {
                    j2role.GetComponent<Image>().sprite = innoncent;
                }
            }
        }
    }