This PR introduces the object class ToolsNextBotPlayer which intends to mimic NextBotPlayer in order to propagate source events to underlying NextBot's components. As such, not all the features of NextBotPlayer have been implemented.
As this nextbot interface required TheNextBots in order to be properly implemented, although outside this PR's scope, the various TO-DO(s) surrounding TheNextBots have been addressed.
The extension's PathFollower object will now properly notify all nextbots when destroyed, NextBot objects created by the extension will be (un)registered into TheNextBots.
In order to preserve backwards compatibility the following code
EntityFactory = new CEntityFactory("nextbot_sentrygun");
EntityFactory.DeriveFromClass("obj_sentrygun");
EntityFactory.AttachNextBot();
EntityFactory.Install();
Is equivalent to performing
EntityFactory = new CEntityFactory("nextbot_sentrygun");
EntityFactory.DeriveFromClass("obj_sentrygun");
EntityFactory.AttachNextBot(FACTORY_NEXTBOT);
EntityFactory.Install();
While AttachNextBot(FACTORY_NEXTBOT_PLAYER); is to be used as a ToolsNextBotPlayer link to a given factory.
This PR introduces the object class
ToolsNextBotPlayer
which intends to mimicNextBotPlayer
in order to propagate source events to underlying NextBot's components. As such, not all the features ofNextBotPlayer
have been implemented.As this nextbot interface required
TheNextBots
in order to be properly implemented, although outside this PR's scope, the various TO-DO(s) surroundingTheNextBots
have been addressed. The extension'sPathFollower
object will now properly notify all nextbots when destroyed,NextBot
objects created by the extension will be (un)registered intoTheNextBots
.In order to preserve backwards compatibility the following code
Is equivalent to performing
While
AttachNextBot(FACTORY_NEXTBOT_PLAYER);
is to be used as aToolsNextBotPlayer
link to a given factory.