Class FunctionalityIsland
Inheritance
FunctionalityIsland
Syntax
public class FunctionalityIsland : ScriptableObject, ISerializationCallbackReceiver, IProvidesFunctionalityInjection, IFunctionalityProvider
Fields
InjectFunctionalityProfilerLabel
Declaration
public const string InjectFunctionalityProfilerLabel = "FunctionalityIsland.InjectFunctionality()"
Field Value
SetupDefaultProvidersProfilerLabel
Declaration
public const string SetupDefaultProvidersProfilerLabel = "FunctionalityIsland.SetupDefaultProviders()"
Field Value
Properties
defaultProviders
Declaration
public FunctionalityIsland.DefaultProvider[] defaultProviders { get; }
Property Value
providers
Declaration
public Dictionary<Type, IFunctionalityProvider> providers { get; }
Property Value
uniqueProviders
Declaration
public HashSet<IFunctionalityProvider> uniqueProviders { get; }
Property Value
Methods
ActivateProviderGameObjects()
Declaration
public void ActivateProviderGameObjects()
AddProvider(Type, IFunctionalityProvider)
Declaration
public void AddProvider(Type providerType, IFunctionalityProvider provider)
Parameters
AddProviders(List<IFunctionalityProvider>)
Declaration
public void AddProviders(List<IFunctionalityProvider> newProviders)
Parameters
CheckSetup()
Declaration
ConnectSubscriber(Object)
Declaration
public void ConnectSubscriber(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Implements
GetOrCreateProviderInstance(Type, Type)
Declaration
public static IFunctionalityProvider GetOrCreateProviderInstance(Type implementorType, Type providerType)
Parameters
Type |
Name |
Description |
Type |
implementorType |
|
Type |
providerType |
|
Returns
InjectFunctionality(GameObject)
Declaration
public void InjectFunctionality(GameObject go)
Parameters
Type |
Name |
Description |
GameObject |
go |
|
InjectFunctionality(Scene)
Inject functionality on an entire scene, assuming that
Declaration
public void InjectFunctionality(Scene scene)
Parameters
Type |
Name |
Description |
Scene |
scene |
|
InjectFunctionality(List<Object>, List<IFunctionalityProvider>)
Declaration
public void InjectFunctionality(List<object> objects, List<IFunctionalityProvider> newProviders = null)
Parameters
Implements
InjectFunctionality(List<IFunctionalitySubscriber>, List<IFunctionalityProvider>)
Declaration
public void InjectFunctionality(List<IFunctionalitySubscriber> objects, List<IFunctionalityProvider> newProviders = null)
Parameters
InjectFunctionalityInDefaultProviders(Dictionary<GameObject, GameObject>, List<IFunctionalityProvider>)
Declaration
public void InjectFunctionalityInDefaultProviders(Dictionary<GameObject, GameObject> newProvidersIn, List<IFunctionalityProvider> newProvidersOut)
Parameters
InjectFunctionalitySingle(Object)
Declaration
public void InjectFunctionalitySingle(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Implements
InjectPreparedFunctionality(List<Object>)
Inject functionality on a set of objects, assuming that all required providers have been setup.
Declaration
public void InjectPreparedFunctionality(List<object> objects)
Parameters
Implements
InjectPreparedFunctionality(List<IFunctionalitySubscriber>)
Inject functionality on a set of objects, assuming that all required providers have been setup.
Declaration
public void InjectPreparedFunctionality(List<IFunctionalitySubscriber> objects)
Parameters
LoadProvider()
Declaration
public void LoadProvider()
Implements
OnAfterDeserialize()
Declaration
public void OnAfterDeserialize()
OnBeforeSerialize()
Declaration
public void OnBeforeSerialize()
OnBehaviorDestroy()
Declaration
public void OnBehaviorDestroy()
PrintStatus()
Declaration
public string PrintStatus()
Returns
RemoveProviders(List<IFunctionalityProvider>)
Declaration
public void RemoveProviders(List<IFunctionalityProvider> providersToRemove)
Parameters
SetupDefaultProviders(HashSet<Type>, List<IFunctionalityProvider>)
Set up functionality providers from the list of default providers
This allows custom serialized data to be set up on prefabs for providers
Declaration
public void SetupDefaultProviders(HashSet<Type> subscriberTypes, List<IFunctionalityProvider> newProviders = null)
Parameters
Type |
Name |
Description |
HashSet<Type> |
subscriberTypes |
The types of subscribers that need providers
|
List<IFunctionalityProvider> |
newProviders |
(Optional) A list to which new providers will be added
|
Unload()
Declaration
UnloadProvider()
Declaration
public void UnloadProvider()
Implements