public static void Prefix(SeaTruckSegment __instance)
        {
            if (__instance.IsFront() && __instance != lastDestroyed)
            {
                lastDestroyed = __instance;
                List <InventoryItem> equipment = __instance.motor?.upgrades?.modules?.equipment?.Values?.Where((e) => e != null).ToList() ?? new List <InventoryItem>();

                Vector3 position = __instance.gameObject.transform.position;
                Main.SpawnModuleNearby(equipment, position);
            }
        }
Exemple #2
0
 public static void Prefix(SeaTruckSegment __instance)
 {
     //ErrorMessage.AddMessage($"{__instance} {__instance.GetInstanceID()}");
     if (__instance.IsFront() && __instance != lastDestroyed)
     {
         lastDestroyed = __instance;
         List <InventoryItem> equipment = __instance.motor?.upgrades?.modules?.equipment.Values?.Where((e) => e != null).ToList() ?? new List <InventoryItem>();
         foreach (InventoryItem item in equipment)
         {
             GameObject gameObject = CraftData.InstantiateFromPrefab(item.item.GetTechType());
             Vector3    position   = __instance.gameObject.transform.position;
             gameObject.transform.position = new Vector3(position.x + UnityEngine.Random.Range(-3, 3), position.y + UnityEngine.Random.Range(5, 8), position.z + UnityEngine.Random.Range(-3, 3));
             gameObject.SetActive(true);
         }
     }
 }