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); }
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); }
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); } }
void OnTriggerEnter(Collider other) { if (other.tag == "Player") { VoterScript vs = other.GetComponent <VoterScript>(); if (vs.myOwner != thisowner) { Destroy(other.gameObject); Destroy(this); } } }
//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(); } }
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; }
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)); } }
// Use this for initialization void Start() { VoterScript vs = this.GetComponent <VoterScript>(); thisowner = vs.myOwner; }