示例#1
0
文件: Slam.cs 项目: rdshack/CProto
    public override void Execute()
    {
        base.Execute();

        isActive = true;
        nextStateTime = Time.time + 0.4f;
        state = SlamStates.Casting;

        gc.controller.LockY = true;
        gc.controller.CurInfluenceX = 0;
        gc.controller.CurExternalVeloX = 0;

        animator.speed = 1.5f;
        animator.CrossFade(HashLookup.slamHash, 0.1f, 0, 0);
    }
示例#2
0
文件: Slam.cs 项目: rdshack/CProto
    //called from girl controller Update() while this ability is active
    public override void ActiveUpdate()
    {
        if (state == SlamStates.Casting)
        {
            if (Time.time > nextStateTime)
            {
                state = SlamStates.PreImpact;
                nextStateTime = Time.time + 0.15f;

                gc.controller.LockY = false;
                gc.controller.CurExternalVeloY = -40f;
            }
        }

        else if (state == SlamStates.PreImpact)
        {
            if (!gc.IsAirborne)
            {
                state = SlamStates.PostImpact;
                nextStateTime = Time.time + 0.25f;
                animator.speed = 1f;
                animator.CrossFade(HashLookup.slamHash, 0.1f, 0, 0.55f);

                SpawnDamageEffect();
            }

            if (Time.time > nextStateTime)
            {
                isActive = false;
                animator.speed = 1f;
                animator.CrossFade(HashLookup.loopJumpHash, 0.1f, 0, 0);
                gc.controller.CurExternalVeloY = 0f;
            }
        }

        else if (state == SlamStates.PostImpact)
        {
            if (Time.time > nextStateTime)
            {
                isActive = false;
            }
        }
    }
示例#3
0
文件: Slam.cs 项目: rdshack/CProto
    public void HandleJumpPad()
    {
        if (state == SlamStates.PreImpact)
        {
            SpawnDamageEffect();
            state = SlamStates.Casting;
        }

        isActive = false;
    }