public void InsertBonusShipRazerClaw() { foreach (var item in InventoryItems) { var shipBuilder = item.ItemObjectBuilder as MyMwcObjectBuilder_SmallShip; if (shipBuilder != null && shipBuilder.ShipType == MyMwcObjectBuilder_SmallShip_TypesEnum.RAZORCLAW) { return; } } var razorBuilder = MyMwcObjectBuilder_SmallShip_Player.CreateDefaultShip(MyMwcObjectBuilder_SmallShip_TypesEnum.RAZORCLAW, MyMwcObjectBuilder_FactionEnum.Rainiers, 100); razorBuilder.Inventory.MaxItems = 60; InventoryItems.Add(new MyMwcObjectBuilder_InventoryItem(razorBuilder, 1)); }
/// <summary> /// Fills inventory with all items /// </summary> /// <param name="maxItems">Max items limit</param> public void FillInventoryWithAllItems(int?maxItems = null, int?increaseMaxItemsAbout = null, bool loadSmallShips = false) { if (maxItems != null) { MaxItems = maxItems.Value; } MyInventoryItem inventoryItem; List <MyInventoryItem> inventoryItemsToAdd = new List <MyInventoryItem>(); // ammo foreach (MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum item in MyGuiSmallShipHelpers.MyMwcObjectBuilder_SmallShip_Ammo_TypesEnumValues) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Ammo(item)); inventoryItem.Amount = inventoryItem.MaxAmount; inventoryItemsToAdd.Add(inventoryItem); } // engines foreach (MyMwcObjectBuilder_SmallShip_Engine_TypesEnum item in MyGuiSmallShipHelpers.MyMwcObjectBuilder_SmallShip_Engine_TypesEnumValues) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Engine(item)); inventoryItemsToAdd.Add(inventoryItem); } // weapons foreach (MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum item in MyGuiSmallShipHelpers.MyMwcObjectBuilder_SmallShip_Weapon_TypesEnumValues) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Weapon(item)); inventoryItemsToAdd.Add(inventoryItem); } // tools foreach (MyMwcObjectBuilder_SmallShip_Tool_TypesEnum item in MyGuiSmallShipHelpers.MyMwcObjectBuilder_SmallShip_ToolEnumValues) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Tool(item)); inventoryItem.Amount = inventoryItem.MaxAmount; inventoryItemsToAdd.Add(inventoryItem); } // armors foreach (MyMwcObjectBuilder_SmallShip_Armor_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Armor_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Armor(item)); inventoryItemsToAdd.Add(inventoryItem); } // radars foreach (MyMwcObjectBuilder_SmallShip_Radar_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Radar_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_Radar(item)); inventoryItemsToAdd.Add(inventoryItem); } // blueprints foreach (MyMwcObjectBuilder_Blueprint_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_Blueprint_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_Blueprint(item)); inventoryItemsToAdd.Add(inventoryItem); } //ore foreach (MyMwcObjectBuilder_Ore_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_Ore_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_Ore(item)); inventoryItem.Amount = 1; inventoryItemsToAdd.Add(inventoryItem); } // fakeId foreach (MyMwcObjectBuilder_FactionEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_FactionEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_FalseId(item)); inventoryItemsToAdd.Add(inventoryItem); } // hacking tool foreach (MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_HackingTool_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallShip_HackingTool(item)); inventoryItemsToAdd.Add(inventoryItem); } // drone foreach (MyMwcObjectBuilder_Drone_TypesEnum droneType in Enum.GetValues(typeof(MyMwcObjectBuilder_Drone_TypesEnum))) { var droneBuilder = new MyMwcObjectBuilder_Drone(droneType); inventoryItem = CreateInventoryItemFromObjectBuilder(droneBuilder); inventoryItem.Amount = inventoryItem.MaxAmount; inventoryItemsToAdd.Add(inventoryItem); } // playerships if (loadSmallShips) { foreach (MyMwcObjectBuilder_SmallShip_TypesEnum shipType in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_TypesEnum))) { inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(MyMwcObjectBuilder_SmallShip_Player.CreateDefaultShip(shipType, MySession.PlayerShip.Faction, MyShipTypeConstants.GetShipTypeProperties(shipType).GamePlay.CargoCapacity)); inventoryItemsToAdd.Add(inventoryItem); } } //// prefabs //foreach(MyMwcObjectBuilder_Prefab_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_Prefab_TypesEnum))) { // inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_Prefab(item, new MyMwcVector3Short(0, 0, 0), new Vector3(0, 0, 0), MyGameplayConstants.MAXHEALTH_PREFAB)); // inventoryItemsToAdd.Add(inventoryItem); //} //// small debris //foreach (MyMwcObjectBuilder_SmallDebris_TypesEnum item in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallDebris_TypesEnum))) //{ // inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(new MyMwcObjectBuilder_SmallDebris(item, true)); // inventoryItemsToAdd.Add(inventoryItem); //} // foundation factory inventoryItem = MyInventory.CreateInventoryItemFromObjectBuilder(MyMwcObjectBuilder_Base.CreateNewObject(MyMwcObjectBuilderTypeEnum.PrefabFoundationFactory, (int)MyMwcObjectBuilder_PrefabFoundationFactory_TypesEnum.DEFAULT)); inventoryItemsToAdd.Add(inventoryItem); if (maxItems != null && !UnlimitedCapacity) { while (inventoryItemsToAdd.Count > maxItems.Value) { int lastIndex = inventoryItemsToAdd.Count - 1; inventoryItem = inventoryItemsToAdd[lastIndex]; inventoryItemsToAdd.RemoveAt(lastIndex); MyInventory.CloseInventoryItem(inventoryItem); } } else { if (inventoryItemsToAdd.Count > MaxItems) { MaxItems = inventoryItemsToAdd.Count; } } if (increaseMaxItemsAbout != null) { MaxItems += increaseMaxItemsAbout.Value; } AddInventoryItems(inventoryItemsToAdd); }