mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
Gents, please have a look at this development: 2016-08-21 - Made a new STATEMACHINE_CONTROLLABLE object, which models a base state machine class to be inherited by AI controllable classes. -- Created the class as such that intherited AI classes become "finite state machines". -- Each STATEMACHINE_CONTROLLABLE class contains a Controllable object, which is one Unit, Client or Group object. -- Added state transition functions that are called before and after the state transition. -- Event functions are automatically added to the class, based on the FSMT. -- Added immediate and delayed event processing as part of the STATEMACHINE_CONTROLLABLE class. --- Events that start with __Event are processed with a delay. The delay is given in seconds as a parameter. - Created a new AI_PATROLZONE class, which inherites STATEMACHINE_CONTROLLABLE. -- This class implements a complete new revamped patrol zone AI pattern. -- Created a new test directory: Moose_Test_AI_PATROLZONE with test missions. 2016-08-15 - Removed the old classes and moved into an "Old" folder in the Moose/Development folder. -- Cleaned Moose.lua + Documented class types -- Cleaned Create_Moose.bat + Documented class types - Extend the ZONE_BASE class with a probability randomization factor, that can be used for zone randomization purposes. - Documented the Zone module classes. - Changed and removed the POINT_VEC3 SmokeColor and FlareColor structure. Replaced with SMOKECOLOR and FLARECOLOR types. -- Replaced also code in test missions with SMOKECOLOR and FLARECOLOR references. - Added change logs of API changes in MOOSE documentation. - Added ZONE_BASE:GetName() method. - Added ZONE_BASE:GetZoneProbability() method. - Added ZONE_BASE:SetZoneProbability() method. - Added ZONE_BASE:GetZoneMaybe() method. - Added SPAWN:InitRandomizeZones() method. - Renamed SPAWN:CleanUp() method to SPAWN:InitCleanUp() method. - Reviewed documentation of the PatrolZone module and PATROLZONE class. 2016-08-14 - Changed Spawn APIs to express Group position and Unit position randomization. - Changed the API protocol of SpawnInZone() method. -- Removed OuterRadius and InnerRadius parameters !!! - Changed the API protocol of SpawnFromUnit() method. -- Removed OuterRadius and InnerRadius parameters !!! - Added InitRandomizeUnits() method, taking 3 parameters: -- RandomizeUnits given the value true, will randomize the units upon spawning, false (default) will not randomize the untis. -- OuterRadius is the outer radius of the band where the units will be spawned, if RandomizeUnits is true. -- InnerRadius is the inner radius of the band where the units will not be spawned, if RandomizeUnits is true. - Removed SpawnFunction() method. - Added OnSpawnGroup() method as the new official CallBack function method to catch when a new function will be called. -- Documented OnSpawnGroup() method. - Renamed Limit() method to InitLimit() method. - Renamed Array() method to InitArray() method. - Renamed RandomizeRoute() method to InitRandomizeRoute() method. - Renamed RandomizeTemplate() method to InitRandomizeTemplate() method. - Renamed UnControlled() method to InitUnControlled method. - Reviewed all test missions for the changes executed and made adaptions where necessary + re-tests. 2016-08-12 - Temporary release of the new cargo handling. -- Released available functionality to handle one CARGO_UNIT loading, boarding, unloading. -- Created CARGO_UNIT test missions. - Added Translate() method in POINT_VEC3, translating a 3D point over the horizontal plane with a Distance and Angle coordinate.
68 lines
1.6 KiB
Lua
68 lines
1.6 KiB
Lua
--- The main include file for the MOOSE system.
|
|
|
|
--- Core Routines
|
|
Include.File( "Routines" )
|
|
Include.File( "Utils" )
|
|
|
|
--- Core Classes
|
|
Include.File( "Base" )
|
|
Include.File( "Object" )
|
|
Include.File( "Identifiable" )
|
|
Include.File( "Positionable" )
|
|
Include.File( "Controllable" )
|
|
Include.File( "Scheduler" )
|
|
Include.File( "Event" )
|
|
Include.File( "Menu" )
|
|
Include.File( "Group" )
|
|
Include.File( "Unit" )
|
|
Include.File( "Zone" )
|
|
Include.File( "Client" )
|
|
Include.File( "Static" )
|
|
Include.File( "Airbase" )
|
|
Include.File( "Database" )
|
|
Include.File( "Set" )
|
|
Include.File( "Point" )
|
|
Include.File( "Scoring" )
|
|
|
|
--- Functional Classes
|
|
Include.File( "Cargo" )
|
|
Include.File( "Message" )
|
|
Include.File( "Mission" )
|
|
Include.File( "CleanUp" )
|
|
Include.File( "Spawn" )
|
|
Include.File( "Movement" )
|
|
Include.File( "Sead" )
|
|
Include.File( "Escort" )
|
|
Include.File( "MissileTrainer" )
|
|
--Include.File( "AIBalancer" )
|
|
Include.File( "AirbasePolice" )
|
|
Include.File( "Detection" )
|
|
|
|
--- Task Handling Classes
|
|
Include.File( "DetectionManager" )
|
|
|
|
Include.File( "StateMachine" )
|
|
|
|
Include.File( "Process" )
|
|
Include.File( "Process_Assign" )
|
|
Include.File( "Process_Route" )
|
|
Include.File( "Process_Smoke" )
|
|
Include.File( "Process_Destroy" )
|
|
Include.File( "Process_JTAC" )
|
|
|
|
Include.File( "Task" )
|
|
Include.File( "Task_SEAD" )
|
|
Include.File( "Task_A2G" )
|
|
|
|
--- AI Handling Classes
|
|
Include.File( "AI_PatrolZone" )
|
|
|
|
-- The order of the declarations is important here. Don't touch it.
|
|
|
|
--- Declare the event dispatcher based on the EVENT class
|
|
_EVENTDISPATCHER = EVENT:New() -- Event#EVENT
|
|
|
|
--- Declare the main database object, which is used internally by the MOOSE classes.
|
|
_DATABASE = DATABASE:New() -- Database#DATABASE
|
|
|