Files
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

42 lines
1.3 KiB
C++

#pragma once
#ifndef AI_SQUADORDERS_HPP
#define AI_SQUADORDERS_HPP
#include <Stuff\Point3D.hpp>
#include <Stuff\Auto_Ptr.hpp>
#include "AI_LancemateCommands.hpp"
namespace MechWarrior4
{
class MWObject;
};
namespace MW4AI
{
class SquadOrders
{
public:
virtual ~SquadOrders();
virtual void Update() = 0;
virtual bool PointIsValid(const Stuff::Point3D& point) const = 0;
virtual void IssueCommand(Stuff::Auto_Ptr<LancemateCommands::LancemateCommand>& command) = 0;
virtual void NotifyShotFired() = 0;
virtual void NotifyFriendlyFire(Adept::Entity& who) {};
virtual bool CanExecuteCommands() const { return (true); }
virtual MWObject* GetAutoTarget() const { return (0); }
virtual bool GetExtendedSensorData(std::vector<MWObject*>& sensor_data_list) const { return (false); }
virtual Stuff::Scalar GetLeastSquaredSensorDistance(const Stuff::Point3D& point) const { return (0); }
virtual Stuff::Auto_Ptr<LancemateCommands::LancemateCommand> CreateCommand(LancemateCommands::ID command_id,Adept::Entity* pTarget2 = NULL) { return (0); }
virtual bool ShouldRunScript() const { return (true); }
virtual bool GetLeaderAlignment(int& alignment) { return (false); }
virtual void NotifyNoPath() { };
};
};
#endif // AI_SQUADORDERS_HPP