public void DynamicTexture_Free(Component_Image texture) { var item = dynamicTexturesAllocated.Find(i => i.image == texture); //RenderTargetItem item = null; //foreach( var i in renderTargetsAllocated ) //{ // if( i.target == renderTarget ) // { // item = i; // break; // } //} ////can be created for MRT. such render targets can't free. //if( item == null ) // return; if (item == null) { Log.Fatal("ViewportRenderingContext: DynamicTexture_Free: Dynamic texture is not allocated."); } if (dynamicTexturesFree.Contains(item)) { Log.Fatal("ViewportRenderingContext: DynamicTexture_Free: Dynamic texture is already free."); } dynamicTexturesFree.Add(item); }
public void UpdateCells() { var actualControls = new ESet <Component>(Rows * Columns); //add new cells for (int nRow = 0; nRow < Rows; nRow++) { for (int nColumn = 0; nColumn < Columns; nColumn++) { var name = string.Format("Cell {0} {1}", nRow, nColumn); var control = Components.GetByName(name); if (control == null) { control = CreateComponent <UIControl>(); control.Name = name; } actualControls.Add(control); } } var toDelete = new ESet <Component>(); foreach (var c in GetCells()) { if (!actualControls.Contains(c)) { toDelete.Add(c); } } //delete old foreach (var c in toDelete) { c.RemoveFromParent(false); } if (AutoPosition) { UpdateCellsPositionAndSize(); } }
internal static void LoadFileForType(Metadata.TypeInfo type) { try { var assembly = type.GetNetType().Assembly; if (assembly == null) { return; } if (parsedAssemblies.Contains(assembly)) { return; } parsedAssemblies.Add(assembly); var fileName = Path.GetFileName(assembly.Location); if (!string.IsNullOrEmpty(fileName)) { var xmlFileName = Path.ChangeExtension(fileName, ".xml"); Load(xmlFileName); } } catch { } }
public void AddExtension(string extension) { fileExtensions.Add(extension); typeByFileExtension[extension.ToLower()] = this; }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //!!!! public static bool CanBeShaderParameter(Type type) { if (shaderParameterTypesSupported == null) { shaderParameterTypesSupported = new ESet <Type>(); shaderParameterTypesSupported.Add(typeof(bool)); shaderParameterTypesSupported.Add(typeof(sbyte)); shaderParameterTypesSupported.Add(typeof(byte)); shaderParameterTypesSupported.Add(typeof(char)); shaderParameterTypesSupported.Add(typeof(short)); shaderParameterTypesSupported.Add(typeof(ushort)); shaderParameterTypesSupported.Add(typeof(int)); shaderParameterTypesSupported.Add(typeof(uint)); //shaderParameterTypesSupported.Add( typeof( long ) ); //shaderParameterTypesSupported.Add( typeof( ulong ) ); shaderParameterTypesSupported.Add(typeof(float)); shaderParameterTypesSupported.Add(typeof(double)); shaderParameterTypesSupported.Add(typeof(Vector2F)); shaderParameterTypesSupported.Add(typeof(RangeF)); shaderParameterTypesSupported.Add(typeof(Vector3F)); shaderParameterTypesSupported.Add(typeof(Vector4F)); //shaderParameterTypesSupported.Add( typeof( BoundsF ) ); shaderParameterTypesSupported.Add(typeof(QuaternionF)); shaderParameterTypesSupported.Add(typeof(ColorValue)); shaderParameterTypesSupported.Add(typeof(ColorValuePowered)); shaderParameterTypesSupported.Add(typeof(SphericalDirectionF)); shaderParameterTypesSupported.Add(typeof(Vector2I)); shaderParameterTypesSupported.Add(typeof(Vector3I)); shaderParameterTypesSupported.Add(typeof(Vector4I)); shaderParameterTypesSupported.Add(typeof(RectangleF)); shaderParameterTypesSupported.Add(typeof(RectangleI)); shaderParameterTypesSupported.Add(typeof(DegreeF)); shaderParameterTypesSupported.Add(typeof(RadianF)); shaderParameterTypesSupported.Add(typeof(Vector2)); shaderParameterTypesSupported.Add(typeof(Range)); shaderParameterTypesSupported.Add(typeof(RangeI)); shaderParameterTypesSupported.Add(typeof(Vector3)); shaderParameterTypesSupported.Add(typeof(Vector4)); //shaderParameterTypesSupported.Add( typeof( Bounds ) ); shaderParameterTypesSupported.Add(typeof(Quaternion)); shaderParameterTypesSupported.Add(typeof(SphericalDirection)); shaderParameterTypesSupported.Add(typeof(Rectangle)); shaderParameterTypesSupported.Add(typeof(Degree)); shaderParameterTypesSupported.Add(typeof(Radian)); shaderParameterTypesSupported.Add(typeof(AnglesF)); shaderParameterTypesSupported.Add(typeof(Angles)); shaderParameterTypesSupported.Add(typeof(Matrix2F)); shaderParameterTypesSupported.Add(typeof(Matrix2)); shaderParameterTypesSupported.Add(typeof(Matrix3F)); shaderParameterTypesSupported.Add(typeof(Matrix3)); shaderParameterTypesSupported.Add(typeof(Matrix4F)); shaderParameterTypesSupported.Add(typeof(Matrix4)); shaderParameterTypesSupported.Add(typeof(PlaneF)); shaderParameterTypesSupported.Add(typeof(Plane)); } return(shaderParameterTypesSupported.Contains(type) || typeof(Component_Image).IsAssignableFrom(type)); }
// public static void Load(string xmlFile) { if (triedLoadFiles.Contains(xmlFile)) { return; } triedLoadFiles.Add(xmlFile); var path = Path.Combine(VirtualFileSystem.Directories.Binaries, xmlFile); if (File.Exists(path)) { try { var document = new XmlDocument(); document.Load(path); foreach (XmlNode docNode in document.SelectNodes("doc")) { foreach (XmlNode membersNode in docNode.SelectNodes("members")) { foreach (XmlNode childNode in membersNode.ChildNodes) { if (childNode.Name == "member") { var name = childNode.Attributes["name"].Value; XmlNode summaryNode = null; try { summaryNode = childNode.SelectSingleNode("summary"); } catch { } if (summaryNode != null) { string summary = null; if (summaryNode.InnerText != null) { //Occurs when the < see cref = "P:NeoAxis.Component.Enabled" /> property value changes. summary = summaryNode.InnerXml.Trim(); //remove <see> tags try { do { var startIndex = summary.IndexOf("<see "); if (startIndex == -1) { break; } { int endIndex = summary.IndexOf("/>", startIndex + 1); if (endIndex != -1) { var str = summary.Substring(startIndex, endIndex - startIndex + 2); var v1 = str.LastIndexOf('.'); var v2 = str.LastIndexOf('"'); if (v1 == -1 || v2 == -1) { break; } var newStr = str.Substring(v1 + 1, v2 - v1 - 1); newStr = TypeUtility.DisplayNameAddSpaces(newStr); summary = summary.Replace(str, newStr); continue; } } { int endIndex = summary.IndexOf(">", startIndex + 1); int endIndex2 = summary.IndexOf("</see>", startIndex + 1); if (endIndex != -1 && endIndex2 != -1) { var s = summary; summary = s.Substring(0, startIndex) + s.Substring(endIndex + 1, endIndex2 - endIndex - 1) + s.Substring(endIndex2 + "</see>".Length); continue; } } break; } while(true); } catch { } //summary = summaryNode.InnerText.Trim(); } if (!string.IsNullOrEmpty(summary)) { memberSummaries[name] = summary; } } } } } } } catch (Exception e) { Log.Warning("XmlDocumentationData: Load: Unable to parse file \'{0}\'. Error: \'{1}\'", path, e.Message); } } }