public void Load(MyPositionAndOrientation characterPosition, float maxFloatingObjects)
{
MaxFloatingObjects = maxFloatingObjects;
CharacterPosition = characterPosition;
StockItemList.Clear();
var list = new List<ComponentItemModel>();
var contentPath = ToolboxUpdater.GetApplicationContentPath();
foreach (var componentDefinition in SpaceEngineersCore.Resources.ComponentDefinitions)
{
var bp = SpaceEngineersApi.GetBlueprint(componentDefinition.Id.TypeId, componentDefinition.Id.SubtypeName);
list.Add(new ComponentItemModel
{
Name = componentDefinition.DisplayNameText,
TypeId = componentDefinition.Id.TypeId,
SubtypeId = componentDefinition.Id.SubtypeName,
Mass = componentDefinition.Mass,
TextureFile = componentDefinition.Icons == null ? null : SpaceEngineersCore.GetDataPathOrDefault(componentDefinition.Icons.First(), Path.Combine(contentPath, componentDefinition.Icons.First())),
Volume = componentDefinition.Volume * SpaceEngineersConsts.VolumeMultiplyer,
Accessible = componentDefinition.Public,
Time = bp != null ? TimeSpan.FromSeconds(TimeSpan.TicksPerSecond * bp.BaseProductionTimeInSeconds) : (TimeSpan?)null,
});
}
foreach (var physicalItemDefinition in SpaceEngineersCore.Resources.PhysicalItemDefinitions)
{
if (physicalItemDefinition.Id.SubtypeName == "CubePlacerItem" || physicalItemDefinition.Id.SubtypeName == "WallPlacerItem")
continue;
var bp = SpaceEngineersApi.GetBlueprint(physicalItemDefinition.Id.TypeId, physicalItemDefinition.Id.SubtypeName);
list.Add(new ComponentItemModel
{
Name = physicalItemDefinition.DisplayNameText,
TypeId = physicalItemDefinition.Id.TypeId,
SubtypeId = physicalItemDefinition.Id.SubtypeName,
Mass = physicalItemDefinition.Mass,
Volume = physicalItemDefinition.Volume * SpaceEngineersConsts.VolumeMultiplyer,
TextureFile = physicalItemDefinition.Icons == null ? null : SpaceEngineersCore.GetDataPathOrDefault(physicalItemDefinition.Icons.First(), Path.Combine(contentPath, physicalItemDefinition.Icons.First())),
Accessible = physicalItemDefinition.Public,
Time = bp != null ? TimeSpan.FromSeconds(bp.BaseProductionTimeInSeconds) : (TimeSpan?)null,
});
}
foreach (var physicalItemDefinition in SpaceEngineersCore.Resources.AmmoMagazineDefinitions)
{
var bp = SpaceEngineersApi.GetBlueprint(physicalItemDefinition.Id.TypeId, physicalItemDefinition.Id.SubtypeName);
list.Add(new ComponentItemModel
{
Name = physicalItemDefinition.DisplayNameText,
TypeId = physicalItemDefinition.Id.TypeId,
SubtypeId = physicalItemDefinition.Id.SubtypeName,
Mass = physicalItemDefinition.Mass,
Volume = physicalItemDefinition.Volume * SpaceEngineersConsts.VolumeMultiplyer,
TextureFile = physicalItemDefinition.Icons == null ? null : SpaceEngineersCore.GetDataPathOrDefault(physicalItemDefinition.Icons.First(), Path.Combine(contentPath, physicalItemDefinition.Icons.First())),
Accessible = !string.IsNullOrEmpty(physicalItemDefinition.Model),
Time = bp != null ? TimeSpan.FromSeconds(bp.BaseProductionTimeInSeconds) : (TimeSpan?)null,
});
}
foreach (var item in list.OrderBy(i => i.FriendlyName))
{
StockItemList.Add(item);
}
//list.Clear();
//foreach (var cubeDefinition in SpaceEngineersAPI.CubeBlockDefinitions)
//{
// list.Add(new ComponentItemModel
// {
// Name = cubeDefinition.DisplayName,
// TypeId = cubeDefinition.Id.TypeId,
// SubtypeId = cubeDefinition.Id.SubtypeName,
// CubeSize = cubeDefinition.CubeSize,
// TextureFile = cubeDefinition.Icon == null ? null : Path.Combine(contentPath, cubeDefinition.Icon),
// Accessible = !string.IsNullOrEmpty(cubeDefinition.Model),
// });
//}
//foreach (var item in list.OrderBy(i => i.FriendlyName))
//{
// StockItemList.Add(item);
//}
}