public void CastSpell(int index)
 {
     if (LockOnBehaviour.LockedOntoBody != null)
     {
         Skills.GetSkills()[index].GetEmitter().Emit(
             new OnPointTargetCastEventData(
                 gameObject,
                 LockOnBehaviour.LockedOntoBody.position,
                 Stats
                 )
             );
         Skills.GetSkills()[index].GetEmitter().Emit(
             new OnLockedTargetCastEventData(
                 LockOnBehaviour.LockedOntoBody.gameObject,
                 gameObject
                 )
             );
     }
     else
     {
         Skills.GetSkills()[index].GetEmitter().Emit(
             new OnPointTargetCastEventData(
                 gameObject,
                 MousePointToWorldPos(),
                 Stats
                 )
             );
     }
 }
Beispiel #2
0
 void Start()
 {
     for (int n = 0; n < SkillButtons.Length; n++)
     {
         if (n < Skills.GetSkills().Count)
         {
             Skill s = Skills.GetSkills()[n];
             SkillButtons[n].image.sprite = s.UISkillImage;
             int cIndex = n;
             SkillButtons[n].onClick.AddListener(delegate(){
                 PlayerAttack.CastSpell(cIndex);
             });
         }
     }
 }
 void Start()
 {
     GoapSystem.Events.Add(
         new GoapFunctionPair(
             AttackPlayerWhenClose,
             LaunchAttack
             )
         );
     Skills.GetSkills()[1]
     .GetEmitter()
     .Emit(new OnPassiveCastEventData(Slime.gameObject));
     Skills.GetSkills()[0]
     .GetHandler()
     .OnEndCast
     .AddListener(AttackEnd);
     Skills.GetSkills()[0]
     .GetHandler()
     .OnCastHitTarget
     .AddListener(AttackConnect);
 }