Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }