Ejemplo n.º 1
0
    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");
        }
    }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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;
    }
Ejemplo n.º 4
0
 private void OnDestroy()
 {
     foreach (GameObject puppet in puppets)
     {
         PuppetManager script = puppet.GetComponent <PuppetManager>();
         script.sanitized = false;
     }
 }
Ejemplo n.º 5
0
 private void preRoll()
 {
     foreach (GameObject puppet in gameManager.puppets)
     {
         PuppetManager puppetScript = puppet.GetComponent <PuppetManager>();
         puppetScript.muddy = false;
     }
 }
Ejemplo n.º 6
0
 private void setOccupation()
 {
     foreach (GameObject puppet in puppets)
     {
         PuppetManager puppetScript = puppet.GetComponent <PuppetManager>();
         puppetScript.occupation = this;
     }
 }
Ejemplo n.º 7
0
    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");
    }
Ejemplo n.º 8
0
    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;
        }
    }
Ejemplo n.º 9
0
 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;
     }
 }
Ejemplo n.º 10
0
 protected override void specialBuildingAction()
 {
     foreach (GameObject puppet in puppets)
     {
         PuppetManager puppetScript = puppet.GetComponent <PuppetManager>();
         puppetScript.timeInSchool++;
         if (puppetScript.timeInSchool > timeToSchool)
         {
             puppetScript.school();
         }
     }
 }
Ejemplo n.º 11
0
 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;
         }
     }
 }
Ejemplo n.º 12
0
 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;
         }
     }
 }
Ejemplo n.º 13
0
    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);
            }
        }
    }
Ejemplo n.º 14
0
    private void checkIfGameIsWon()
    {
        int counter = 0;

        foreach (GameObject puppet in puppets)
        {
            PuppetManager puppetScript = puppet.GetComponent <PuppetManager>();
            if (puppetScript.sanitized)
            {
                counter++;
            }
            if (counter >= 4)
            {
                winState();
            }
        }
    }
Ejemplo n.º 15
0
    /**
     */
    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();
    }
Ejemplo n.º 16
0
    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);
    }
Ejemplo n.º 17
0
    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;
        }
    }
Ejemplo n.º 18
0
    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);
        }
    }