#pragma once #ifndef AI_FIREPARAMPACKAGE_HPP #define AI_FIREPARAMPACHAGE_HPP #include namespace Adept { class Entity; }; namespace MechWarrior4 { class Weapon; class Vehicle; }; namespace MW4AI { class FireData; enum FireSource { FIRE_FROM_ANYWHERE, FIRE_FROM_LEFT_ARM, FIRE_FROM_RIGHT_ARM }; class FireParamPackage { public: FireParamPackage(FireData& _fire_data, MechWarrior4::MWObject* _intended_target, Stuff::Time _min_delay, Stuff::Time _max_delay, Adept::Entity* _who_to_hit, MechWarrior4::Vehicle* _vehicle_shooting_at, Adept::Entity* _component, Stuff::Time _frame_delay, Stuff::Scalar _current_heat, Stuff::Scalar _max_heat, bool _can_spend_ammo, bool _can_commit_suicide, FireSource _where_to_fire_from, bool _can_fire_narc, bool _can_generate_heat, bool _per_weapon_raycasting); public: FireData& fire_data; MechWarrior4::MWObject* intended_target; const Stuff::Time min_delay; const Stuff::Time max_delay; const Adept::Entity* who_to_hit; const MechWarrior4::Vehicle* vehicle_shooting_at; Adept::Entity* component; const Stuff::Time frame_delay; const Stuff::Scalar current_heat; const Stuff::Scalar max_heat; const bool can_spend_ammo; const bool can_commit_suicide; const FireSource where_to_fire_from; const bool can_fire_narc; const bool can_generate_heat; const bool per_weapon_raycasting; }; }; #endif // AI_FIREPARAMPACHAGE_HPP