Exemple #1
0
    void Update()
    {
        switch (cStatus)
        {
        case Status.None:
            break;

        case Status.Idle:
            break;

        case Status.Attack:
            iTween.RotateUpdate(gameObject,
                                iTween.Hash("rotation", new Vector3(0, 0, GetAngle(transform.position, TargetEnemy.GetTransform().position)),
                                            "speed", AttackSpeed * 300.0f));
            anm.timeScale             = AttackSpeed;
            anm.AnimationState.Event += HandleEvent;
            CheckDistance(transform.position, TargetEnemy.GetTransform().position, Range);
            break;

        case Status.Skill:
            break;

        case Status.Dead:
            anm.AnimationName = "death";
            anm.loop          = false;
            break;

        default:
            break;
        }
    }
Exemple #2
0
    //  콜백함수. 이벤트 발생시 호출됨
    void HandleEvent(Spine.TrackEntry trackEntry, Spine.Event e)
    {
        //  정확히 타격 판정이 발생하는 부분
        if (e.Data.Name == "hit" && !isAttacked)
        {
            print("event hitttttt");
            Attack();
            isAttacked = true;
        }

        //  공격 후
        if (e.Data.Name == "end attack" && isAttacked)
        {
            print("end Attack");

            //  적이 아직 사거리 내에 있는지 확인
            if (TargetEnemy.isAlive())
            {
                CheckDistance(transform.position, TargetEnemy.GetTransform().position, Range);
            }

            isAttacked = false;
        }
    }
Exemple #3
0
    void Update()
    {
        switch (cStatus)
        {
        case Status.None:
            break;

        case Status.Idle:
            break;

        case Status.Attack:
            iTween.RotateUpdate(gameObject,
                                iTween.Hash("rotation", new Vector3(0, 0, GetAngle(transform.position, TargetEnemy.GetTransform().position)), "time", 0.5f));
            anm.AnimationState.Event += HandleEvent;
            break;

        case Status.Skill:
            break;

        case Status.Dead:
            anm.AnimationName = "death";
            anm.loop          = false;
            break;

        default:
            break;
        }
    }