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