Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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 { }
        }
Esempio n. 4
0
            public void AddExtension(string extension)
            {
                fileExtensions.Add(extension);

                typeByFileExtension[extension.ToLower()] = this;
            }
Esempio n. 5
0
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


        //!!!!
        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));
        }
Esempio n. 6
0
        //

        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);
                }
            }
        }