/// <summary> /// Gets the index of the asset depend material by index. /// </summary> /// <returns> /// The asset depend material by index. /// </returns> /// <param name='assetFile'> /// If set to <c>true</c> asset file. /// </param> /// <param name='index'> /// If set to <c>true</c> index. /// </param> /// <param name='matAsset'> /// If set to <c>true</c> material asset. /// </param> /// <param name='matIndex'> /// If set to <c>true</c> material index. /// </param> /// <param name='matTransform'> /// If set to <c>true</c> material transform. /// </param> public bool GetAssetDependMatByIndex(string assetFile, int index, out string matAsset, out int matIndex, out string matTransform) { matAsset = ""; matIndex = 0; matTransform = ""; Asset asset = GetAsset(assetFile); if (asset == null) { return(false); } DependentMaterial depMat = asset.GetDependMatByIndex(index); if (depMat == null) { return(false); } matAsset = depMat.Asset; matIndex = depMat.MaterialIndex; matTransform = depMat.TransformPath; return(true); }
public bool HasDependMaterial(DependentMaterial dstDepMat) { foreach (DependentMaterial depMat in _dependMatList) { if (depMat.IsSame(dstDepMat)) { return(true); } } return(false); }
public static Asset Load(SecurityElement e) { if (e.Tag != "Asset") { return(null); } Asset asset = new Asset(); asset._file = StrParser.ParseStr(e.Attribute("File"), ""); asset._version = StrParser.ParseDecInt(e.Attribute("Version"), 0); asset._fromAsset = StrParser.ParseStr(e.Attribute("FromAsset"), ""); if (e.Children != null) { foreach (SecurityElement c in e.Children) { if (c.Tag == "DependentAnimation") { DependentAnimation depAnim = DependentAnimation.Load(c); if (depAnim != null && !asset.HasDependAnimation(depAnim)) { asset._dependAnimList.Add(depAnim); } } else if (c.Tag == "DependentMaterial") { DependentMaterial depMat = DependentMaterial.Load(c); if (depMat != null && !asset.HasDependMaterial(depMat)) { asset._dependMatList.Add(depMat); } } else if (c.Tag == "DependentTexture") { DependentTexture depTex = DependentTexture.Load(c); if (depTex != null && !asset.HasDependTexture(depTex)) { asset._dependTexList.Add(depTex); } } } } return(asset); }
public bool AddDependMaterial(string matAssetFile, string transformPath, int matIndex) { DependentMaterial depMat = new DependentMaterial(); depMat.Asset = matAssetFile; depMat.TransformPath = transformPath; depMat.MaterialIndex = matIndex; if (!HasDependMaterial(depMat)) { _dependMatList.Add(depMat); } return(true); }
public static DependentMaterial Load(SecurityElement e) { if (e.Tag != "DependentMaterial") { return(null); } DependentMaterial depMat = new DependentMaterial(); depMat._asset = StrParser.ParseStr(e.Attribute("Asset"), ""); depMat._materialIndex = StrParser.ParseDecInt(e.Attribute("MaterialIndex"), 0); depMat._transformPath = StrParser.ParseStr(e.Attribute("TransformPath"), ""); return(depMat); }
public bool IsSame(DependentMaterial depMat) { return(Asset.Equals(depMat.Asset) && MaterialIndex == depMat.MaterialIndex && TransformPath.Equals(depMat.TransformPath)); }