/// <summary> /// Registers a child reflexive with this reflexive. /// </summary> /// <param name="child">The child reflexive to register.</param> public void RegisterChild(ScriptObjectReflexive child) { _children.Add(child); }
/// <summary> /// Registers an array of child objects with the object. /// </summary> /// <param name="source">The reflexive that the children belong to.</param> /// <param name="children">The child objects.</param> public void RegisterChildren(ScriptObjectReflexive source, ScriptObject[] children) { _children[source] = children; }
/// <summary> /// Gets the child objects read from a child reflexive. /// </summary> /// <param name="source">The reflexive that the children belong to.</param> /// <returns>The child objects of the reflexive.</returns> public ScriptObject[] GetChildren(ScriptObjectReflexive source) { return(_children[source]); }
private ScriptObject[] ReadObjects(IReader reader, StructureValueCollection values, ScriptObjectReflexive reflexive) { return reflexive.ReadObjects(values, reader, _metaArea, _stringIDs, _buildInfo); }
private void DefineScriptObjectReflexives() { _referencedObjects = new ScriptObjectReflexive("number of script objects", "script object table address", "script object entry"); _triggerVolumes = new ScriptObjectReflexive("number of trigger volumes", "trigger volumes table address", "trigger volume entry"); _cutsceneFlags = new ScriptObjectReflexive("number of cutscene flags", "cutscene flags table address", "cutscene flag entry"); _cutsceneCameraPoints = new ScriptObjectReflexive("number of cutscene camera points", "cutscene camera points table address", "cutscene camera point entry"); _cutsceneTitles = new ScriptObjectReflexive("number of cutscene titles", "cutscene titles table address", "cutscene title entry"); _deviceGroups = new ScriptObjectReflexive("number of device groups", "device groups table address", "device group entry"); _aiSquadGroups = new ScriptObjectReflexive("number of ai squad groups", "ai squad groups table address", "ai squad group entry"); _aiSquads = new ScriptObjectReflexive("number of ai squads", "ai squads table address", "ai squad entry"); _aiSquadSingleLocations = new ScriptObjectReflexive("number of single locations", "single locations table address", "ai squad single location entry"); _aiObjects = new ScriptObjectReflexive("number of ai objects", "ai objects table address", "ai object entry"); _aiObjectWaves = new ScriptObjectReflexive("number of waves", "waves table address", "ai object wave entry"); _startingProfiles = new ScriptObjectReflexive("number of starting profiles", "starting profiles table address", "starting profile entry"); _zoneSets = new ScriptObjectReflexive("number of zone sets", "zone sets table address", "zone set entry"); _objectFolders = new ScriptObjectReflexive("number of object folders", "object folders table address", "object folder entry"); _pointSets = new ScriptObjectReflexive("number of point sets", "point sets table address", "point set entry"); _pointSetPoints = new ScriptObjectReflexive("number of points", "points table address", "point set point entry"); _aiSquads.RegisterChild(_aiSquadSingleLocations); _aiObjects.RegisterChild(_aiObjectWaves); _pointSets.RegisterChild(_pointSetPoints); }
/// <summary> /// Gets the child objects read from a child reflexive. /// </summary> /// <param name="source">The reflexive that the children belong to.</param> /// <returns>The child objects of the reflexive.</returns> public ScriptObject[] GetChildren(ScriptObjectReflexive source) { return _children[source]; }