asmrobot
2019-10-16 5597c0b354f881994a75878731c3a02183e9c970
src/RichCreator/StateMachines/KillMonsterStateMachine.cs
@@ -33,7 +33,7 @@
    /// <summary>
    /// 杀怪状态机
    /// </summary>
    public class KillMonsterStateMachine
    public class KillMonsterStateMachine:StateMachineBase
    {
        private const Int32 NoMoveMaxMillSecond = 2000;//最大未移动容忍毫秒数
        private StateAction[] states;//状态动作列表
@@ -86,7 +86,7 @@
        /// <param name="cancellationToken"></param>
        /// <param name="timeoutMillSecond"></param>
        /// <returns></returns>
        public Int32 Start(CancellationToken cancellationToken, Int32 timeoutMillSecond)
        public ZTResult Work(CancellationToken cancellationToken, Int32 timeoutMillSecond)
        {
            DateTime expireTime = DateTime.Now.AddMilliseconds(timeoutMillSecond);
            KillMonsterStateResult result = new KillMonsterStateResult(STATE_Start, false);
@@ -107,14 +107,14 @@
                {
                    G.Instance.DebugWriter("取消刷图");
                    this.moveState.StopMove();
                    return JobResult.Cancel;
                    return ZTResult.Cancel;
                }
                if (DateTime.Now > expireTime)
                {
                    G.Instance.DebugWriter("刷图超时");
                    this.moveState.StopMove();
                    return JobResult.Timeout;
                    return ZTResult.Timeout;
                }
                if (result.NextState == STATE_Exit)
                {
@@ -122,9 +122,9 @@
                    this.moveState.StopMove();
                    if (this.exitResult)
                    {
                        return JobResult.Success;
                        return ZTResult.Success;
                    }
                    return JobResult.Failed;
                    return ZTResult.Failed;
                    
                }
@@ -154,13 +154,13 @@
                                }
                            }, 50))
                            {
                                return JobResult.Failed;
                                return ZTResult.Failed;
                            }
                        }
                        if (houseIndex != this.house.Index)
                        {
                            this.moveState.StopMove();
                            return JobResult.Success;
                            return ZTResult.Success;
                        }
                    }                    
                }
@@ -661,5 +661,21 @@
        }
        #endregion
        /// <summary>
        /// 杀怪状态
        /// </summary>
        public enum KillMonsterStates:Int32
        {
                FindMonster = 0,//找怪
                PrepareReleaseSkill = 1,//释放技能预处理,计算位置
                ReleaseSkill = 2,//释放技能
                DetectDoorIsOpen = 3,//查找进入下一房间的门是否开了
                MoveToDoor = 4,//移动进门
                Start = 8,//开始状态
                Exit = 9,//完成状态
    }
    }
}