public YAMLNode ExportYAML(IExportContainer container) { YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion)); node.Add(PatchesName, Patches.ExportYAML(container)); node.Add(DetailPrototypesName, DetailPrototypes.ExportYAML(container)); node.Add(PatchCountName, PatchCount); node.Add(PatchSamplesName, PatchSamples); node.Add(RandomRotationsName, RandomRotations.ExportYAML(container)); node.Add(WavingGrassTintName, WavingGrassTint.ExportYAML(container)); node.Add(WavingGrassStrengthName, WavingGrassStrength); node.Add(WavingGrassAmountName, WavingGrassAmount); node.Add(WavingGrassSpeedName, WavingGrassSpeed); if (IsReadDetailBillboardShader(container.ExportVersion)) { node.Add(DetailBillboardShaderName, ExportDetailBillboardShader(container)); node.Add(DetailMeshLitShaderName, ExportDetailMeshLitShader(container)); node.Add(DetailMeshGrassShaderName, ExportDetailMeshGrassShader(container)); } node.Add(TreeInstancesName, TreeInstances.ExportYAML(container)); node.Add(TreePrototypesName, TreePrototypes.ExportYAML(container)); node.Add(PreloadTextureAtlasDataName, PreloadTextureAtlasData.ExportYAML(container)); return(node); }
public void CreateUniqueInstance(uint treeID, string newName, string newDescription = "") { TreeInfo oldInfo = TreeManager.instance.m_trees.m_buffer[treeID].Info; UniqueTree uniqueTree = oldInfo.GetImmediateCopy(newName); TreeInfos.Add(uniqueTree); TreeInstances.Add(treeID, uniqueTree); }
public void RemoveTreeInstances(System.Predicate <GTreeInstance> condition) { int removedCount = TreeInstances.RemoveAll(condition); if (removedCount > 0) { TreeAllChanged(); } }
public bool RemoveInstance(uint treeID, bool removeInfo = true) { UniqueTreeInstance instance = TreeInstances.Get(treeID); if ((instance.Flags & TreeInstance.Flags.Created) != TreeInstance.Flags.None) { if (removeInfo) { TreeInfos.Remove(instance.UniqueName); } TreeInstances.Remove(treeID); return(true); } return(false); }
public YAMLNode ExportYAML(IExportContainer container) { #warning TODO: values acording to read version (current 2017.3.0f3) YAMLMappingNode node = new YAMLMappingNode(); node.AddSerializedVersion(GetSerializedVersion(container.Version)); node.Add("m_Patches", Patches.ExportYAML(container)); node.Add("m_DetailPrototypes", DetailPrototypes.ExportYAML(container)); node.Add("m_PatchCount", PatchCount); node.Add("m_PatchSamples", PatchSamples); node.Add("m_RandomRotations", RandomRotations.ExportYAML(container)); node.Add("WavingGrassTint", WavingGrassTint.ExportYAML(container)); node.Add("m_WavingGrassStrength", WavingGrassStrength); node.Add("m_WavingGrassAmount", WavingGrassAmount); node.Add("m_WavingGrassSpeed", WavingGrassSpeed); node.Add("m_TreeInstances", TreeInstances.ExportYAML(container)); node.Add("m_TreePrototypes", TreePrototypes.ExportYAML(container)); node.Add("m_PreloadTextureAtlasData", PreloadTextureAtlasData.ExportYAML(container)); return(node); }
public void Refresh() { if (Trees != null) { List <GTreePrototype> prototypes = Trees.Prototypes; for (int i = 0; i < prototypes.Count; ++i) { prototypes[i].Refresh(); } TreeInstances.RemoveAll(t => t.PrototypeIndex < 0 || t.PrototypeIndex >= Trees.Prototypes.Count); } if (Grasses != null) { for (int i = 0; i < GrassPatches.Length; ++i) { GrassPatches[i].Instances.RemoveAll(g => g.PrototypeIndex < 0 || g.PrototypeIndex >= Grasses.Prototypes.Count); } } CalculateEstimatedGrassStorage(); }
public bool ContainsInstance(uint treeID) { return(TreeInstances.Contains(treeID)); }
public void ExportYAML(IExportContainer container, YAMLMappingNode node) { node.Add(TreeInstancesName, TreeInstances.ExportYAML(container)); node.Add(TreePrototypesName, TreePrototypes.ExportYAML(container)); }
public void Write(AssetWriter writer) { TreeInstances.Write(writer); TreePrototypes.Write(writer); }
public void ClearTreeInstances() { TreeInstances.Clear(); TreeAllChanged(); }
public void AddTreeInstances(IEnumerable <GTreeInstance> newInstances) { TreeInstances.AddRange(newInstances); TreeAllChanged(); }