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) ; } }
// Use this for initialization void Start() { anim = GetComponent <Animator>(); move = GetComponent <Move3d>(); jump = GetComponent <Jump3d>(); dash = GetComponent <Dash>(); attack = GetComponent <Attack>(); }