8 private float m_fSpeed;
10 protected bool m_bBlockedByRadialMenu;
17 vector angles = Math3D.MatrixToAngles(transform);
20 transform[3][0], transform[3][1], transform[3][2],
28 if (!
data.m_aValues ||
data.m_aValues.Count() < 5)
32 transform[3] = Vector(
data.m_aValues[0],
data.m_aValues[1],
data.m_aValues[2]);
33 Math3D.AnglesToMatrix(Vector(
data.m_aValues[3],
data.m_aValues[4], 0), transform);
41 if (!param.isManualInputEnabled)
46 m_bBlockedByRadialMenu =
true;
48 float lateral =
m_InputManager.GetActionValue(
"ManualCameraMoveLateral");
49 float vertical =
m_InputManager.GetActionValue(
"ManualCameraMoveVertical");
50 float longitudinal =
m_InputManager.GetActionValue(
"ManualCameraMoveLongitudinal");
51 if (lateral == 0 && vertical == 0 && longitudinal == 0)
54 m_bBlockedByRadialMenu =
false;
60 if (m_bBlockedByRadialMenu)
64 vector newDir = Vector(lateral, 0, longitudinal);
65 if (newDir.LengthSq() > 1)
69 vector currentDir = param.transform[2];
71 currentDir.Normalize();
73 float horizontalSpeedCoef = param.multiplier[0] * m_fSpeed;
74 param.transform[3] = param.transform[3] + Vector(
75 (currentDir[0] * newDir[2] + currentDir[2] * newDir[0]) * horizontalSpeedCoef,
76 vertical * param.multiplier[1] * m_fSpeed,
77 (currentDir[2] * newDir[2] - currentDir[0] * newDir[0]) * horizontalSpeedCoef,
79 param.isManualInput =
true;
84 override bool EOnCameraInit()