Example #1
0
 // Start is called before the first frame update
 void Start()
 {
     hitPoint           = MaxHitPoint;
     instantSkillEffect = null;
     myState            = SkeltonState.AutoAttacking;
     skill = SkeltonSkill.Search;
 }
Example #2
0
 void SkillChange()
 {
     timeLine++;
     if (timeLine == 500)
     {
         myState = SkeltonState.SkillChaging;
         skill   = SkeltonSkill.SphereExplosion;
     }
     else if (timeLine == 1500)
     {
         myState = SkeltonState.SkillChaging;
         skill   = SkeltonSkill.Search;
     }
     else if (timeLine > 2000)
     {
         timeLine = 0;
     }
 }
Example #3
0
    void SkillPlace()
    {
        if (skillPlaced)
        {
            bool attacked = skillPlaceComponent.DangerSkillAttacked("SkillChaging", "Skill");
            if (attacked)
            {
                myState = SkeltonState.AutoAttacking;
                Destroy(instantSkillEffect.gameObject);
                instantSkillEffect = null;
                skillPlaced        = false;
            }
        }
        else
        {
            skillPlaced = true;
            Quaternion effectQua = new Quaternion();
            effectQua          = Quaternion.Euler(new Vector3(-90, 0, 0));
            instantSkillEffect = Instantiate(sphereSkillEffect, transform.position, effectQua);
            instantSkillEffect.transform.parent = transform;

            GameObject ShotSkill = null;

            Vector3 targetPosition = transform.position;
            switch (skill)
            {
            case (SkeltonSkill.SphereExplosion):
                ShotSkill = sphereSkill;
                break;

            case (SkeltonSkill.Search):
                ShotSkill      = searchSkill;
                targetPosition = target.GetPosition();
                break;

            default:
                ShotSkill = sphereSkill;
                break;
            }

            skillPlaceComponent.SkillPlace(ShotSkill, targetPosition, "SkillChaging");
        }
    }