public void addPuppet(GameObject puppet) { if (puppets.Count < 6) { if (buildingMaterials >= 20 && food >= 20) { setWood(-20); setFood(-20); int puppetId = findEmptyPuppetSlot(); GameObject newPuppet = Instantiate(puppet); PuppetManager puppetManager = newPuppet.GetComponent <PuppetManager>(); puppetManager.puppetId = puppetId; //puppetSlots[puppetId].SetActive(true); PuppetPanel slotScript = (PuppetPanel)puppetSlots[puppetId].GetComponent(typeof(PuppetPanel)); slotScript.puppetSlot = newPuppet; puppets.Add(newPuppet); } else { showEventPanel("You don't have enough resources to create a puppet!"); if (puppets.Count == 0) { gameOverScreen.SetActive(true); } } } else { Debug.Log("No slots available"); } }
public void startMission2() { GameObject gameManager = GameObject.FindGameObjectWithTag("GameController"); GameManager script = gameManager.GetComponent <GameManager>(); CreateMissions createMissions = gameManager.GetComponent <CreateMissions>(); foreach (GameObject puppet in script.puppets) { PuppetManager pupje = puppet.GetComponent <PuppetManager>(); if (!pupje.busy) { optionalPuppets.Add(puppet); } } int nonBusyPuppetCount = optionalPuppets.Count; if (nonBusyPuppetCount > 0) { int puppetSelect = UnityEngine.Random.Range(0, nonBusyPuppetCount); GameObject chosenOne = optionalPuppets[puppetSelect]; PuppetManager chosenOneScript = chosenOne.GetComponent <PuppetManager>(); chosenOneScript.busy = true; chosenOneScript.onMission = true; chosenOneScript.startMission(createMissions.missionDuration2, createMissions.missionRisk2, createMissions.missionReward2, createMissions.missionType2, 2, missionBusy2, missionOverview2); optionalPuppets.Clear(); } else { warning2.GetComponent <CanvasRenderer>().SetAlpha(1f); warning2.GetComponentInChildren <Text>().text = "All of your puppets seem to be busy."; warning2.CrossFadeAlpha(0.0f, 2.0f, true); } }
private void updateText() { Text textObject = Text.GetComponent <Text>(); PuppetManager script = puppetSlot.GetComponent <PuppetManager>(); textObject.text = "Name: " + script.firstName + " " + script.surname + System.Environment.NewLine + "hygiene: " + script.hygiene; }
private void OnDestroy() { foreach (GameObject puppet in puppets) { PuppetManager script = puppet.GetComponent <PuppetManager>(); script.sanitized = false; } }
private void preRoll() { foreach (GameObject puppet in gameManager.puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); puppetScript.muddy = false; } }
private void setOccupation() { foreach (GameObject puppet in puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); puppetScript.occupation = this; } }
public void wash() { PuppetManager puppetScript = transform.parent.gameObject.GetComponent <PuppetPanel>().puppetSlot.GetComponent <PuppetManager>(); puppetScript.hygiene = 100; puppetScript.sick = false; GetComponent <saveGame>().SaveGame(); Application.LoadLevel("WashingGame"); }
protected override void specialBuildingAction() { Debug.Log("Puppet is getting washed"); GameObject secondOldestPuppet = null; GameObject oldestPuppet = null; foreach (GameObject puppet in puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); PuppetManager oldestPuppetScript = null; PuppetManager secondOldestPuppetScript = null; if (oldestPuppet != null) { oldestPuppetScript = oldestPuppet.GetComponent <PuppetManager>(); } if (secondOldestPuppet != null) { secondOldestPuppetScript = secondOldestPuppet.GetComponent <PuppetManager>(); } if (oldestPuppet == null) { oldestPuppet = puppet; } else if (secondOldestPuppet == null) { secondOldestPuppet = puppet; } else if (puppetScript.getAge() > oldestPuppetScript.getAge()) { secondOldestPuppet = oldestPuppet; oldestPuppet = puppet; } else if (puppetScript.getAge() > secondOldestPuppetScript.getAge()) { secondOldestPuppet = puppet; } } if (oldestPuppet != null) { PuppetManager oldestPuppetScriptFinal = oldestPuppet.GetComponent <PuppetManager>(); oldestPuppetScriptFinal.sanitize(); oldestPuppetScriptFinal.sick = false; oldestPuppetScriptFinal.hygiene = 100; } if (secondOldestPuppet != null) { PuppetManager secondOldestPuppetScriptFinal = secondOldestPuppet.GetComponent <PuppetManager>(); secondOldestPuppetScriptFinal.sanitize(); secondOldestPuppetScriptFinal.sick = false; secondOldestPuppetScriptFinal.hygiene = 100; } }
public void checkSlots() { foreach (GameObject puppet in puppets) { PuppetManager puppetManager = puppet.GetComponent <PuppetManager>(); GameObject slot = puppetSlots[puppetManager.puppetId]; PuppetPanel puppetPanelScript = slot.GetComponent <PuppetPanel>(); puppetPanelScript.puppetSlot = puppet; } }
protected override void specialBuildingAction() { foreach (GameObject puppet in puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); puppetScript.timeInSchool++; if (puppetScript.timeInSchool > timeToSchool) { puppetScript.school(); } } }
public void removePuppet(GameObject puppetToRemove) { foreach (GameObject puppet in puppets) { if (puppetToRemove == puppet) { PuppetManager puppetScript = (PuppetManager)puppetToRemove.GetComponent(typeof(PuppetManager)); puppetScript.busy = false; puppets.Remove(puppetToRemove); updateText(); return; } } }
public void removePuppet(GameObject puppetToRemove) { Debug.Log("Removing puppet.."); foreach (GameObject puppet in puppets) { if (puppetToRemove == puppet) { PuppetManager puppetManager = puppet.GetComponent <PuppetManager>(); //Change slot icon to empty puppets.Remove(puppetToRemove); Destroy(puppet); return; } } }
public void updatePuppets(List <GameObject> puppets) { List <GameObject> tempPuppets; tempPuppets = puppets; foreach (GameObject puppet in tempPuppets.ToArray()) { PuppetManager puppetManager = puppet.GetComponent <PuppetManager>(); if (puppetManager.notifyPuppetEndTurn()) { removePuppet(puppet); } } }
private void checkIfGameIsWon() { int counter = 0; foreach (GameObject puppet in puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); if (puppetScript.sanitized) { counter++; } if (counter >= 4) { winState(); } } }
/** */ public void addPuppet(GameObject puppet) { PuppetManager puppetScript = (PuppetManager)puppet.GetComponent(typeof(PuppetManager)); if (puppets.Count < slots && !puppetScript.busy) { puppetScript.busy = true; puppetScript.working = this; if (build) { puppetScript.occupation = this; } puppets.Add(puppet); } else { Debug.Log("No slots available"); } updateText(); }
public bool checkAvailableMissions() { GameObject gameManager = GameObject.FindGameObjectWithTag("GameController"); GameManager script = gameManager.GetComponent <GameManager>(); CreateMissions createMissions = gameManager.GetComponent <CreateMissions>(); foreach (GameObject puppet in script.puppets) { PuppetManager pupje = puppet.GetComponent <PuppetManager>(); if (!pupje.busy) { optionalPuppets.Add(puppet); } } if (optionalPuppets.Count == 0) { return(true); } return(false); }
public void rollEvent() { preRoll(); int randomNumber = Random.Range(1, 100); Debug.Log("event RNG roll: " + randomNumber); if (randomNumber <= 50) { return; } // Lightning Strike if (randomNumber > 50 && randomNumber <= 55) { // rip puppet } // Thief if (randomNumber > 55 && randomNumber <= 60) { gameManager.setFood(-10); gameManager.showEventPanel("A thief stole your 10 of your food!"); return; } // Fire if (randomNumber > 60 && randomNumber <= 65) { gameManager.setWood(-10); gameManager.showEventPanel("A fire burned 10 of your wood!"); return; } // Flood if (randomNumber > 65 && randomNumber <= 70) { // All farms that do not have the flood wall upgrade have their growing phase reset to 0/2 sowing return; } // Wind storm if (randomNumber > 70 && randomNumber <= 75) { // Destroy one random building without the sturdy walls upgrade return; } // Traveling Shop if (randomNumber > 75 && randomNumber <= 80) { // Traveling shop appears in the village until the next event triggers return; } // Food poisoning if (randomNumber > 90 && randomNumber <= 85) { foreach (GameObject puppet in gameManager.puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); if (!puppetScript.sick) { puppetScript.sick = true; gameManager.showEventPanel("One of your puppets got sick!"); // puppet is sick break; } } return; } // Gift if (randomNumber > 85 && randomNumber <= 90) { gameManager.showEventPanel("You have received 5 food and 5 wood!"); gameManager.setFood(5); gameManager.setWood(5); return; } // Wanderer if (randomNumber > 90 && randomNumber <= 95) { //Player gets a free new puppet.Puppet type is random from those unlocked.If player has max number of puppets, no effect. return; } // Heavy rain if (randomNumber > 95 && randomNumber <= 100) { foreach (GameObject puppet in gameManager.puppets) { PuppetManager puppetScript = puppet.GetComponent <PuppetManager>(); if (!puppetScript.sanitized) { puppetScript.muddy = true; } } return; } }
private void updateSlot() { if (puppetSlot != null) { launchPuppetWashing.SetActive(true); healthIcon.SetActive(true); PuppetManager puppetScript = puppetSlot.GetComponent <PuppetManager>(); GetComponent <Image>().sprite = puppetSprite; if (isOver) { if (Input.GetMouseButtonDown(1)) { if (puppetSlot != null) { puppetScript.removeAllActivities(); } } } if (puppetScript.occupation != null) { occupationIcon.SetActive(true); overImageOccupation.SetActive(false); switch (puppetScript.occupation.buildingName) { case "farm": occupationIcon.GetComponent <Image>().sprite = farmSprite; break; case "workshop": occupationIcon.GetComponent <Image>().sprite = workshopSprite; break; case "sanitation": occupationIcon.GetComponent <Image>().sprite = sanitationSprite; break; case "school": occupationIcon.GetComponent <Image>().sprite = schoolSprite; break; } } else if (puppetScript.busy) { if (puppetScript.working == null) { overImageOccupation.SetActive(true); launchPuppetWashing.SetActive(false); overImageOccupation.GetComponent <Image>().sprite = onMission; } else { overImageOccupation.SetActive(true); launchPuppetWashing.SetActive(false); overImageOccupation.GetComponent <Image>().sprite = building; } } else { occupationIcon.SetActive(false); overImageOccupation.SetActive(false); } if (puppetScript.sick) { healthIcon.GetComponent <Image>().sprite = unhealthyPuppet; } else { healthIcon.GetComponent <Image>().sprite = healthyPuppet; } } else { GetComponent <Image>().sprite = emptySprite; healthIcon.SetActive(false); occupationIcon.SetActive(false); overImageOccupation.SetActive(false); launchPuppetWashing.SetActive(false); } }