/// <summary> /// Creates all the dependencies for the interaction being created, we should consider /// exposing this method in order to allow the creation of circular dependencies, like that /// the user will be able to first, create all the ios, conditions, actions and then wire up /// all the dependencies without having to care about the order of creation of the ios. /// </summary> /// <param name="_interDef"> The definition of the interaciton being created </param> /// <param name="_interaction"> The interaction in process of creation </param> private static void CreateDependenciesForInteraction(S_InteractionDefinition _interDef, GameObject _interaction) { int numConditions = _interDef.ConditionsAndDependencies.Count; for (int i = 0; i < numConditions; i++) { Gaze_AbstractCondition cond = _interDef.ConditionsAndDependencies[i]; // We need to make sure that the object is a dependency (a dependency is a condition as well) if (cond is Gaze_Dependency) { cond.SetupUsingApi(_interaction); } } }
/// <summary> /// Creates all the specified conditions for the interaction being created /// </summary> /// <param name="_interDef">The interaction definition file</param> /// <param name="_interaction"> The interaction in process of creation </param> private static void CreateConditionsForInteraction(S_InteractionDefinition _interDef, GameObject _interaction) { int numConditions = _interDef.ConditionsAndDependencies.Count; for (int i = 0; i < numConditions; i++) { Gaze_AbstractCondition cond = _interDef.ConditionsAndDependencies[i]; // Create all the conditions letting the dependencies being created in next stages if (!(cond is Gaze_Dependency)) { cond.SetupUsingApi(_interaction); } } }