public bool CreateObjectByDefinition(ObjectDefinition ObjectDefinition) { CBaseObject newObject = null; ObjectDefinition DefaultDef = DefinitionManager.QueryDefinitionByName(ObjectDefinition.ObjectClassType); // Try to load the game object first. if (CreateObjectDelegate != null) { newObject = CreateObjectDelegate(DefaultDef, ObjectDefinition); } // if the game object could not be loaded then this is likely a engine defined object. if (newObject == null) { newObject = EngineCreateObjectDelegate(DefaultDef, ObjectDefinition); } if (newObject != null) { Firecracker.engineInstance.AddObjectToList(newObject); } else { // This is not an object that actually exists. System.Diagnostics.Debug.Assert(false, "Uh oh. The level defined an object that doesn't exist."); return(false); } return(true); }
public bool CreateObjectByName(string sObjectName) { // TODO: implement this. // similar to CreateObjectByDefinition, except that this // no properties are overloaded. ObjectDefinition objDef = DefinitionManager.QueryDefinitionByName(sObjectName); if (objDef.ObjectName.Length != 0 && objDef.ObjectClassType.Length != 0) { return(CreateObjectByDefinition(objDef)); } return(false); }