mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-10-29 16:58:06 +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.