Added base class AIStateMachine.
This is the skeleton needed to implement classes that can be reused and work together, which can perform asynchronous tasks (read: need to wait for certain events before they can continue). An example would be the task of waiting for a given inventory folder to be read. This could then be used to improve the builtin AO (automatically reading that folder when a notecard is dropped, and continuing when the whole folder is read). It's first use will be communication with a filepicker that runs in a plugin.
This commit is contained in:
@@ -75,6 +75,7 @@
|
||||
#include "llnetmap.h"
|
||||
#include "llrender.h"
|
||||
#include "llfloaterchat.h"
|
||||
#include "statemachine/aistatemachine.h"
|
||||
#include "aithreadsafe.h"
|
||||
#include "llviewerobjectlist.h"
|
||||
#include "lldrawpoolbump.h"
|
||||
@@ -119,6 +120,11 @@ static bool handleTerrainDetailChanged(const LLSD& newvalue)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool handleStateMachineMaxTimeChanged(const LLSD& newvalue)
|
||||
{
|
||||
AIStateMachine::updateSettings();
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleSetShaderChanged(const LLSD& newvalue)
|
||||
{
|
||||
@@ -707,6 +713,7 @@ void settings_setup_listeners()
|
||||
gSavedSettings.getControl("AudioLevelMic")->getSignal()->connect(boost::bind(&handleVoiceClientPrefsChanged, _1));
|
||||
gSavedSettings.getControl("LipSyncEnabled")->getSignal()->connect(boost::bind(&handleVoiceClientPrefsChanged, _1));
|
||||
gSavedSettings.getControl("TranslateChat")->getSignal()->connect(boost::bind(&handleTranslateChatPrefsChanged, _1));
|
||||
gSavedSettings.getControl("StateMachineMaxTime")->getSignal()->connect(boost::bind(&handleStateMachineMaxTimeChanged, _1));
|
||||
|
||||
gSavedSettings.getControl("CloudsEnabled")->getSignal()->connect(boost::bind(&handleCloudSettingsChanged, _1));
|
||||
gSavedSettings.getControl("SkyUseClassicClouds")->getSignal()->connect(boost::bind(&handleCloudSettingsChanged, _1));
|
||||
|
||||
Reference in New Issue
Block a user