Example #1
0
    // Update is called once per frame
    void Update()
    {
        nvAgent.destination = Closest().position;

        distance   = Vector3.Distance(Closest().position, wifeTr.position);
        WNDistance = Vector3.Distance(tempTr.position, wifeTr.position);

        if (distance < 20)
        {
            Current_State = Unit_State.Get_State;
        }
        else
        {
            Current_State = Unit_State.Find_State;
        }

        if (WNDistance < 0.3f)
        {
            nvAgent.destination = wifeTr.position;
            isStaying           = true;
            if (isComplete)
            {
                StartCoroutine(Chase_Complete());
            }
        }
        WHDistance = Vector3.Distance(wifeTr.position, playerTr.position);
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.W) == true)
        {
            PlayerTr.transform.Translate(Vector3.forward * Speed * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.S) == true)
        {
            PlayerTr.transform.Translate(-Vector3.forward * Speed * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.A) == true)
        {
            PlayerTr.transform.Translate(Vector3.left * Speed * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.D) == true)
        {
            PlayerTr.transform.Translate(-Vector3.left * Speed * Time.deltaTime);
        }

        if (Input.GetKey(KeyCode.Space) == true)
        {
            Current_State = Unit_State.Get_State;
            flag          = Cube_distance.get();
            if (flag)
            {
                flag = false;
                Destroy(CubeTr.gameObject);
                Text.SetActive(true);
                Button.SetActive(true);
                //CubeTr = GameObject.FindWithTag("cube").GetComponent<Transform>();
                //Cube_distance = GameObject.FindWithTag("cube").gameObject.GetComponent<Cube>();
            }
            StartCoroutine(Get_Time());
        }
    }
Example #3
0
    void Battle()
    {
        mAnimator.SetBool("Iswalk", false);
        mAnimator.SetBool("Isattack", true);

        if (SBattleManager.Instance.EnemyList.Count == 0)
        {
            Current_State = Unit_State.Wining_State;
            return;
        }
        else if (target == null)
        {
            Current_State = Unit_State.Find_State;
            return;
        }

        switch (target.tag)
        {
        case "Goblin":
            target.GetComponent <Monster_Goblin>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Goblin>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Skeleton":
            target.GetComponent <Monster_Skeleton>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Skeleton>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Boss":
            target.GetComponent <Monster_Boss>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Boss>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "EnemySaber":
            target.GetComponent <Monster_Saber>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Saber>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;
        }
        Agil = Random.Range(0.90f, 0.96f);
    }
 void Win()
 {
     mAnimator.SetBool("Iswalk", false);
     LockOn = false;
     if (SBattleManager.Instance.EnemyList.Count != 0)
     {
         FindTarget();
         Current_State = Unit_State.Find_State;
     }
 }
    // Update is called once per frame
    void Update()
    {
        mAnimator.SetBool("Isattack", false);
        CheckAlive();

        if (SBattleManager.Instance.UnitList.Count <= 0 && SBattleManager.Instance.HeroList.Count <= 0)
        {
            Current_State = Unit_State.Wining_State;
        }
    }
Example #6
0
    void MoveToTarget() // 적한테 이동함수
    {
        if (SBattleManager.Instance.EnemyList.Count > 0)
        {
            nvAgent.destination = target.transform.position;
            mAnimator.SetBool("Iswalk", true);

            switch (target.tag)
            {
            case "Goblin":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "Skeleton":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }

                break;

            case "Boss":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }

                break;
            }
        }
    }
 void Win()
 {
     mAnimator.SetBool("Isidle", true);
     mAnimator.SetBool("Iswalk", false);
     LockOn = false;
     if (SBattleManager.Instance.UnitList.Count != 0 || SBattleManager.Instance.HeroList.Count != 0)
     {
         FindTarget();
         Current_State = Unit_State.Find_State;
     }
 }
Example #8
0
    // Update is called once per frame
    void Update()
    {
        mAnimator.SetBool("Isattack", false);
        mAnimator.SetBool("Isattack2", false);

        CheckAlive();

        if (SBattleManager.Instance.EnemyList.Count == 0)
        {
            Current_State = Unit_State.Wining_State;
        }
    }
Example #9
0
    void Start()
    {
        LockOn = false;

        nvAgent = gameObject.GetComponent <NavMeshAgent>();

        mAnimator = gameObject.GetComponent <Animator>(); //애니메이션할 객체 얻기

        mAnimator.SetBool("Isattack", false);
        mAnimator.SetBool("Iswalk", true);

        Current_State = Unit_State.Find_State;

        StartCoroutine(SetAnimator());
    }
Example #10
0
    void Start()
    {
        LockOn = false;
        GameObject Curespell = (GameObject)Instantiate(SummonPrefab, gameObject.transform.position, Quaternion.identity);

        nvAgent = gameObject.GetComponent <NavMeshAgent>();

        mAnimator = gameObject.GetComponent <Animator>(); //애니메이션할 객체 얻기

        mAnimator.SetBool("Isattack", false);
        mAnimator.SetBool("Isattack2", false);
        mAnimator.SetBool("Iswalk", true);

        Current_State = Unit_State.Find_State;
        Destroy(Curespell, Curespell.GetComponent <ParticleSystem>().duration + 1f);
        StartCoroutine(SetAnimator());
    }
Example #11
0
    void Battle()
    {
        ATKAnimaton();

        if (SBattleManager.Instance.EnemyList.Count == 0)
        {
            Current_State = Unit_State.Wining_State;
            return;
        }
        else if (target == null)
        {
            Current_State = Unit_State.Find_State;
            return;
        }

        switch (target.tag)
        {
        case "Goblin":
            target.GetComponent <Monster_Goblin>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Goblin>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Skeleton":
            target.GetComponent <Monster_Skeleton>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Skeleton>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Boss":
            target.GetComponent <Monster_Boss>().SetUnitHp(ATK);
            if (target.GetComponent <Monster_Boss>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;
        }
    }
Example #12
0
    IEnumerator Get_Time()
    {
        yield return(new WaitForSeconds(3.0f));

        Current_State = Unit_State.Find_State;
    }
Example #13
0
    void Battle()
    {
        mAnimator.SetBool("Iswalk", false);
        mAnimator.SetBool("Isattack", true);

        if (SBattleManager.Instance.UnitList.Count <= 0 && SBattleManager.Instance.HeroList.Count <= 0)
        {
            Current_State = Unit_State.Wining_State;
            return;
        }
        else if (target == null)
        {
            Current_State = Unit_State.Find_State;
            return;
        }

        switch (target.tag)
        {
        case "Saber":
            target.GetComponent <Unit_Saber>().SetUnitHp(ATK);
            if (target.GetComponent <Unit_Saber>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Archer":
            target.GetComponent <Unit_Archer>().SetUnitHp(ATK);
            if (target.GetComponent <Unit_Archer>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Lancer":
            target.GetComponent <Unit_Lancer>().SetUnitHp(ATK);
            if (target.GetComponent <Unit_Lancer>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Rider":
            target.GetComponent <Unit_Rider>().SetUnitHp(ATK);
            if (target.GetComponent <Unit_Rider>().GetUnitHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "SpartanKing":
            target.GetComponent <Hero_SpartanKing>().SetHeroHp(ATK);
            if (target.GetComponent <Hero_SpartanKing>().GetHeroHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Stealth":
            target.GetComponent <Hero_Stealth>().SetHeroHp(ATK);
            if (target.GetComponent <Hero_Stealth>().GetHeroHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;

        case "Unitychan":
            target.GetComponent <Hero_Unitychan>().SetHeroHp(ATK);
            if (target.GetComponent <Hero_Unitychan>().GetHeroHP() <= 0)
            {
                LockOn        = false;
                Current_State = Unit_State.Find_State;
            }
            break;
        }
    }
Example #14
0
    void MoveToTarget() // 적한테 이동함수
    {
        if (SBattleManager.Instance.UnitList.Count > 0 || SBattleManager.Instance.HeroList.Count > 0)
        {
            nvAgent.destination = target.transform.position;
            mAnimator.SetBool("Iswalk", true);

            switch (target.tag)
            {
            case "Saber":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "Archer":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "Lancer":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "Rider":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "SpartanKing":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }

                break;

            case "Stealth":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;

            case "Unitychan":
                if (!LockOn)
                {
                    if (Vector3.Distance(target.transform.position, gameObject.transform.position) <= RANGE)
                    {
                        LockOn = true;
                    }
                }
                else
                {
                    Current_State = Unit_State.Battle_State;
                }
                break;
            }
        }
    }