public void CancelSkill() { this.so.EventGroup.FireEvent((int)Event.Cancelskill, so, EventGroup.NewArg <EventSingleArgs <string>, string>(RunningSkill.SourceData.path)); RunningSkill.Cancel(); Pool.SP.Recycle(RunningSkill); RunningSkill = null; }
internal void Update(float deltaTime) { if (RunningSkill != null) { RunningSkill.Breath(deltaTime); } }
internal void FixedUpdate() { if (RunningSkill != null) { RunningSkill.FixedBreath(); } }
private void ReleaseSkill(string path, RuntimeData srd) { var skill = GetSkill(path); if (srd.receiver != null && skill.ForceFaceToTarget) { so.Forward = (srd.receiver.Position - so.Position).Normalize(); } RunningSkill = Pool.SP.Get(typeof(RuntimeSkill)) as RuntimeSkill; RunningSkill.Init(skill, srd); RunningSkill.FinishAction = OnFinish; this.so.EventGroup.FireEvent((int)Event.Startskill, so, EventGroup.NewArg <EventSingleArgs <string>, string>(path)); }