public void DoUI(IObjectUIControl control) { #if ODYSSEY control.PlainText(Convert.ToString(area.ScenarioBitField, 2)); #endif if (Spotlight.Properties.Settings.Default.AllowIDEdits) { area.ID = control.TextInput(area.ID, "Object ID"); } else { control.TextInput(area.ID, "Object ID"); } if (area.comment != null) { control.TextInput(area.comment, "Comment"); } area.Layer = control.TextInput(area.Layer, "Layer"); area.ClassName = control.DropDownTextInput("Class Name", area.ClassName, DB_classNames); area.ModelName = control.DropDownTextInput("Shape Name", area.ModelName, shapeNames, false); area.Priority = (int)control.NumberInput(area.Priority, "Priority"); control.VerticalSeperator(); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { area.Position = control.Vector3Input(area.Position, "Position", 1, 16); } else { area.Position = control.Vector3Input(area.Position, "Position", 0.125f, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { area.Rotation = control.Vector3Input(area.Rotation, "Rotation", 45, 18); } else { area.Rotation = control.Vector3Input(area.Rotation, "Rotation", 5, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { area.Scale = control.Vector3Input(area.Scale, "Scale", 1, 16); } else { area.Scale = control.Vector3Input(area.Scale, "Scale", 0.125f, 2); } }
public void DoUI(IObjectUIControl control) { text = control.TextInput(obj.Get <string>("name"), "Name"); zone = control.DropDownTextInput("Zone", obj.mParentZone.mZoneName, zones.ToArray(), false); obj.mMarioNo = (int)control.NumberInput(obj.mMarioNo, "Mario Number"); obj.mObjArg0 = (int)control.NumberInput(obj.mObjArg0, "Obj_arg0"); obj.mCameraID = (int)control.NumberInput(obj.mCameraID, "Camera ID"); }
public void DoUI(IObjectUIControl control) { obj.ModelName = control.TextInput(obj.ModelName, "Bone"); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Position = control.Vector3Input(obj.Position, "Position", 1, 16); } else { obj.Position = control.Vector3Input(obj.Position, "Position", 0.125f, 2); } }
public void DoUI(IObjectUIControl control) { text = control.TextInput(text, "TextInput"); longText = control.FullWidthTextInput(longText, "Long Text Input"); number = control.NumberInput(number, "Number Input"); control.Link("Just some Link"); control.DoubleButton("Add", "Remove"); control.TripleButton("Add", "Remove", "Insert"); control.QuadripleButton("+", "-", "*", "/"); enemyType = (EnemyType)control.ChoicePicker("Enemy1 Type", enemyType, Enum.GetValues(typeof(EnemyType))); enemyType2 = (EnemyType)control.ChoicePicker("Enemy2 Type", enemyType2, Enum.GetValues(typeof(EnemyType))); control.VerticalSeperator(); objectType = control.AdvancedTextInput("Object Type", objectType, objectTypes); control.Spacing(30); control.PlainText("Some Text"); }
public void DoUI(IObjectUIControl control) { placement.Layer = control.TextInput(placement.Layer, "Layer"); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { placement.Position = control.Vector3Input(placement.Position, "Position", 1, 16); } else { placement.Position = control.Vector3Input(placement.Position, "Position", 0.125f, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { placement.Rotation = control.Vector3Input(placement.Rotation, "Rotation", 45, 18, -180, 180, true); } else { placement.Rotation = control.Vector3Input(placement.Rotation, "Rotation", 5, 2, -180, 180, true); } }
public void DoUI(IObjectUIControl control) { text = control.TextInput(text, "TextInput"); control.PlainText("I hate people"); }
public void DoUI(IObjectUIControl control) { control.TextInput(entry[0], "Name"); entry[1] = control.TextInput(entry[1], "Behaivior"); }
public void DoUI(IObjectUIControl control) { for (int i = 0; i < propertyDictKeys.Length; i++) { string key = propertyDictKeys[i]; if (propertyInfos != null && propertyInfos.TryGetValue(key, out string desc)) { control.SetTooltip(desc); } else { control.SetTooltip("No info for " + key); } if (propertyDict[key] is int) { propertyDict[key] = (int)control.NumberInput(propertyDict[key], key); } else if (propertyDict[key] is float) { propertyDict[key] = control.NumberInput(propertyDict[key], key); } else if (propertyDict[key] is string) { propertyDict[key] = control.TextInput(propertyDict[key], key); } else if (propertyDict[key] is bool) { propertyDict[key] = control.CheckBox(key, propertyDict[key]); } } control.SetTooltip(null); if (control.Button("Edit")) { ObjectParameterForm.TypeDef.Localize(); List <(ObjectParameterForm.TypeDef typeDef, string name)> parameterInfos = new List <(ObjectParameterForm.TypeDef typeDef, string name)>(); List <KeyValuePair <string, dynamic> > otherParameters = new List <KeyValuePair <string, dynamic> >(); //get parameterInfos from propertyDict foreach (var item in propertyDict) { if (item.Value is int) { parameterInfos.Add((ObjectParameterForm.TypeDef.IntDef, item.Key)); } else if (item.Value is float) { parameterInfos.Add((ObjectParameterForm.TypeDef.FloatDef, item.Key)); } else if (item.Value is string) { parameterInfos.Add((ObjectParameterForm.TypeDef.StringDef, item.Key)); } else if (item.Value is bool) { parameterInfos.Add((ObjectParameterForm.TypeDef.BoolDef, item.Key)); } else { otherParameters.Add(item); //arrays and dictionaries are not supported } } var parameterForm = new ObjectParameterForm(parameterInfos); if (parameterForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { List <RevertableDictAddition.AddInfo> addInfos = new List <RevertableDictAddition.AddInfo>(); List <RevertableDictDeletion.DeleteInfo> deleteInfos = new List <RevertableDictDeletion.DeleteInfo>(); List <RevertableDictEntryChange> changeInfos = new List <RevertableDictEntryChange>(); HashSet <string> newParamNames = new HashSet <string>(); List <KeyValuePair <string, dynamic> > newParameters = new List <KeyValuePair <string, dynamic> >(); foreach ((ObjectParameterForm.TypeDef typeDef, string parameterName) in parameterForm.EditedParameterInfos) { //check if name stayed the same if (propertyDict.ContainsKey(parameterName)) { if (propertyDict[parameterName].GetType() == typeDef.Type) { //keep value if name and type stayed the same newParameters.Add(new KeyValuePair <string, dynamic>(parameterName, propertyDict[parameterName])); } else { //set value to the default value of the new type newParameters.Add(new KeyValuePair <string, dynamic>(parameterName, typeDef.DefaultValue)); //and add the value change to changeInfos changeInfos.Add(new RevertableDictEntryChange(parameterName, propertyDict, propertyDict[parameterName])); } } else { //add added paramter to addInfos newParameters.Add(new KeyValuePair <string, dynamic>(parameterName, typeDef.DefaultValue)); addInfos.Add(new RevertableDictAddition.AddInfo(typeDef.DefaultValue, parameterName)); } newParamNames.Add(parameterName); } //add removed parameters to deleteInfos foreach (var property in propertyDict) { if (!newParamNames.Contains(property.Key)) { deleteInfos.Add(new RevertableDictDeletion.DeleteInfo(property.Value, property.Key)); } } //add everything to undo scene.BeginUndoCollection(); scene.AddToUndo(new RevertableDictAddition(new RevertableDictAddition.AddInDictInfo[] { new RevertableDictAddition.AddInDictInfo(addInfos.ToArray(), propertyDict) }, Array.Empty <RevertableDictAddition.SingleAddInDictInfo>())); scene.AddToUndo(new RevertableDictDeletion(new RevertableDictDeletion.DeleteInDictInfo[] { new RevertableDictDeletion.DeleteInDictInfo(deleteInfos.ToArray(), propertyDict) }, Array.Empty <RevertableDictDeletion.SingleDeleteInDictInfo>())); foreach (var changeInfo in changeInfos) { scene.AddToUndo(changeInfo); } scene.EndUndoCollection(); //regenerate propertyDict by merging the newParameters and the oterParameters propertyDict.Clear(); foreach (var parameter in newParameters) { propertyDict.Add(parameter.Key, parameter.Value); } foreach (var parameter in otherParameters) { propertyDict.Add(parameter.Key, parameter.Value); } //update keys propertyDictKeys = propertyDict.Keys.ToArray(); } } }
public void DoUI(IObjectUIControl control) { #if ODYSSEY control.PlainText(Convert.ToString(obj.ScenarioBitField, 2)); #endif if (Spotlight.Properties.Settings.Default.AllowIDEdits) { obj.ID = control.TextInput(obj.ID, "Object ID"); } else { control.TextInput(obj.ID, "Object ID"); } if (obj.comment != null) { control.TextInput(obj.comment, "Comment"); } obj.Layer = control.TextInput(obj.Layer, "Layer"); obj.ObjectName = control.DropDownTextInput("Object Name", obj.ObjectName, DB_objectNames); if (showClassNameInfo) { control.SetTooltip(classNameInfo); } obj.ClassName = control.DropDownTextInput("Class Name", obj.ClassName, DB_classNames); if (showClassNameAlias) { control.PlainText(classNameAlias); } control.SetTooltip(null); obj.ModelName = control.DropDownTextInput("Model Name", obj.ModelName, DB_modelNames); control.VerticalSeperator(); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Position = control.Vector3Input(obj.Position, "Position", 1, 16); } else { obj.Position = control.Vector3Input(obj.Position, "Position", 0.125f, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Rotation = control.Vector3Input(obj.Rotation, "Rotation", 45, 18); } else { obj.Rotation = control.Vector3Input(obj.Rotation, "Rotation", 5, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Scale = control.Vector3Input(obj.Scale, "Scale", 1, 16); } else { obj.Scale = control.Vector3Input(obj.Scale, "Scale", 0.125f, 2); } control.VerticalSeperator(); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.DisplayTranslation = control.Vector3Input(obj.DisplayTranslation, "Display Position", 1, 16); } else { obj.DisplayTranslation = control.Vector3Input(obj.DisplayTranslation, "Display Position", 0.125f, 2); } //TODO }
public void DoUI(IObjectUIControl control) { for (int i = 0; i < keys.Length; i++) { string key = keys[i]; if (dict[key] is int) { dict[key] = (int)control.NumberInput(dict[key], key); } else if (dict[key] is float) { dict[key] = control.NumberInput(dict[key], key); } else if (dict[key] is string) { dict[key] = control.TextInput(dict[key], key); } else if (dict[key] is bool) { dict[key] = control.CheckBox(key, dict[key]); } } if (control.Button("Edit")) { List <(ObjectParameterForm.TypeDef typeDef, string name)> parameters = new List <(ObjectParameterForm.TypeDef typeDef, string name)>(); List <KeyValuePair <string, dynamic> > otherParameters = new List <KeyValuePair <string, dynamic> >(); foreach (var item in dict) { if (item.Value is int) { parameters.Add((ObjectParameterForm.typeDefs[0], item.Key)); } else if (item.Value is float) { parameters.Add((ObjectParameterForm.typeDefs[1], item.Key)); } else if (item.Value is string) { parameters.Add((ObjectParameterForm.typeDefs[2], item.Key)); } else if (item.Value is bool) { parameters.Add((ObjectParameterForm.typeDefs[3], item.Key)); } else { otherParameters.Add(item); } } var parameterForm = new ObjectParameterForm(parameters); if (parameterForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { List <RevertableDictAddition.AddInfo> addInfos = new List <RevertableDictAddition.AddInfo>(); List <RevertableDictDeletion.DeleteInfo> deleteInfos = new List <RevertableDictDeletion.DeleteInfo>(); HashSet <string> newParamNames = new HashSet <string>(); List <KeyValuePair <string, dynamic> > newEntries = new List <KeyValuePair <string, dynamic> >(); foreach ((ObjectParameterForm.TypeDef def, string name) in parameterForm.Parameters) { if (dict.ContainsKey(name)) { newEntries.Add(new KeyValuePair <string, dynamic>(name, dict[name])); } else { newEntries.Add(new KeyValuePair <string, dynamic>(name, def.DefaultValue)); addInfos.Add(new RevertableDictAddition.AddInfo(def.DefaultValue, name)); } newParamNames.Add(name); } foreach (var keyValuePair in dict) { if (!newParamNames.Contains(keyValuePair.Key)) { deleteInfos.Add(new RevertableDictDeletion.DeleteInfo(keyValuePair.Value, keyValuePair.Key)); } } scene.BeginUndoCollection(); scene.AddToUndo(new RevertableDictAddition(new RevertableDictAddition.AddInDictInfo[] { new RevertableDictAddition.AddInDictInfo(addInfos.ToArray(), dict) }, new RevertableDictAddition.SingleAddInDictInfo[0])); scene.AddToUndo(new RevertableDictDeletion(new RevertableDictDeletion.DeleteInDictInfo[] { new RevertableDictDeletion.DeleteInDictInfo(deleteInfos.ToArray(), dict) }, new RevertableDictDeletion.SingleDeleteInDictInfo[0])); scene.EndUndoCollection(); dict.Clear(); foreach (var keyValuePair in newEntries) { dict.Add(keyValuePair.Key, keyValuePair.Value); } foreach (var keyValuePair in otherParameters) { dict.Add(keyValuePair.Key, keyValuePair.Value); } keys = dict.Keys.ToArray(); } } }
public void DoUI(IObjectUIControl control) { if (SpotLight.Properties.Settings.Default.AllowIDEdits) { obj.ID = control.TextInput(obj.ID, "Object ID"); } else { control.TextInput(obj.ID, "Object ID"); } obj.ObjectName = control.TextInput(obj.ObjectName, "Object Name"); obj.ClassName = control.TextInput(obj.ClassName, "Class Name"); obj.ModelName = control.TextInput(obj.ModelName, "Model Name"); control.VerticalSeperator(); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Position = control.Vector3Input(obj.Position, "Position", 1, 16); } else { obj.Position = control.Vector3Input(obj.Position, "Position", 0.125f, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Rotation = control.Vector3Input(obj.Rotation, "Rotation", 45, 18); } else { obj.Rotation = control.Vector3Input(obj.Rotation, "Rotation", 5, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.Scale = control.Vector3Input(obj.Scale, "Scale", 1, 16); } else { obj.Scale = control.Vector3Input(obj.Scale, "Scale", 0.125f, 2); } control.VerticalSeperator(); if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.DisplayTranslation = control.Vector3Input(obj.DisplayTranslation, "Display Position", 1, 16); } else { obj.DisplayTranslation = control.Vector3Input(obj.DisplayTranslation, "Display Position", 0.125f, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.DisplayRotation = control.Vector3Input(obj.DisplayRotation, "Display Rotation", 45, 18); } else { obj.DisplayRotation = control.Vector3Input(obj.DisplayRotation, "Display Rotation", 5, 2); } if (WinInput.Keyboard.IsKeyDown(WinInput.Key.LeftShift)) { obj.DisplayScale = control.Vector3Input(obj.DisplayScale, "Display Scale", 1, 16); } else { obj.DisplayScale = control.Vector3Input(obj.DisplayScale, "Display Scale", 0.125f, 2); } }