示例#1
0
    public override void Init()
    {
        activeAnimator  = unit.GetComponentInChildren <Animator>();
        unit.damageAct += OnDamageHasTaken;
        targetAim       = unit.GetComponentInChildren <AimTarget>().transform;
        rootBone        = unit.GetComponentInChildren <RootBone>().transform;
        if (activeAnimator)
        {
            ik = activeAnimator.gameObject.AddComponent <AnimatorIk>();
            ik.Init(targetAim, activeAnimator, rootBone);
        }
        DOVirtual.DelayedCall(0.1f, () =>
        {
            moveSkill               = unit.unitBase.GetSkillByName("Move") as Move3d;
            attackSkill             = unit.unitBase.GetSkillByName("Attack") as ProjectilesAttack;
            moveSkill.move         += Walk;
            moveSkill.startCrouch  += Sitting;
            moveSkill.endCrouch    += Sitting;
            moveSkill.startJump    += Jump;
            moveSkill.startRotate  += Rotate;
            attackSkill.madeAttack += Attack;
        });

        if (ik)
        {
            DOVirtual.DelayedCall(Time.deltaTime, () =>
            {
                SetAimFlag((activeAnimator.GetBool("Aiming")));
            }).SetLoops(-1).SetTarget(unit.gameObject).SetUpdate(UpdateType.Late)
            ;
        }
    }
示例#2
0
 // Use this for initialization
 void Start()
 {
     anim   = GetComponent <Animator>();
     move   = GetComponent <Move3d>();
     jump   = GetComponent <Jump3d>();
     dash   = GetComponent <Dash>();
     attack = GetComponent <Attack>();
 }