internal static void Postfix(ref bool __result) { if (__result) { return; } __result = ComponentUtils.GetModComponent(GameManager.GetPlayerManagerComponent().m_ItemInHands) != null; }
private static void Postfix(GearItem __instance) { FixName(__instance); if (!IsInitialized() || ComponentUtils.GetModComponent(__instance) != null) { return; } else { ChangeGameObject(ComponentUtils.GetGameObject(__instance)); } }
private static GearItem GetTargetItem(string targetItemName, string reference) { GameObject targetItem = Resources.Load(targetItemName)?.Cast <GameObject>(); if (ComponentUtils.GetModComponent(targetItem) != null) { // if this a modded item, map it now (no harm if it was already mapped earlier) Mapper.Map(targetItem); } return(ModUtils.GetItem <GearItem>(targetItemName, reference)); }
public static void InitializeComponents(ref GameObject prefab) { if (ComponentUtils.GetModComponent(prefab) != null) { return; } string name = NameUtils.RemoveGearPrefix(prefab.name); string data = JsonHandler.GetJsonText(name); ProxyObject dict = JSON.Load(data) as ProxyObject; InitializeComponents(ref prefab, dict); }
public static void Map(GameObject prefab) { if (prefab is null) { throw new ArgumentException("The prefab was NULL."); } ModComponent modComponent = ComponentUtils.GetModComponent(prefab); if (modComponent is null) { throw new ArgumentException("Prefab " + prefab.name + " does not contain a ModComponent."); } bool hasModPlaceHolder = !(ComponentUtils.GetComponent <ModPlaceHolderComponent>(prefab) is null); if (prefab.GetComponent <GearItem>() is null || hasModPlaceHolder) { ConfigureBehaviours(modComponent); EquippableMapper.Configure(modComponent); LiquidMapper.Configure(modComponent); PowderMapper.Configure(modComponent); FoodMapper.Configure(modComponent); CookableMapper.Configure(modComponent); CookingPotMapper.Configure(modComponent); RifleMapper.Configure(modComponent); ClothingMapper.Configure(modComponent); CollectibleMapper.Configure(modComponent); CharcoalMapper.Configure(modComponent); PurificationMapper.Configure(modComponent); ResearchMapper.Configure(modComponent); FirstAidMapper.Configure(modComponent); ToolMapper.Configure(modComponent); GenericEquippableMapper.Configure(modComponent); BedMapper.Configure(modComponent); BodyHarvestMapper.Configure(modComponent); if (hasModPlaceHolder) { return; } InspectMapper.Configure(modComponent); ConfigureGearItem(modComponent); mappedItems.Add(modComponent); PostProcess(modComponent); } }
internal static void ConfigureBehaviours(GameObject prefab) { if (prefab is null) { throw new ArgumentException("The prefab was NULL."); } ModComponent modComponent = ComponentUtils.GetModComponent(prefab); if (modComponent is null) { throw new ArgumentException("Prefab " + prefab.name + " does not contain a ModComponent."); } ConfigureBehaviours(modComponent); }
public static void InitializeComponents(ref GameObject prefab, ProxyObject dict) { if (ComponentUtils.GetModComponent(prefab) != null || dict is null) { return; } #region Mod Components if (JsonUtils.ContainsKey(dict, "ModBedComponent")) { ModBedComponent newComponent = ComponentUtils.GetOrCreateComponent <ModBedComponent>(prefab); InitializeBedComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModBodyHarvestComponent")) { ModBodyHarvestComponent newComponent = ComponentUtils.GetOrCreateComponent <ModBodyHarvestComponent>(prefab); InitializeBodyHarvestComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModCharcoalComponent")) { ModCharcoalComponent newComponent = ComponentUtils.GetOrCreateComponent <ModCharcoalComponent>(prefab); InitializeCharcoalComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModClothingComponent")) { ModClothingComponent newComponent = ComponentUtils.GetOrCreateComponent <ModClothingComponent>(prefab); InitializeClothingComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModCollectibleComponent")) { ModCollectibleComponent newComponent = ComponentUtils.GetOrCreateComponent <ModCollectibleComponent>(prefab); InitializeCollectibleComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModCookableComponent")) { ModCookableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModCookableComponent>(prefab); InitializeCookableComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModCookingPotComponent")) { ModCookingPotComponent newComponent = ComponentUtils.GetOrCreateComponent <ModCookingPotComponent>(prefab); InitializeCookingPotComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModExplosiveComponent")) { ModExplosiveComponent newComponent = ComponentUtils.GetOrCreateComponent <ModExplosiveComponent>(prefab); InitializeExplosiveComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModFirstAidComponent")) { ModFirstAidComponent newComponent = ComponentUtils.GetOrCreateComponent <ModFirstAidComponent>(prefab); InitializeFirstAidComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModFoodComponent")) { ModFoodComponent newComponent = ComponentUtils.GetOrCreateComponent <ModFoodComponent>(prefab); InitializeFoodComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModGenericComponent")) { ModGenericComponent newComponent = ComponentUtils.GetOrCreateComponent <ModGenericComponent>(prefab); InitializeGenericComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModGenericEquippableComponent")) { ModGenericEquippableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModGenericEquippableComponent>(prefab); InitializeGenericEquippableComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModLiquidComponent")) { ModLiquidComponent newComponent = ComponentUtils.GetOrCreateComponent <ModLiquidComponent>(prefab); InitializeLiquidComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModPowderComponent")) { ModPowderComponent newComponent = ComponentUtils.GetOrCreateComponent <ModPowderComponent>(prefab); InitializePowderComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModPurificationComponent")) { ModPurificationComponent newComponent = ComponentUtils.GetOrCreateComponent <ModPurificationComponent>(prefab); InitializePurificationComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModRandomItemComponent")) { ModRandomItemComponent newComponent = ComponentUtils.GetOrCreateComponent <ModRandomItemComponent>(prefab); InitializeRandomItemComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModRandomWeightedItemComponent")) { ModRandomWeightedItemComponent newComponent = ComponentUtils.GetOrCreateComponent <ModRandomWeightedItemComponent>(prefab); InitializeRandomWeightedItemComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModResearchComponent")) { ModResearchComponent newComponent = ComponentUtils.GetOrCreateComponent <ModResearchComponent>(prefab); InitializeResearchComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModRifleComponent")) { ModRifleComponent newComponent = ComponentUtils.GetOrCreateComponent <ModRifleComponent>(prefab); InitializeRifleComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModToolComponent")) { ModToolComponent newComponent = ComponentUtils.GetOrCreateComponent <ModToolComponent>(prefab); InitializeToolComponent(newComponent, dict); } #endregion #region Behaviour Components if (JsonUtils.ContainsKey(dict, "ModAccelerantComponent")) { ModAccelerantComponent newComponent = ComponentUtils.GetOrCreateComponent <ModAccelerantComponent>(prefab); InitializeAccelerantComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModBurnableComponent")) { ModBurnableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModBurnableComponent>(prefab); InitializeBurnableComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModFireStarterComponent")) { ModFireStarterComponent newComponent = ComponentUtils.GetOrCreateComponent <ModFireStarterComponent>(prefab); InitializeFireStarterComponent(newComponent, dict); } else if (JsonUtils.ContainsKey(dict, "ModTinderComponent")) { ModTinderComponent newComponent = ComponentUtils.GetOrCreateComponent <ModTinderComponent>(prefab); InitializeTinderComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModCarryingCapacityComponent")) { ModCarryingCapacityComponent newComponent = ComponentUtils.GetOrCreateComponent <ModCarryingCapacityComponent>(prefab); InitializeCarryingCapacityComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModEvolveComponent")) { ModEvolveComponent newComponent = ComponentUtils.GetOrCreateComponent <ModEvolveComponent>(prefab); InitializeEvolveComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModHarvestableComponent")) { ModHarvestableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModHarvestableComponent>(prefab); InitializeHarvestableComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModMillableComponent")) { ModMillableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModMillableComponent>(prefab); InitializeMillableComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModRepairableComponent")) { ModRepairableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModRepairableComponent>(prefab); InitializeRepairableComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModScentComponent")) { ModScentComponent newComponent = ComponentUtils.GetOrCreateComponent <ModScentComponent>(prefab); InitializeScentComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModSharpenableComponent")) { ModSharpenableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModSharpenableComponent>(prefab); InitializeSharpenableComponent(newComponent, dict); } if (JsonUtils.ContainsKey(dict, "ModStackableComponent")) { ModStackableComponent newComponent = ComponentUtils.GetOrCreateComponent <ModStackableComponent>(prefab); InitializeStackableComponent(newComponent, dict); } #endregion #region Modifications if (JsonUtils.ContainsKey(dict, "ChangeLayer")) { ChangeLayer newComponent = ComponentUtils.GetOrCreateComponent <ChangeLayer>(prefab); InitializeChangeLayer(newComponent, dict); } #endregion }