private void AddItems(MyCharacter character) { character.GetInventory(0).Clear(); var ob = MyObjectBuilderSerializer.CreateNewObject<MyObjectBuilder_PhysicalGunObject>(StartingWeaponId.SubtypeName); if (character.WeaponTakesBuilderFromInventory(StartingWeaponId)) { character.GetInventory(0).AddItems(1, ob); } if (HumanoidDefinition.InventoryContentGenerated && MyFakes.ENABLE_RANDOM_INVENTORY) { MyContainerTypeDefinition cargoContainerDefinition = MyDefinitionManager.Static.GetContainerTypeDefinition(HumanoidDefinition.InventoryContainerTypeId.SubtypeName); if (cargoContainerDefinition != null) { character.GetInventory(0).GenerateContent(cargoContainerDefinition); } else { Debug.Fail("CargoContainer type definition " + HumanoidDefinition.InventoryContainerTypeId + " wasn't found."); } } else { foreach (var weaponDef in HumanoidDefinition.InventoryItems) { ob = MyObjectBuilderSerializer.CreateNewObject<MyObjectBuilder_PhysicalGunObject>(weaponDef.SubtypeName); character.GetInventory(0).AddItems(1, ob); } } character.SwitchToWeapon(StartingWeaponId); }
protected override void AddItems(MyCharacter character) { base.AddItems(character); var ob = MyObjectBuilderSerializer.CreateNewObject<MyObjectBuilder_PhysicalGunObject>(StartingWeaponId.SubtypeName); if (character.WeaponTakesBuilderFromInventory(StartingWeaponId)) { character.GetInventory(0).AddItems(1, ob); } // else // allowing the inventory items to be added { foreach (var weaponDef in HumanoidDefinition.InventoryItems) { ob = MyObjectBuilderSerializer.CreateNewObject<MyObjectBuilder_PhysicalGunObject>(weaponDef.SubtypeName); character.GetInventory(0).AddItems(1, ob); } } character.SwitchToWeapon(StartingWeaponId); { MyDefinitionId weaponDefinitionId; weaponDefinitionId = new MyDefinitionId(typeof(MyObjectBuilder_WeaponDefinition), StartingWeaponId.SubtypeName); MyWeaponDefinition weaponDefinition; if (MyDefinitionManager.Static.TryGetWeaponDefinition(weaponDefinitionId, out weaponDefinition)) //GetWeaponDefinition(StartingWeaponId); { if (weaponDefinition.HasAmmoMagazines()) { var ammo = MyObjectBuilderSerializer.CreateNewObject<MyObjectBuilder_AmmoMagazine>(weaponDefinition.AmmoMagazinesId[0].SubtypeName); character.GetInventory(0).AddItems(3, ammo); } } } }