AIWheeledVehicleControllerData wipwork

This commit is contained in:
AzaezelX 2025-04-17 20:01:36 -05:00
parent d0b0070ec7
commit 1fad2c7372
4 changed files with 171 additions and 1 deletions

View file

@ -45,6 +45,7 @@ public:
ModeMove, // AI is currently moving.
ModeStuck, // AI is stuck, but wants to move.
ModeSlowing, // AI is slowing down as it reaches it's destination.
ModeReverse // AI is reversing
};
private:
@ -198,5 +199,30 @@ public:
void resolveTriggerState(AIController* obj, Move* movePtr);
DECLARE_CONOBJECT(AIPlayerControllerData);
};
class AIWheeledVehicleControllerData : public AIControllerData
{
typedef AIControllerData Parent;
enum DrivingState {
SteerNull,
Left,
Right,
Straight,
TurnAround
} mSteerState;
public:
AIWheeledVehicleControllerData()
{
mSteerState = SteerNull;
resolveYawPtr.bind(this, &AIWheeledVehicleControllerData::resolveYaw);
resolveTriggerStatePtr.bind(this, &AIWheeledVehicleControllerData::resolveTriggerState);
}
F32 getSteeringAngle(AIController* obj);
void resolveYaw(AIController* obj, Point3F location, Move* movePtr);
void resolveTriggerState(AIController* obj, Move* movePtr);
DECLARE_CONOBJECT(AIWheeledVehicleControllerData);
};
#endif // TORQUE_NAVIGATION_ENABLED
#endif //_AICONTROLLER_H_