Ejemplo n.º 1
0
    void OnTriggerExit(Collider col)
    {
        StopAllCoroutines();
        if (col.tag == "Player")
        {
            customCharController player = col.transform.GetComponent <customCharController>();
            if (player != null && player.isDead != true)
            {
                isCausingDamage = false;
            }

            if (col.tag == "tent")
            {
                isCausingDamage = false;
            }
        }
        agent.SetDestination(mainBase.transform.position);
        if (col.transform.tag == "tent")
        {
            BaseScript baseScript = col.transform.GetComponent <BaseScript>();
            if (baseScript != null)
            {
                isCausingDamage = false;
            }
        }
    }
Ejemplo n.º 2
0
    public override void performAction()
    {
        pursuedPlayer   = GetComponentInParent <CanSeePlayer>().pursuedPlayers[0];
        isCausingDamage = true;
        anim.SetBool("run", false);
        agent.SetDestination(transform.position);
        customCharController controller = pursuedPlayer.GetComponentInParent <customCharController>();

        if (controller != null && controller.isDead != true)
        {
            agent.SetDestination(transform.position);

            ////SetEnemyRotation
            //var lookPos = pursuedPlayer.transform.position - transform.position;
            //lookPos.y = 0;
            //var rotation = Quaternion.LookRotation(lookPos);
            //transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * 30f);


            anim.SetBool("run", false);
            if (canAttackFlag == true)
            {
                StartCoroutine(TakeDamage(controller, damageRepeatRate));
            }
            canAttackFlag = false;
        }
    }
Ejemplo n.º 3
0
    void OnTriggerStay(Collider col)
    {
        customCharController player = col.transform.GetComponent <customCharController>();

        if (player != null && player.isDead == true)
        {
            agent.SetDestination(mainBase.transform.position);
        }
    }
Ejemplo n.º 4
0
 protected override bool isValid()
 {
     if (pursuedPlayers.Count > 0)
     {
         customCharController playerController = pursuedPlayers[0].GetComponent <customCharController>();
         return(playerController.isPursued && playerController.isDead != true);
     }
     return(false);
 }
Ejemplo n.º 5
0
    public void CloseMessagePanel(customCharController player)
    {
        GameObject mPannel = findCurrentPanelByPlayer(player);

        if (mPannel != null)
        {
            mPannel.SetActive(false);
            mIsMessagePanelOpened = false;
        }
    }
Ejemplo n.º 6
0
    private void OnTriggerExit(Collider other)
    {
        //GameObject player = other.gameObject;
        customCharController player = other.GetComponent <customCharController>();

        if (player != null)
        {
            Hud.CloseMessagePanel(player);
        }
    }
Ejemplo n.º 7
0
    private void OnTriggerEnter(Collider other)
    {
        //other.gameObject;
        //GameObject player = other.gameObject;
        customCharController player = other.GetComponent <customCharController>();

        if (player != null)
        {
            Hud.OpenMessagePanel(player, InteractText);
        }

        /*customCharController player = other.GetComponent<customCharController>();
         */
    }
Ejemplo n.º 8
0
    private void OnTriggerEnter(Collider other)
    {
        customCharController player = other.GetComponent <customCharController>();

        if (player != null)
        {
            //OnPickup();
            player.addItemPlayer(this);
            //Hud.OpenMessagePanel(player, InteractText);
        }

        /*customCharController player = other.GetComponent<customCharController>();
         */
    }
Ejemplo n.º 9
0
    //Tower stuff


    // Use this for initialization
    void OnEnable()
    {
        index     = (int)char.GetNumericValue(this.tag[6]) - 1;
        showTower = new bool[4];
        //int val = (int)Char.GetNumericValue('8');
        Debug.Log(showTower[index]);

        controller = GetComponent <customCharController>();
        controller.OnTowerPlacementMechanicActive += HandleTowerPlacementMechanic;

        tower = this.transform.GetChild(3).gameObject;
        tower.GetComponent <TowerBehaviour>().enabled = false;
        tower.SetActive(false);
    }
Ejemplo n.º 10
0
    IEnumerator TakeDamage(customCharController controller, float damageRepeatRate)
    {
        canAttackFlag = false;
        anim.SetTrigger("attack_1");
        yield return(new WaitForSeconds(hitDelay));

        //RaycastHit hit;

        pursuedPlayer.GetComponent <customCharController>().TakeDamge(damage);

        TakeDamage(controller, damageRepeatRate);
        yield return(new WaitForSeconds(damageRepeatRate));

        canAttackFlag = true;
    }
Ejemplo n.º 11
0
    public void OpenMessagePanel(customCharController player, string gameText)
    {
        GameObject mPannel = findCurrentPanelByPlayer(player);

        if (mPannel != null)
        {
            mPannel.SetActive(true);

            Text mpText = mPannel.transform.Find("Text").GetComponent <Text>();
            mpText.text = gameText;


            mIsMessagePanelOpened = true;
        }
    }
Ejemplo n.º 12
0
    IEnumerator TakeDamage(customCharController controller, float damageRepeatRate)
    {
        while (isCausingDamage && controller.isDead != true && restartCoroutine == true)
        {
            anim.SetTrigger("attack_1");
            yield return(new WaitForSeconds(hitDelay));

            RaycastHit hit;
            if (Physics.Raycast(transform.position, transform.forward, out hit, rayRange))
            {
                hit.transform.GetComponent <customCharController>().TakeDamge(damage);
            }
            TakeDamage(controller, damageRepeatRate);
            yield return(new WaitForSeconds(damageRepeatRate));
        }
    }
Ejemplo n.º 13
0
 private GameObject findCurrentPanelByPlayer(customCharController player)
 {
     if (player.tag == "Player1")
     {
         return(Player1MessagePanel);
     }
     if (player.tag == "Player2")
     {
         return(Player2MessagePanel);
     }
     if (player.tag == "Player3")
     {
         return(Player3MessagePanel);
     }
     if (player.tag == "Player4")
     {
         return(Player4MessagePanel);
     }
     return(null);
 }
Ejemplo n.º 14
0
    public override void performAction()
    {
        pursuedPlayer   = GetComponentInParent <CanSeePlayer>().pursuedPlayers[0];
        isCausingDamage = true;
        anim.SetBool("run", false);
        agent.SetDestination(transform.position);
        customCharController controller = pursuedPlayer.GetComponentInParent <customCharController>();

        if (controller != null && controller.isDead != true)
        {
            agent.SetDestination(transform.position);

            anim.SetBool("run", false);
            if (canAttackFlag == true)
            {
                StartCoroutine(TakeDamage(controller, damageRepeatRate));
            }
            canAttackFlag = false;
        }
    }
Ejemplo n.º 15
0
    IEnumerator TakeDamage(customCharController controller, float damageRepeatRate)
    {
        canAttackFlag = false;
        anim.SetTrigger("attack_1");
        this.transform.LookAt(pursuedPlayer.transform.position);
        yield return(new WaitForSeconds(hitDelay));

        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit, 2.5f))
        {
            hit.transform.GetComponent <customCharController>().TakeDamage(damage);
        }
        Debug.Log("this");


        TakeDamage(controller, damageRepeatRate);
        yield return(new WaitForSeconds(damageRepeatRate));

        canAttackFlag = true;
    }
Ejemplo n.º 16
0
 void OnTriggerEnter(Collider col)
 {
     isCausingDamage = true;
     if (col.transform.tag == "Player")
     {
         customCharController player = col.transform.GetComponent <customCharController>();
         if (player != null && player.isDead != true)
         {
             if (repeating)
             {
                 StartCoroutine(TakeDamage(player, damageRepeatRate));
             }
             else
             {
                 player.TakeDamge(damage);
             }
         }
     }
     if (col.transform.tag == "tent")
     {
         Debug.Log("I have collided with the tent");
         BaseScript baseScript = col.transform.GetComponentInParent <BaseScript>();
         if (baseScript != null && baseScript.isDestroyed != true)
         {
             agent.SetDestination(transform.position);
             anim.SetBool("run", false);
             if (repeating)
             {
                 StartCoroutine(TakeDamage(baseScript, damageRepeatRate));
             }
             else
             {
                 baseScript.TakeDamage(damage);
             }
         }
     }
 }