Ejemplo n.º 1
0
 /// <summary>
 /// Callback to add a LightDefinition.
 /// </summary>
 /// <param name="callback"></param>
 /// <param name="command"></param>
 private void addLight(EditUICallback callback)
 {
     callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
     {
         if (validateMovableName(input, ref errorPrompt))
         {
             addMovableObjectDefinition(new LightDefinition(input));
             return(true);
         }
         return(false);
     });
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Callback to create a resource group.
        /// </summary>
        /// <param name="callback"></param>
        /// <param name="caller"></param>
        private void addResourceGroup(EditUICallback callback)
        {
            callback.getInputString("Enter a name for the group.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                if (resourceGroups.ContainsKey(input))
                {
                    errorPrompt = "That name is already in use. Please provide another.";
                    return(false);
                }

                this.addResourceGroup(input);
                return(true);
            });
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Callback to add a child node.
        /// </summary>
        /// <param name="callback"></param>
        /// <param name="command"></param>
        private void addChildNode(EditUICallback callback)
        {
            callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                SceneNodeDefinition topLevel = findTopLevelNode();
                if (input == topLevel.Name || topLevel.isNodeNameTaken(input))
                {
                    errorPrompt = "That name is already in use. Please provide another.";
                    return(false);
                }

                addChildNode(new SceneNodeDefinition(input));
                return(true);
            });
        }
Ejemplo n.º 4
0
        private void addTrack(EditUICallback callback)
        {
            callback.getInputString("Enter a name for the track.", delegate(String trackName, ref String trackErrorPrompt)
            {
                if (String.IsNullOrEmpty(trackName))
                {
                    trackErrorPrompt = "You must enter a name for the track.";
                    return(false);
                }

                TypeBrowser browser = new TypeBrowser("Track Types", "Choose a track type", typeof(ShowPropSubAction));
                callback.showBrowser(browser, delegate(Type resultType, ref String typeBrowseErrorPrompt)
                {
                    addTrack(new ShowPropSubActionPrototype(resultType, trackName));
                    return(true);
                });

                return(true);
            });
        }
Ejemplo n.º 5
0
        private void createGroupCallback(EditUICallback callback)
        {
            callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                if (this.groups.ContainsKey(input))
                {
                    errorPrompt = "That name is already in use. Please provide another.";
                    return(false);
                }

                InstanceGroup group = new InstanceGroup(input, Path.Combine(path, input));
                this.addGroup(group);
                return(true);
            });
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Callback to create a SimSubSceneDefinition.
        /// </summary>
        /// <param name="callback">The EditUICallback to get more info from the user.</param>
        /// <param name="caller">The command that initiated this funciton call.</param>
        private void createSimSubSceneDefinition(EditUICallback callback)
        {
            callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                if (this.hasSimSubSceneDefinition(input))
                {
                    errorPrompt = "That name is already in use. Please provide another.";
                    return(false);
                }

                SimSubSceneDefinition def = new SimSubSceneDefinition(input);
                this.addSimSubSceneDefinition(def);
                return(true);
            });
        }
Ejemplo n.º 7
0
        private void createSimObjectCallback(EditUICallback callback)
        {
            callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                InstanceGroup groupWithInstance = findInstanceGroup(input);
                if (groupWithInstance != null)
                {
                    errorPrompt = String.Format("The name {0} is already in use in group {1}. Please provide another.", input, groupWithInstance.Name);
                    return(false);
                }

                SimObjectDefinition simObject = new GenericSimObjectDefinition(input);
                createInstance(simObject);
                return(true);
            });
        }
Ejemplo n.º 8
0
        private void renameSimObjectCallback(EditUICallback callback)
        {
            callback.getInputString("Enter a name.", delegate(String input, ref String errorPrompt)
            {
                if (input == null || input == "")
                {
                    errorPrompt = "Please enter a non empty name.";
                    return(false);
                }
                if (this.instanceFiles.ContainsKey(input))
                {
                    errorPrompt = "That name is already in use. Please provide another.";
                    return(false);
                }

                InstanceFileInterface instanceFile = callback.getSelectedEditInterface().getEditableProperties().First() as InstanceFileInterface;
                SimObjectDefinition sourceObject   = instanceFile.Instance.Definition;
                SimObjectDefinition simObject      = copySaver.copyObject(sourceObject) as SimObjectDefinition;
                simObject.Name = input;
                createInstance(simObject);
                removeInstanceFile(instanceFile.Name);
                return(true);
            });
        }