From c4bd9d8c587bd1401f0fb2f60c34a4964d7afe20 Mon Sep 17 00:00:00 2001
From: asmrobot <asmrobot@hotmail.com>
Date: Sun, 27 Oct 2019 16:02:50 +0000
Subject: [PATCH] o

---
 src/RichCreator/StateMachines/MoveState.cs |   41 ++++++++++++++++++++++-------------------
 1 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/src/RichCreator/StateMachines/MoveState.cs b/src/RichCreator/StateMachines/MoveState.cs
index 8e1ca22..8bc7ded 100644
--- a/src/RichCreator/StateMachines/MoveState.cs
+++ b/src/RichCreator/StateMachines/MoveState.cs
@@ -20,7 +20,7 @@
         private const Int32 PaddingLeft = 140;//左边框内边距
         private const Int32 PaddingRight = 140;//右边框内边距
 
-        public MoveState(ZTRectangle gameRect, MapHouse house)
+        public MoveState(ZTRectangle gameRect, HouseInfo house)
         {
             this.gameRect = gameRect;
             this.house = house;
@@ -93,11 +93,11 @@
         private Int32 maxCenterLineY;
         private Int32 centerLineErrorRange = 35;//中间性可允许的误差
 
-        private MapHouse house;
+        private HouseInfo house;
         private ZTRectangle gameRect = ZTRectangle.Empty;
         
         private HIDCode moveKey = HIDCode.NoEvent;
-        private MoveIntent movingIntent = MoveIntent.ToAttack;//移动意图
+        private MoveIntent movingIntent = MoveIntent.AttackMove;//移动意图
         private MoveMethod movingMethod= MoveMethod.Vertical;//移动方式,默认垂直移动
         private ZTSize movingDistance;//移动距离
 
@@ -126,10 +126,10 @@
         public enum MoveIntent
         {
             None,//没移动
-            ToAttack,//去攻击
-            ToFindDoor,//去找门
-            ToFindRole,//找主角
-            ToPickup//去拾取
+            AttackMove,//去攻击
+            FindDoorMove,//去找门
+            FindRoleMove,//找主角
+            PickupMove//去拾取
         }
 
         /// <summary>
@@ -151,7 +151,7 @@
         {
             get
             {
-                if (IsMoving && movingIntent == MoveIntent.ToAttack)
+                if (IsMoving && movingIntent == MoveIntent.AttackMove)
                 {
                     return true;
                 }
@@ -167,7 +167,7 @@
         {
             get
             {
-                if (IsMoving && movingIntent == MoveIntent.ToFindDoor)
+                if (IsMoving && movingIntent == MoveIntent.FindDoorMove)
                 {
                     return true;
                 }
@@ -184,7 +184,7 @@
         {
             get
             {
-                if (IsMoving && movingIntent == MoveIntent.ToFindRole)
+                if (IsMoving && movingIntent == MoveIntent.FindRoleMove)
                 {
                     return true;
                 }
@@ -201,7 +201,7 @@
         {
             get
             {
-                if (IsMoving && movingIntent == MoveIntent.ToPickup)
+                if (IsMoving && movingIntent == MoveIntent.PickupMove)
                 {
                     return true;
                 }
@@ -217,11 +217,10 @@
         public void AttackMove(ZTSize moveDistance)
         {
             PutKey(moveDistance);
-            movingIntent = MoveIntent.ToAttack;
+            movingIntent = MoveIntent.AttackMove;
         }
 
         private Int32 RandomDirRun = 0;//随机行走的方向
-        private const Int32 FindRoleMaxDelayMillSecond = 1000;//找角色开始移动最大延迟
         private DateTime FindRoleMoveTimeout = DateTime.MinValue;//方向移动过期时间
         private DateTime FindRoleStartTimeout = DateTime.MinValue;//开始查找主角移动过期时间
         /// <summary>
@@ -230,6 +229,11 @@
         /// <param name="moveDistance"></param>
         public void FindRoleMove()
         {
+            if (IsMoving && !IsFindRoleMoving)
+            {
+                StopMove();
+            }
+            const Int32 FindRoleMaxDelayMillSecond = 1000;//找角色开始移动最大延迟
             bool recomputationTimeoutTime = false;
             //延迟开始找角色
             if (!IsMoving)
@@ -306,10 +310,9 @@
                 G.Instance.InputControl.PutDown(false, false, false, false, false, false, false, false, dirKey);
                 moveKey = dirKey;
             }
-            movingIntent = MoveIntent.ToFindRole;
+            movingIntent = MoveIntent.FindRoleMove;
         }
-
-
+        
         /// <summary>
         /// 拾起物品移动
         /// </summary>
@@ -327,11 +330,11 @@
 
             //G.Instance.DebugWriter("pickup distance:" + moveDistance.ToString());
             PutKey(moveDistance);
-            movingIntent = MoveIntent.ToPickup;   
+            movingIntent = MoveIntent.PickupMove;   
         }
 
         /// <summary>
-        /// 找门找怪移动
+        /// 找门移动
         /// </summary>
         /// <param name="rolePosition"></param>
         public void FindDoorMove(ZTPoint rolePosition)
@@ -357,7 +360,7 @@
             }
             
             PutKey(movingDistance);
-            movingIntent = MoveIntent.ToFindDoor;
+            movingIntent = MoveIntent.FindDoorMove;
         }
 
 

--
Gitblit v1.9.3