fix: update logic swim (error in get dir == vector3.zero when swim).
This commit is contained in:
@@ -766,6 +766,8 @@ namespace BrewMonster.Scripts
|
||||
|
||||
float na, fMaxSpeed;
|
||||
bool bInAir;
|
||||
Debug.LogError("Tick_FlySwim m_pHost.m_dwMoveRelDir = " + m_pHost.m_dwMoveRelDir);
|
||||
|
||||
if (m_pHost.m_iMoveEnv == (int)MoveEnvironment.MOVEENV_AIR)
|
||||
{
|
||||
bInAir = true;
|
||||
|
||||
@@ -327,7 +327,7 @@ namespace BrewMonster
|
||||
// Update GFXs
|
||||
UpdateGFXs(Time.deltaTime);
|
||||
|
||||
//m_dwMoveRelDir = 0;
|
||||
m_dwMoveRelDir = 0;
|
||||
m_fVertSpeed = 0.0f;
|
||||
|
||||
// Auto team / Automatic party grouping
|
||||
@@ -2346,7 +2346,48 @@ namespace BrewMonster
|
||||
return;
|
||||
}*/
|
||||
if (!CanDo(ActionCanDo.CANDO_MOVETO)) return;
|
||||
|
||||
if(joystick.Vertical > 0)
|
||||
{
|
||||
if(joystick.Horizontal > 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_RIGHT);
|
||||
}
|
||||
else if(joystick.Horizontal < 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_FORWARD | MOVE_DIR.MD_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)MOVE_DIR.MD_FORWARD;
|
||||
}
|
||||
}
|
||||
else if (joystick.Vertical < 0)
|
||||
{
|
||||
if (joystick.Horizontal > 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_BACK | MOVE_DIR.MD_RIGHT);
|
||||
}
|
||||
else if (joystick.Horizontal < 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_BACK | MOVE_DIR.MD_LEFT);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)MOVE_DIR.MD_BACK;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (joystick.Horizontal > 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_RIGHT);
|
||||
}
|
||||
else if (joystick.Horizontal < 0)
|
||||
{
|
||||
m_dwMoveRelDir |= (uint)(MOVE_DIR.MD_LEFT);
|
||||
}
|
||||
}
|
||||
Debug.LogError("m_dwMoveRelDir = " + m_dwMoveRelDir);
|
||||
bool bPushMove = true;
|
||||
/* if (Msg.dwParam1 == 8 || Msg.dwParam1 == 9)
|
||||
{
|
||||
@@ -5080,7 +5121,9 @@ namespace BrewMonster
|
||||
|
||||
int iNewEnv = Move_environment.MOVEENV_GROUND;
|
||||
if (CheckWaterMoveEnv(vPos, m_GndInfo.fWaterHei, vAABBGnd.y))
|
||||
{
|
||||
iNewEnv = Move_environment.MOVEENV_WATER;
|
||||
}
|
||||
|
||||
if (iNewEnv == Move_environment.MOVEENV_GROUND && GetPos().y - vAABBGnd.y < 0.2f && bIsInAir &&
|
||||
EC_Utility.ToVector3(GetPos()) != m_MoveCtrl.GetLastSevPos())
|
||||
|
||||
Reference in New Issue
Block a user