SEToolbox.Interop.Asteroids.MyVoxelMap.CountAssets C# (CSharp) Method

CountAssets() public method

public CountAssets ( long>.Dictionary assetCount ) : long>.Dictionary
assetCount long>.Dictionary
return long>.Dictionary
        public Dictionary<string, long> CountAssets(Dictionary<byte, long> assetCount)
        {
            var materialDefinitions = SpaceEngineersCore.Resources.VoxelMaterialDefinitions;
            var assetNameCount = new Dictionary<string, long>();

            foreach (var kvp in assetCount)
            {
                string name;

                if (kvp.Key >= materialDefinitions.Count)
                    name = materialDefinitions[VoxelMaterial].Id.SubtypeName;
                else
                    name = materialDefinitions[kvp.Key].Id.SubtypeName;

                if (assetNameCount.ContainsKey(name))
                {
                    assetNameCount[name] += kvp.Value;
                }
                else
                {
                    assetNameCount.Add(name, kvp.Value);
                }
            }

            return assetNameCount;
        }

Same methods

MyVoxelMap::CountAssets ( IList materialAssets ) : long>.Dictionary

Usage Example

Ejemplo n.º 1
0
        public static Dictionary<string, long> GetMaterialAssetDetails(string filename)
        {
            var map = new MyVoxelMap();
            map.Load(filename, SpaceEngineersCore.Resources.GetDefaultMaterialName(), true);

            if (!map.IsValid)
                return new Dictionary<string, long>();

            IList<byte> materialAssetList;
            Dictionary<byte, long> materialVoxelCells;

            map.CalculateMaterialCellAssets(out materialAssetList, out materialVoxelCells);
            return map.CountAssets(materialVoxelCells);
        }
All Usage Examples Of SEToolbox.Interop.Asteroids.MyVoxelMap::CountAssets