/// <summary> /// Loads a texture from a file /// </summary> /// <param name="filename">The file from which to get the texture</param> /// <returns>If it loaded the texture correctly</returns> public bool Load(string filename) { FileStream fs = new FileStream(filename, FileMode.Open); BinaryReader br = new BinaryReader(fs); //Read the size int sizex = br.ReadInt32(); int sizey = br.ReadInt32(); this.Scale(sizex, sizey); //Scale to new size ComponentEditor.ModifyAll(this, null); //And clear //Read textures int totalPixels = br.ReadInt32(); for (int i = 0; i < totalPixels; i++) { int x = br.ReadInt32(); int y = br.ReadInt32(); char c = (char)br.ReadInt32(); ConsoleColor f = (ConsoleColor)br.ReadInt32(); ConsoleColor b = (ConsoleColor)br.ReadInt32(); Contents[x, y] = new Pixel(c, f, b); } return(true); }
public override PropertyDescriptor[] GetProperties(ComponentEditor editor, object converter) { MemberInfo groupInfo = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Group); MemberInfo field1Info = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Field1); MemberInfo field2Info = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Field2); List <PropertyDescriptor> descriptors = new List <PropertyDescriptor>(); descriptors.Add(new PropertyDescriptor("Group", editor.Components, groupInfo) { ValueChangedCallback = () => editor.BuildEditor() }); IEnumerable <FieldGroup> groups = editor.Components.Where(component => component != null).OfType <SelectDisplayFieldsBehaviour>().Select(behavior => behavior.Group).Distinct(); foreach (FieldGroup group in groups) { switch (group) { case FieldGroup.Group1: descriptors.Add(new PropertyDescriptor("Field1", editor.Components, field1Info)); break; case FieldGroup.Group2: descriptors.Add(new PropertyDescriptor("Field2", editor.Components, field2Info)); break; } } return(descriptors.ToArray()); }
public override PropertyDescriptor[] GetProperties(ComponentEditor editor, object converter) { MemberInfo groupInfo = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Group); MemberInfo field1Info = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Field1); MemberInfo field2Info = Strong.MemberInfo((SelectDisplayFieldsBehaviour x) => x.Field2); List <PropertyDescriptor> descriptors = new List <PropertyDescriptor>(); descriptors.Add(new PropertyDescriptor("Group", editor.Component, groupInfo) { ValueChangedCallback = () => editor.BuildEditor() }); SelectDisplayFieldsBehaviour behaviour = (SelectDisplayFieldsBehaviour)editor.Component; switch (behaviour.Group) { case FieldGroup.Group1: descriptors.Add(new PropertyDescriptor("Field1", editor.Component, field1Info)); break; case FieldGroup.Group2: descriptors.Add(new PropertyDescriptor("Field2", editor.Component, field2Info)); break; } return(descriptors.ToArray()); }
/// <include file='doc\DesignerPackage.uex' path='docs/doc[@for="DesignerPackage.ShowComponentEditor"]/*' /> /// <devdoc> /// Attempts to display a ComponentDesigner for a component. ComponenentDesigners /// are similar to property pages from COM. /// /// If the component does not support component designers, and InvalidArgumentException is thrown. To /// avoid this, be sure to call CanShowComponentDesigner first. /// </devdoc> public bool ShowComponentEditor(object component, IWin32Window parent) { object obj = component; // sburke, 5.22.200, why are we preventing vs calls for all custom type descriptors? // I think we should be preventing the vs call for all non-native // ICustomTypeDescriptor objects... // bool preventVsCall = false; if (obj is ICustomTypeDescriptor) { obj = ((ICustomTypeDescriptor)obj).GetPropertyOwner(null); preventVsCall = !Marshal.IsComObject(obj); } IVsPropertyPageFrame pVsPageFrame = (IVsPropertyPageFrame)GetService((typeof(IVsPropertyPageFrame))); if (!preventVsCall && pVsPageFrame != null && Marshal.IsComObject(obj)) { if (NativeMethods.S_OK == pVsPageFrame.ShowFrame(Guid.Empty)) { return(true); } } try { ComponentEditor editor = (ComponentEditor)TypeDescriptor.GetEditor(obj, typeof(ComponentEditor)); if (editor != null) { if (editor is WindowsFormsComponentEditor) { return(((WindowsFormsComponentEditor)editor).EditComponent(obj, GetDialogOwnerWindow())); } else { return(editor.EditComponent(obj)); } } } catch (Exception) { return(false); } return(false); }
public bool ShowComponentEditor(object component, IWin32Window parent) { bool result = false; ComponentEditor componentEditor = (ComponentEditor)TypeDescriptor.GetEditor(component, typeof(ComponentEditor)); if (componentEditor != null) { WindowsFormsComponentEditor windowsFormsComponentEditor = componentEditor as WindowsFormsComponentEditor; if (windowsFormsComponentEditor != null) { if (parent == null) { parent = this.GetDialogOwnerWindow(); } result = windowsFormsComponentEditor.EditComponent(component, parent); } else { result = componentEditor.EditComponent(component); } } return(result); }
private bool CreateComponentEditor(List <Component> components) { if (components.Count == 0) { return(false); } Component component = components[0]; Type componentType = component.GetType(); if (m_editorsMap.IsObjectEditorEnabled(componentType)) { GameObject editorPrefab = m_editorsMap.GetObjectEditor(componentType); if (editorPrefab != null) { ComponentEditor componentEditorPrefab = editorPrefab.GetComponent <ComponentEditor>(); if (componentEditorPrefab != null) { ComponentEditor editor = Instantiate(componentEditorPrefab); editor.EndEditCallback = () => { UpdatePreviews(components); }; editor.transform.SetParent(ComponentsPanel, false); editor.Components = components.ToArray(); return(true); } else { Debug.LogErrorFormat("editor prefab {0} does not have ComponentEditor script", editorPrefab.name); return(false); } } } return(false); }
public bool CanShowComponentEditor(object component) { ComponentEditor componentEditor = (ComponentEditor)TypeDescriptor.GetEditor(component, typeof(ComponentEditor)); return(null != componentEditor); }
public virtual void Render(int TickTime) { ComponentEditor.Clear(this); ComponentEditor.WriteString(this, _VisibleText, 0, 0, SizeX, SizeY); }
public override PropertyDescriptor[] GetProperties(ComponentEditor editor, object converter) { return(new PropertyDescriptor[0]); }
public override PropertyDescriptor[] GetProperties(ComponentEditor editor, object converter) { ILocalization lc = IOC.Resolve <ILocalization>(); bool overrideVoxelSize = editor.NotNullComponents.OfType <NavMeshSurface>().All(nms => nms.overrideVoxelSize); bool overrideTileSize = editor.NotNullComponents.OfType <NavMeshSurface>().All(nms => nms.overrideTileSize); MemberInfo agentTypeInfo = Strong.MemberInfo((NavMeshSurface x) => x.agentTypeID); MemberInfo collectObjectsInfo = Strong.MemberInfo((NavMeshSurface x) => x.collectObjects); MemberInfo useGeometryInfo = Strong.MemberInfo((NavMeshSurface x) => x.useGeometry); MemberInfo defaultAreaInfo = Strong.MemberInfo((NavMeshSurface x) => x.defaultArea); MemberInfo overrideVoxelSizeInfo = Strong.MemberInfo((NavMeshSurface x) => x.overrideVoxelSize); MemberInfo voxelSizeInfo = Strong.MemberInfo((NavMeshSurface x) => x.voxelSize); MemberInfo overrideTileSizeInfo = Strong.MemberInfo((NavMeshSurface x) => x.overrideTileSize); MemberInfo tileSizeInfo = Strong.MemberInfo((NavMeshSurface x) => x.tileSize); MemberInfo buildHightMesh = Strong.MemberInfo((NavMeshSurface x) => x.buildHeightMesh); MethodInfo bakeMethodInfo = Strong.MethodInfo((NavMeshSurface x) => x.BuildNavMesh()); MethodInfo clearMethodInfo = Strong.MethodInfo((NavMeshSurface x) => x.RemoveData()); int settingsCount = NavMesh.GetSettingsCount(); RangeOptions.Option[] agentTypes = new RangeOptions.Option[settingsCount]; for (int i = 0; i < settingsCount; ++i) { var id = NavMesh.GetSettingsByIndex(i).agentTypeID; var name = NavMesh.GetSettingsNameFromID(id); agentTypes[i] = new RangeOptions.Option(name, id); } List <PropertyDescriptor> descriptors = new List <PropertyDescriptor>(); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_AgentType"), editor.Components, agentTypeInfo) { Range = new RangeOptions(agentTypes) }); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_CollectObjects"), editor.Components, collectObjectsInfo)); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_UseGeometry"), editor.Components, useGeometryInfo)); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_DefaultArea"), editor.Components, defaultAreaInfo)); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_OverrideVoxelSize"), editor.Components, overrideVoxelSizeInfo) { ValueChangedCallback = () => editor.BuildEditor() }); if (overrideVoxelSize) { descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_VoxelSize"), editor.Components, voxelSizeInfo)); } descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_OverrideTileSize"), editor.Components, overrideTileSizeInfo) { ValueChangedCallback = () => editor.BuildEditor() }); if (overrideTileSize) { descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_TileSize"), editor.Components, tileSizeInfo)); } descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_BuildHeightMesh"), editor.Components, buildHightMesh)); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_Bake"), editor.Components, bakeMethodInfo) { ValueChangedCallback = () => editor.BuildEditor() }); descriptors.Add(new PropertyDescriptor(lc.GetString("ID_RTNavigation_NavMeshAgentComponentDescriptor_Clear"), editor.Components, clearMethodInfo) { ValueChangedCallback = () => editor.BuildEditor() }); return(descriptors.ToArray()); }
private void ribbonButtonComponentEditorOpen_Click(object sender, EventArgs e) { ComponentEditor cm = new ComponentEditor(); cm.Show(this); }
public override void Render(int TickTime) { base.Render(TickTime); ComponentEditor.ModifyBoarders(this); }
private void componentsToolStripMenuItem_Click(object sender, EventArgs e) { ComponentEditor ce = new ComponentEditor((GameObject)SelectedNode.Tag); ce.Show(); }
private void treeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.Parent == null) return; HandleOpenFile(e.Node); if(e.Node.Tag is GameObject) { ComponentEditor ce = new ComponentEditor((GameObject)e.Node.Tag); ce.Show(); } }
public static CustomComponentEditor CustomEditor(ComponentEditor visitor) { return(new CustomComponentEditor { Visitor = visitor }); }