fix: update logic swim (error in get dir == vector3.zero when swim).

This commit is contained in:
Tungdv
2026-01-02 14:10:57 +07:00
parent a4316bfd7d
commit e2d640b508
2 changed files with 47 additions and 2 deletions
@@ -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;
+45 -2
View File
@@ -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())