private void ExecuteAction(NSkillCastInfo cast) { BattleContext context = new BattleContext(this); context.Caster = EntityManager.Instance.GetCreature(cast.casterId); context.Target = EntityManager.Instance.GetCreature(cast.targetId); context.CastSkill = cast; context.Position = cast.Position; if (context.Caster != null) { this.JoinBattle(context.Caster); } if (context.Target != null) { this.JoinBattle(context.Target); } context.Caster.CastSkill(context, cast.skillId); //NetMessageResponse message = new NetMessageResponse(); //message.skillCast = new SkillCastResponse(); //message.skillCast.castInfoes = context.CastSkill; //message.skillCast.Result = context.Result == SkillResult.Ok ? Result.Success : Result.Failed; //message.skillCast.Errormsg = context.Result.ToString(); //this.Map.BroadcastBattleResponse(message); }
internal void Update() { this.CastSkills.Clear(); this.Hits.Clear(); this.BuffAction.Clear(); if (this.Actions.Count > 0) { NSkillCastInfo skillCast = this.Actions.Dequeue(); this.ExecuteAction(skillCast); } this.UpdateUnits(); this.BroadcastHitsMessage(); }
private void ExecuteAction(NSkillCastInfo cast) { BattleContext context = new BattleContext(this); context.Caster = EntityManager.Instance.GetCreature(cast.casterId); context.Target = EntityManager.Instance.GetCreature(cast.targetId); context.CastSkill = cast; // context.Position = cast.Postion; if (context.Caster != null) { this.JoinBattle(context.Caster); } if (context.Target != null) { this.JoinBattle(context.Target); } context.Caster.CastSkill(context, cast.skillId);//执行到帧update执行发送消息 }
public void AddCastSkillInfo(NSkillCastInfo cast) { this.CastSkills.Add(cast); }