![]() |
AiMalgam Core 1.1.0
API documentation for the generic Unity3D AI System
|
The core and mandatory MonoBehaviour to represent an AI entity with its linked AI systems More...
Public Member Functions | |
| virtual void | AddDescriptor (AiMalgamBaseDescriptor descriptor) |
| Add another AiMalgamBaseDescriptor to Descriptors (distinct instance) and emit the OnDescriptorListChanged event on success More... | |
| virtual bool | RemoveDescriptor (AiMalgamBaseDescriptor descriptor) |
| Remove an existing AiMalgamBaseDescriptor to Descriptors and emit the OnDescriptorListChanged event on removal success More... | |
| virtual void | AddEngine (AiMalgamBaseEngineWrapper baseEngineWrapper) |
| Add another AiMalgamBaseEngineWrapper to Engines (distinct instance) and emit the OnEnginesListChanged event on success More... | |
| virtual bool | RemoveEngine (AiMalgamBaseEngineWrapper baseEngineWrapper) |
| Remove an existing AiMalgamBaseEngineWrapper to Engines and emit the OnEnginesListChanged event on removal success More... | |
| virtual void | CleanInvalidEngines () |
| Helper method to remove old (and wrong) AiMalgamBaseEngineWrappers from Engines | |
| virtual void | CleanInvalidDescriptors () |
| Helper method to remove old (and wrong) AiMalgamBaseDescriptors from Descriptors | |
| virtual void | RemoveAllActionsAcrossAllEngines () |
| virtual bool | AddStateDistinct (AiMalgamState state, AiMalgamBaseEngineWrapper baseEngineWrapper=null) |
| Adds the state to currentStates (distinct) and emits the OnStateChangedUnityEvent and OnStateChanged events on success More... | |
| virtual bool | RemoveState (AiMalgamState state, AiMalgamBaseEngineWrapper baseEngineWrapper=null) |
| Remove the state from currentStates and emit the OnStateChangedUnityEvent and OnStateChanged events on success More... | |
| virtual List< BaseDescriptor > | GetDescriptorsByHash< BaseDescriptor > (int hash) |
| Get the AiMalgamBaseDescriptors that match their AiMalgamBaseDescriptor.DescriptorTypeSupportedHash with the given hash More... | |
| virtual AiMalgamBaseEngineWrapper | GetEngineByHash (int hash) |
| Get the AiMalgamBaseEngineWrapper that matches its AiMalgamBaseEngineWrapper.ActionTypeSupportedHash with the given hash More... | |
| virtual List< AiMalgamBaseEngineWrapper > | GetEnginesByHash (int hash) |
| Get the AiMalgamBaseEngineWrappers that match their AiMalgamBaseEngineWrapper.ActionTypeSupportedHash with the given hash More... | |
| virtual AiMalgamApplyActionSettingResult | ValidateSettings (AiMalgamBaseSettings baseSettings, out AiMalgamBaseEngineWrapper outEngine) |
| Validate the given baseSettings by checking if their supported AiMalgamBaseEngineWrapper exists in Engines and if AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ValidateSettings also validates More... | |
| virtual AiMalgamApplyActionSettingResult | ApplyAndValidateSettings (AiMalgamBaseSettings baseSettings, bool ignoreValidation=false) |
| Optionally (ignoreValidation == false) validate the given baseSettings by checking if their supported AiMalgamBaseEngineWrapper exists in Engines and if AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ValidateSettings also validates and finally apply the settings in AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ApplySettings More... | |
Public Attributes | |
| OnStateChangedUnityEvent | OnStateChangedUnityEvent |
| List< AiMalgamState > | currentStates = new List<AiMalgamState>() |
| Represents IAiMalgamBaseActionWrappers or independent AiMalgamStates associated with this entity | |
Protected Member Functions | |
| virtual void | Awake () |
| virtual void | Start () |
| virtual void | OnEnable () |
| virtual void | OnDisable () |
| virtual void | OnDestroy () |
| virtual void | OnValidate () |
| virtual void | InvokeStateChanged (AiMalgamBaseEngineWrapper engine, AiMalgamState state, bool addedOrRemoved) |
Protected Attributes | |
| List< AiMalgamBaseDescriptor > | _descriptors = new List<AiMalgamBaseDescriptor>() |
| Additional data containers also used in AiMalgamBaseConditionForDescriptors<DescriptorType> for AI decision making | |
| List< AiMalgamBaseEngineWrapper > | _engines = new List<AiMalgamBaseEngineWrapper>() |
| AiMalgamBaseEngineWrappers attached to this entity, which run their respective and supported IAiMalgamBaseActionWrappers on | |
Properties | |
| List< AiMalgamBaseDescriptor > | Descriptors [get] |
| Additional data containers also used in AiMalgamBaseConditionForDescriptors<DescriptorType> for AI decision making | |
| List< AiMalgamBaseEngineWrapper > | Engines [get] |
| AiMalgamBaseEngineWrappers attached to this entity, which run their respective and supported IAiMalgamBaseActionWrappers on | |
Events | |
| Action< AiMalgamBaseEngineWrapper, bool > | OnEnginesListChanged |
| Action< AiMalgamBaseDescriptor, bool > | OnDescriptorListChanged |
| Action< AiMalgamBaseEngineWrapper, AiMalgamState, bool > | OnStateChanged |
The core and mandatory MonoBehaviour to represent an AI entity with its linked AI systems
|
virtual |
Add another AiMalgamBaseDescriptor to Descriptors (distinct instance) and emit the OnDescriptorListChanged event on success
| descriptor | The AiMalgamBaseDescriptor to add |
|
virtual |
|
virtual |
Adds the state to currentStates (distinct) and emits the OnStateChangedUnityEvent and OnStateChanged events on success
| state | The AiMalgamState to add to currentStates |
| baseEngineWrapper | The AiMalgamBaseEngineWrapper which caused this call |
|
virtual |
Optionally (ignoreValidation == false) validate the given baseSettings by checking if their supported AiMalgamBaseEngineWrapper exists in Engines and if AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ValidateSettings also validates and finally apply the settings in AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ApplySettings
| baseSettings | The AiMalgamBaseSettings apply (and optionally validate) |
| ignoreValidation | Do we validate the given AiMalgamBaseSettings or jump into applying them. The only thing that is left validating (if set to true), is to check if the matching AiMalgamBaseEngineWrapper exists |
|
virtual |
Get the AiMalgamBaseDescriptors that match their AiMalgamBaseDescriptor.DescriptorTypeSupportedHash with the given hash
| hash | The hash to match against AiMalgamBaseDescriptor.AiMalgamBaseDescriptor.DescriptorTypeSupportedHash |
| BaseDescriptor | The AiMalgamBaseDescriptor type to cast |
| BaseDescriptor | : | AiMalgamBaseDescriptor |
|
virtual |
Get the AiMalgamBaseEngineWrapper that matches its AiMalgamBaseEngineWrapper.ActionTypeSupportedHash with the given hash
| hash | The hash to match against AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ActionTypeSupportedHash |
|
virtual |
Get the AiMalgamBaseEngineWrappers that match their AiMalgamBaseEngineWrapper.ActionTypeSupportedHash with the given hash
| hash | The hash to match against AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ActionTypeSupportedHash |
|
virtual |
Remove an existing AiMalgamBaseDescriptor to Descriptors and emit the OnDescriptorListChanged event on removal success
| descriptor | The AiMalgamBaseDescriptor to remove from Descriptors |
|
virtual |
|
virtual |
Remove the state from currentStates and emit the OnStateChangedUnityEvent and OnStateChanged events on success
| state | The AiMalgamState to remove from currentStates |
| baseEngineWrapper | The AiMalgamBaseEngineWrapper which caused this call |
|
virtual |
Validate the given baseSettings by checking if their supported AiMalgamBaseEngineWrapper exists in Engines and if AiMalgamBaseEngineWrapper.AiMalgamBaseEngineWrapper.ValidateSettings also validates
| baseSettings | The AiMalgamBaseSettings to validate |
| outEngine | The found (or not found) AiMalgamBaseEngineWrapper for the given baseSettings |