Esempio n. 1
0
    public List <GameObject> getLocals()
    {
        List <GameObject> locals = new List <GameObject>();

        //Vector3 centre = thisState.transform.position;
        Collider[] collides = Physics.OverlapSphere(transform.position, 3);
        for (int i = 0; i < collides.Length; i++)
        {
            if (collides[i].tag != "Player")
            {
                continue;
            }
            VoterScript vs = collides[i].GetComponent <VoterScript>();
            if (vs != null)
            {
                if (vs.myOwner == owner)
                {
                    locals.Add(collides[i].gameObject);
                }
            }
        }
        //Debug.Log(locals.Count);

        return(locals);
    }
Esempio n. 2
0
    public List <GameObject> listOfLocallyOwnedLocalVoters()
    {
        Collider[]        tempCollider      = listOfVoters();
        List <GameObject> listOfLocalVoters = new List <GameObject>();

        for (int i = 0; i < tempCollider.Length; i++)
        {
            Collider colliderTemp = tempCollider[i];
            if (colliderTemp.gameObject.tag != "Player")
            {
                continue;
            }

            VoterScript voterTemp = colliderTemp.gameObject.GetComponent <VoterScript>();
            if (voterTemp == null)
            {
                continue;
            }
            switch (owner)
            {
            case 0:
                if (voterTemp.myOwner == 0)
                {
                    listOfLocalVoters.Add(tempCollider[i].gameObject);
                }
                break;

            case 1:
                if (voterTemp.myOwner == 1)
                {
                    listOfLocalVoters.Add(tempCollider[i].gameObject);
                }
                break;

            case 2:
                if (voterTemp.myOwner == 2)
                {
                    listOfLocalVoters.Add(tempCollider[i].gameObject);
                }
                break;

            case 3:
                if (voterTemp.myOwner == 3)
                {
                    listOfLocalVoters.Add(tempCollider[i].gameObject);
                }
                break;

            case 4:
                if (voterTemp.myOwner == 4)
                {
                    listOfLocalVoters.Add(tempCollider[i].gameObject);
                }
                break;
            }
        }
        return(listOfLocalVoters);
    }
Esempio n. 3
0
 void movement(Vector3 target)
 {
     for (int i = 0; i < lolv.Count; i++)
     {
         VoterScript otherTemp = lolv[i].GetComponent <VoterScript>();
         otherTemp.curAction = "NotChilling";
         otherTemp.setDest(target);
         //lolv[i].transform.position = Vector3.MoveTowards(transform.position, target, movespeed * Time.deltaTime);
     }
 }
Esempio n. 4
0
 void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Player")
     {
         VoterScript vs = other.GetComponent <VoterScript>();
         if (vs.myOwner != thisowner)
         {
             Destroy(other.gameObject);
             Destroy(this);
         }
     }
 }
Esempio n. 5
0
    //determine units in an area
    void updateVotersInState()
    {
        Collider[] voterList = listOfVoters();

        int i = 0;

        neutralVoters = 0;
        khaledVoters  = 0;
        trumpVoters   = 0;
        cruzVoters    = 0;
        kasichVoters  = 0;
        while (i < voterList.Length && voterList[i].gameObject == voter)
        {
            VoterScript voterTemp = voterList[0].GetComponent <VoterScript>();
            switch (voterTemp.myOwner)
            {
            case 0:
                neutralVoters++; break;

            case 1:
                khaledVoters++; break;

            case 2:
                trumpVoters++; break;

            case 3:
                cruzVoters++; break;

            case 4:
                kasichVoters++; break;
            }
            i++;
        }

        // check that shit though
        if (totalVoters != 0 && areAllForeignVotersTheSame())
        {
            updateOwnerMore();
        }
    }
Esempio n. 6
0
    public void initialize(int x, int y, int size, Player player)
    {
        bgobj      = new GameObject();
        bgobj.name = "BG (" + x + "," + y + ")";
        bgobj.transform.position   = new Vector3((float)x * size, (float)y * size, 0);
        bgobj.transform.localScale = new Vector3(size, size, 1);
        SpriteRenderer rend = bgobj.AddComponent <SpriteRenderer> ();

        rend.sprite       = GameResources.Instance.bgSprite;
        rend.sortingOrder = -1;
        bgobj.AddComponent <BoxCollider2D> ();
        bgobj.GetComponent <BoxCollider2D> ().offset = new Vector2(0.5f, 0.5f);
        VoterScript voterscript = bgobj.AddComponent <VoterScript> ();

        voterscript.voter            = this;
        gameobj                      = new GameObject();
        gameobj.name                 = "Sprite (" + x + "," + y + ")";
        gameobj.transform.position   = new Vector3((float)x * size, (float)y * size, 0);
        gameobj.transform.localScale = new Vector3(size, size, 1);
        rend        = gameobj.AddComponent <SpriteRenderer> ();
        rend.sprite = player.sprite;
    }
Esempio n. 7
0
    IEnumerator SpawnWaves()
    {
        yield return(new WaitForSeconds(startWait));

        while (true)
        {
            //if the owner is neutral, they need to stop producing units. They should stop when they hit their
            //garrison limit. That limit is not set yet, but should be maybe 10/20 depending on game speed.
            if (owner == 0 && listOfLocallyOwnedLocalVoters().Count == garrisonValue)
            {
                yield return(new WaitForSeconds(spawnWait)); yield break;
            }
            Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x) /*+ (float)0.8*/, spawnValues.y, Random.Range(-spawnValues.z, spawnValues.z) /*+ (float)1.7*/);
            Vector3 myPosition    = transform.position;
            spawnPosition += myPosition;
            Quaternion spawnRotation = Quaternion.identity;
            GameObject temp          = null;


            //we start up the voter, the result is an object we "convert" to a gameobject
            temp = (GameObject)Instantiate(voter, spawnPosition, spawnRotation);

            //in order to edit the variables of that object, we have to access its script
            VoterScript tempVoterScript = temp.GetComponent <VoterScript>();

            //send the location of the current province to the voter
            float tempX = thisState.transform.position.x /*+ (float).8*/;
            float tempY = thisState.transform.position.y;
            float tempZ = thisState.transform.position.z /*+ (float)1.7*/;
            tempVoterScript.destinationLocation = new Vector3(tempX, tempY, tempZ);

            //set the colour (using material) based on the owner
            Renderer tempRenderer = temp.GetComponent <Renderer>();
            switch (owner)
            {
            case 0:
                tempRenderer.material   = neutralMaterialRef;
                tempVoterScript.myOwner = 0;
                break;

            case 1:
                tempRenderer.material   = khaledMaterialRef;
                tempVoterScript.myOwner = 1;
                break;

            case 2:
                tempRenderer.material   = trumpMaterialRef;
                tempVoterScript.myOwner = 2;
                break;

            case 3:
                tempRenderer.material   = cruzMaterialRef;
                tempVoterScript.myOwner = 3;
                break;

            case 4:
                tempRenderer.material   = kasichMaterialRef;
                tempVoterScript.myOwner = 4;
                break;
            }

            //need to add check for neutral state, they shouldn't be too high
            yield return(new WaitForSeconds(spawnWait));
        }
    }
Esempio n. 8
0
    // Use this for initialization
    void Start()
    {
        VoterScript vs = this.GetComponent <VoterScript>();

        thisowner = vs.myOwner;
    }