Beispiel #1
0
        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);
        }
Beispiel #2
0
 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();
 }
Beispiel #3
0
        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执行发送消息
        }
Beispiel #4
0
 public void AddCastSkillInfo(NSkillCastInfo cast)
 {
     this.CastSkills.Add(cast);
 }