Esempio n. 1
0
    public void setCurrentLightType(int type)
    {
        if (type == 0)
        {
            //Debug.Log("Returning some resource");
            float percentageReturn = timeRemaining / lightDuration;
            //Debug.Log(percentageReturn);

            if (currentLightType == 1)
            {
                pScript.addResource(pScript.light1Value * percentageReturn);
                //once it is off remove from the history (for lights away from trav that we turn on/off)
                tMovement.removeFromHistory(gameObject);
                //Debug.Log("Removed from history");
            }
            else if (currentLightType == 2)
            {
                pScript.addResource(pScript.light2Value * percentageReturn);
                //once it is off remove from the history
                tMovement.removeFromHistory(gameObject);
            }
            else if (currentLightType == 3)
            {
                pScript.addResource(pScript.light3Value * percentageReturn);
                mfController.turnOffFX();
            }
            currentLightType = type;
            //turnOffPaths();

            countDown.SetActive(false);

            return;
        }

        currentLightType = type;

        //for if the trav is at a certain light and it turns off, and we turn it on again.
        if (currentLightType == 1 || currentLightType == 2)
        {
            tMovement.removeFromHistory(gameObject);
        }
        timeRemaining = lightDuration;

        if (lampLight)
        {
            startIntensity = lampLight.intensity;
        }

        if (currentLightType == 3)
        {
            mfController.turnOnFX();
        }
    }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        if (Time.timeScale == 0f || inTutorial)
        {
            if (isHealing)
            {
                heldDuration = 0f;
                isHealing    = false;
                if (targetTraveller != null)
                {
                    travellerHealth tScript = targetTraveller.GetComponent <travellerHealth>();
                    if (tScript.isHealingEffectOn())
                    {
                        tScript.stopHealingEffect();
                        healingSFX.Stop();
                    }
                }
                if (travHealingBar.activeInHierarchy)
                {
                    travHealingBar.SetActive(false);
                }
                // moved outside of off claue above (if you move away from trav it'll loop infintely)
                anim.SetBool("isHealing", false);
            }
            return;
        }

        if (Input.GetButtonDown("Circle") || Input.GetKeyDown(KeyCode.Space))
        {
            isHealing = true;
            if (targetTraveller != null && targetTraveller.tag == "Traveller")
            {
                travellerHealth tScript = targetTraveller.GetComponent <travellerHealth>();
                if (tScript.currentHealth != tScript.startingHealth)
                {
                    tScript.startHealEffect();
                    healingSFX.Play();
                }
            }
        }
        if (Input.GetButton("Circle") || Input.GetKey(KeyCode.Space))
        {
            heldDuration += Time.deltaTime;
            if (heldDuration > 0.5f)               //&& !setHealing) {
            //start healing
            //setHealing = true;

            {
                if (targetTraveller != null && targetTraveller.tag == "Traveller")
                {
                    travellerHealth tScript = targetTraveller.GetComponent <travellerHealth>();
                    currentHealTime += Time.deltaTime;
                    if (canHeal)
                    {
                        if (pController.getResource() > 0 && currentHealTime >= timeToHeal)
                        {
                            anim.SetBool("isHealing", true);
                            //tScript.increaseCape();
                            tScript.GetHeal(1);

                            pController.addResource(-1f);

                            currentHealTime = 0f;
                        }

                        return;
                    }

                    //stop healing if we cannot heal
                    else
                    {
                        if (tScript.isHealingEffectOn())
                        {
                            tScript.stopHealingEffect();
                            healingSFX.Stop();
                        }
                        //Debug.Log("stopping effect");
                        //Debug.Log(tScript.currentHealth);
                        //Debug.Log(tScript.startingHealth);
                    }
                }
            }
        }

        if (Input.GetButtonUp("Circle") || Input.GetKeyUp(KeyCode.Space))
        {
            heldDuration = 0f;
            isHealing    = false;
            if (targetTraveller != null)
            {
                travellerHealth tScript = targetTraveller.GetComponent <travellerHealth>();
                if (tScript.isHealingEffectOn())
                {
                    tScript.stopHealingEffect();
                    healingSFX.Stop();
                }
            }
            if (travHealingBar.activeInHierarchy)
            {
                travHealingBar.SetActive(false);
            }
            // moved outside of off claue above (if you move away from trav it'll loop infintely)
            anim.SetBool("isHealing", false);
        }

        if ((Input.GetMouseButtonUp(1) || Input.GetButtonUp("Square")) && stunUnlocked)
        {
            if (pController.getResource() >= 20 && monstersInRange.Count >= 1)
            {
                setStun();
                return;
            }
        }


        if (Input.GetButtonDown("X") || Input.GetMouseButtonDown(0))
        {
            //call stun enemy function
            if (currentTarget != null && currentTarget.tag == "LampLight")
            {
                if (lScript.getCurrentLightType() == 0 && pController.getResource() >= pController.getCurrentResourceNeeded())
                {
                    pController.setTargetLight(currentTarget);
                    //set color
                    lScript.setMiniMapPathColor(pController.equippedLight);
                    lScript.turnOnPaths();


                    //Debug.Log("truning on light");
                    return;
                }
                else if (lScript.getCurrentLightType() > 0)
                {
                    //Debug.Log("turning off light");
                    if (!restrictRecover)
                    {
                        pController.setTargetLight(currentTarget);
                        lScript.setMiniMapPathColor(0);
                        lScript.turnOffPaths();
                    }
                }
            }
        }


        if (currentTarget && (lScript != null))
        {
            //interactionText.text = "Light";
            //popUpText.fontSize = 100;

            if (lScript.getCurrentLightType() != 0)
            {
                //popUpText.fontSize = 110;
                popUpText.text      = "Recover";
                popUpTextCount.text = "(+" + (int)lScript.harvestAmount() + ")";
                // " + (int) lScript.harvestAmount()
            }
            else if (pController.getResource() < pController.getCurrentResourceNeeded())
            {
                //popUpText.fontSize = 70;
                popUpText.text = "Not Enough!";
                if (pController.equippedLight == 1)
                {
                    popUpTextCount.text = "(-10)";
                }
                else if (pController.equippedLight == 2)
                {
                    popUpTextCount.text = "(-15)";
                }
                else if (pController.equippedLight == 3)
                {
                    popUpTextCount.text = "(-15)";
                }
            }
            else
            {
                //popUpText.fontSize = 120;
                popUpText.text = "Ignite";

                if (pController.equippedLight == 1)
                {
                    popUpTextCount.text = "(-10)";
                }
                else if (pController.equippedLight == 2)
                {
                    popUpTextCount.text = "(-15)";
                }
                else if (pController.equippedLight == 3)
                {
                    popUpTextCount.text = "(-15)";
                }

                //(int) pController.getCurrentResourceNeeded() + ")"
                //Debug.Log("Setting to ignite");
            }
            //popUpText.text = "hello";
            //Debug.Log("Could not set text");
            return;
        }


        else
        {
            interactionText.text = "";
            return;
        }
    }