public static MyToolbarItem CreateToolbarItemFromInventoryItem(IMyInventoryItem inventoryItem) { var itemDefinitionId = inventoryItem.GetDefinitionId(); MyDefinitionBase itemDefinition; if (MyDefinitionManager.Static.TryGetDefinition(itemDefinitionId, out itemDefinition)) { if ((itemDefinition is MyPhysicalItemDefinition) || (itemDefinition is MyCubeBlockDefinition)) { var itemBuilder = MyToolbarItemFactory.ObjectBuilderFromDefinition(itemDefinition); if (itemBuilder is MyObjectBuilder_ToolbarItemMedievalWeapon) { var meWeaponBuilder = itemBuilder as MyObjectBuilder_ToolbarItemMedievalWeapon; meWeaponBuilder.ItemId = inventoryItem.ItemId; } if (itemBuilder != null && !(itemBuilder is MyObjectBuilder_ToolbarItemEmpty)) { return(MyToolbarItemFactory.CreateToolbarItem(itemBuilder)); } } } return(null); }
//THIS FUNCTION IS ONLY NEEDED FOR OLD SAVE COMPATIBILITY public void SetItemAtSerializedCompat(int i, MyDefinitionId defId) { if (!m_items.IsValidIndex(i)) { return; } MyDefinitionBase definition; if (MyDefinitionManager.Static.TryGetDefinition(defId, out definition)) { MyObjectBuilder_ToolbarItem data = MyToolbarItemFactory.ObjectBuilderFromDefinition(definition); SetItemAtIndexInternal(i, MyToolbarItemFactory.CreateToolbarItem(data), true); } }
public void SetDefaults(bool sendEvent = true) { if (m_toolbarType == MyToolbarType.Character) { MyDefinitionBase armorblock, cockpit, smallgenerator, smallthrust, gyro; MyDefinitionId armorblockid = new MyDefinitionId(typeof(MyObjectBuilder_CubeBlock), "LargeBlockArmorBlock"); MyDefinitionId cockpitid = new MyDefinitionId(typeof(MyObjectBuilder_Cockpit), "LargeBlockCockpit"); MyDefinitionId smallgeneratorid = new MyDefinitionId(typeof(MyObjectBuilder_Reactor), "LargeBlockSmallGenerator"); MyDefinitionId smallthrustid = new MyDefinitionId(typeof(MyObjectBuilder_Thrust), "LargeBlockSmallThrust"); MyDefinitionId gyroid = new MyDefinitionId(typeof(MyObjectBuilder_Gyro), "LargeBlockGyro"); int v = 0; if (MyDefinitionManager.Static.TryGetDefinition(armorblockid, out armorblock)) { SetItemAtIndex(v++, armorblockid, MyToolbarItemFactory.ObjectBuilderFromDefinition(armorblock)); } if (MyDefinitionManager.Static.TryGetDefinition(cockpitid, out cockpit)) { SetItemAtIndex(v++, armorblockid, MyToolbarItemFactory.ObjectBuilderFromDefinition(cockpit)); } if (MyDefinitionManager.Static.TryGetDefinition(smallgeneratorid, out smallgenerator)) { SetItemAtIndex(v++, armorblockid, MyToolbarItemFactory.ObjectBuilderFromDefinition(smallgenerator)); } if (MyDefinitionManager.Static.TryGetDefinition(smallthrustid, out smallthrust)) { SetItemAtIndex(v++, armorblockid, MyToolbarItemFactory.ObjectBuilderFromDefinition(smallthrust)); } if (MyDefinitionManager.Static.TryGetDefinition(gyroid, out gyro)) { SetItemAtIndex(v++, armorblockid, MyToolbarItemFactory.ObjectBuilderFromDefinition(gyro)); } for (int i = v; i < m_items.Length; ++i) { SetItemAtIndex(i, null); } m_currentColorMaskHSV = 0; SetDefaultColors(); } }