public static bool IsDisabled(MyMwcObjectBuilder_InventoryItem inventoryItem) { int?builderId = inventoryItem.ItemObjectBuilder.GetObjectBuilderId(); MyMwcObjectBuilderTypeEnum builderType = inventoryItem.ItemObjectBuilder.GetObjectBuilderType(); return(IsDisabled(builderType, builderId)); }
private int CreateInventoryItemAddToRepository(MyMwcObjectBuilder_InventoryItem inventoryItem, MyMwcObjectBuilder_Inventory owner) { MyInventoryItem item = MyInventory.CreateInventoryItemFromInventoryItemObjectBuilder(inventoryItem); item.Owner = owner; return m_itemsRepository.AddItem(item); }
public static bool IsDisabled(MyMwcObjectBuilder_InventoryItem inventoryItem) { int? builderId = inventoryItem.ItemObjectBuilder.GetObjectBuilderId(); MyMwcObjectBuilderTypeEnum builderType = inventoryItem.ItemObjectBuilder.GetObjectBuilderType(); return IsDisabled(builderType, builderId); }
/// <summary> /// All weapons cheat implementation /// </summary> static void AllWeaponsEnabled(MyGameplayCheat cheat) { if (MySession.PlayerShip == null) return; List<MyMwcObjectBuilder_SmallShip_Weapon> weapons = new List<MyMwcObjectBuilder_SmallShip_Weapon>(); List<MyMwcObjectBuilder_AssignmentOfAmmo> ammoAssignment = new List<MyMwcObjectBuilder_AssignmentOfAmmo>(); List<MyMwcObjectBuilder_InventoryItem> inventoryItems = new List<MyMwcObjectBuilder_InventoryItem>(); // weapons foreach (MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum weapon in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum))) { weapons.Add(new MyMwcObjectBuilder_SmallShip_Weapon(weapon)); // we want have 2x autocanon if (weapon == MyMwcObjectBuilder_SmallShip_Weapon_TypesEnum.Autocanon) { weapons.Add(new MyMwcObjectBuilder_SmallShip_Weapon(weapon)); } } // ammo assignment ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Primary, MyMwcObjectBuilder_AmmoGroupEnum.Bullet, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_Basic)); ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Secondary, MyMwcObjectBuilder_AmmoGroupEnum.Missile, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Missile_Basic)); ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Third, MyMwcObjectBuilder_AmmoGroupEnum.UniversalLauncherFront, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Mine_Basic)); ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Fourth, MyMwcObjectBuilder_AmmoGroupEnum.UniversalLauncherBack, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Universal_Launcher_Mine_Smart)); ammoAssignment.Add(new MyMwcObjectBuilder_AssignmentOfAmmo(MyMwcObjectBuilder_FireKeyEnum.Fifth, MyMwcObjectBuilder_AmmoGroupEnum.Bullet, MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum.Autocannon_Basic)); MySession.PlayerShip.Weapons.Init(weapons, ammoAssignment); foreach (MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum ammo in Enum.GetValues(typeof(MyMwcObjectBuilder_SmallShip_Ammo_TypesEnum))) { MyMwcObjectBuilder_InventoryItem item = new MyMwcObjectBuilder_InventoryItem(new MyMwcObjectBuilder_SmallShip_Ammo(ammo), MyGameplayConstants.GetGameplayProperties(MyMwcObjectBuilderTypeEnum.SmallShip_Ammo, (int)ammo, MySession.PlayerShip.Faction).MaxAmount); if(!MySession.PlayerShip.Inventory.IsFull) MySession.PlayerShip.Inventory.AddInventoryItem(MyInventory.CreateInventoryItemFromInventoryItemObjectBuilder(item)); } }
bool ItemPredicateRemove(MyMwcObjectBuilder_InventoryItem item) { bool isJammer = item.ItemObjectBuilder.GetObjectBuilderType() == MyMwcObjectBuilderTypeEnum.SmallShip_Tool && item.ItemObjectBuilder.GetObjectBuilderId() == (int)MyMwcObjectBuilder_SmallShip_Tool_TypesEnum.RADAR_JAMMER; return !isJammer; }
bool ItemPredicateRemoveShips(MyMwcObjectBuilder_InventoryItem item) { return item.ItemObjectBuilder != null && item.ItemObjectBuilder is MyMwcObjectBuilder_Ship; }
public MyMwcObjectBuilder_InventoryItem GetObjectBuilder() { MyMwcObjectBuilder_InventoryItem builder = new MyMwcObjectBuilder_InventoryItem(ObjectBuilder, Amount); builder.TemporaryFlags = TemporaryFlags; return builder; }
// Read this object from message-in internal override bool Read(BinaryReader binaryReader, EndPoint senderEndPoint, int gameVersion) { if (base.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } // Inventory items int?countInventoryItems = MyMwcMessageIn.ReadInt32Ex(binaryReader, senderEndPoint); if (countInventoryItems == null) { return(NetworkError()); } MyMwcLog.IfNetVerbose_AddToLog("countInventoryItems: " + countInventoryItems); InventoryItems = new List <MyMwcObjectBuilder_InventoryItem>(countInventoryItems.Value); for (int i = 0; i < countInventoryItems; i++) { MyMwcObjectBuilder_InventoryItem inventoryItem = MyMwcObjectBuilder_Base.ReadAndCreateNewObject(binaryReader, senderEndPoint) as MyMwcObjectBuilder_InventoryItem; if (inventoryItem == null) { return(NetworkError()); } if (inventoryItem.Read(binaryReader, senderEndPoint, gameVersion) == false) { return(NetworkError()); } if (!MyMwcObjectBuilder_InventoryItem.IsDisabled(inventoryItem)) { InventoryItems.Add(inventoryItem); } } // Max items int?maxItems = MyMwcMessageIn.ReadInt32Ex(binaryReader, senderEndPoint); if (maxItems == null) { return(NetworkError()); } MaxItems = maxItems.Value; MyMwcLog.IfNetVerbose_AddToLog("MaxItems: " + MaxItems); // Price coeficient bool?hasPriceCoeficient = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (!hasPriceCoeficient.HasValue) { return(NetworkError()); } if (hasPriceCoeficient.Value) { float?priceCoeficient = MyMwcMessageIn.ReadFloat(binaryReader); if (priceCoeficient == null) { return(NetworkError()); } PriceCoeficient = priceCoeficient.Value; MyMwcLog.IfNetVerbose_AddToLog("PriceCoeficient: " + PriceCoeficient.Value); } else { MyMwcLog.IfNetVerbose_AddToLog("PriceCoeficient is: null"); PriceCoeficient = null; } // Inventory template type bool?hasInventoryTemplateType = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (!hasInventoryTemplateType.HasValue) { return(NetworkError()); } if (hasInventoryTemplateType.Value) { MyMwcInventoryTemplateTypeEnum?inventoryTemplateType = MyMwcMessageIn.ReadObjectBuilderInventoryTemplateTypesEnumEx(binaryReader, senderEndPoint); if (inventoryTemplateType == null) { return(NetworkError()); } TemplateType = inventoryTemplateType.Value; MyMwcLog.IfNetVerbose_AddToLog("TemplateType: " + TemplateType.Value); } else { MyMwcLog.IfNetVerbose_AddToLog("TemplateType is: null"); TemplateType = null; } // Unlimited capacity bool?unlimitedCapacity = MyMwcMessageIn.ReadBoolEx(binaryReader, senderEndPoint); if (unlimitedCapacity == null) { return(NetworkError()); } UnlimitedCapacity = unlimitedCapacity.Value; MyMwcLog.IfNetVerbose_AddToLog("UnlimitedCapacity: " + UnlimitedCapacity); return(true); }