private void OnCollisionEnter2D(Collision2D other) { Enums.enum_resorce_type rt = enum_resorce_type.asset; ItemResorce ir = other.gameObject.GetComponent <ItemResorce>(); if (ir != null) { rt = ir.GetResorceType(); } if (rt == enum_resorce_type.material || rt == enum_resorce_type.pickup || rt == enum_resorce_type.blueprint) { //********************************** //We need to see if this is a pickup //********************************** if (ir != null && ir.Item_type == enum_item.pickup) { Recipe item = ir.Spawn_Any_Module_Upgrade_Material(); InventoryManager storage = GetComponentInParent <InventoryManager>(); if (item.resorce_type == enum_resorce_type.material) { UnityFunctions.SendAlert(enum_status.Info, "Collected Item: " + item.item_type.ToString()); storage.Store_Material(item.item_type); Destroy(other.gameObject); } else if (item.resorce_type == enum_resorce_type.module) { //GameObject refab = Resources.Load(item.prefab_path) as GameObject; GameObject refab = item.preFab; if (refab == null) { UnityFunctions.SendAlert(enum_status.Info, "Null object"); } GameObject obj_module = Instantiate(refab, gameObject.transform.position, gameObject.transform.rotation) as GameObject; UnityFunctions.SendAlert(enum_status.Info, "Collected Module: " + obj_module.name.ToString()); ModuleSystemInfo ms = obj_module.GetComponent <ModuleSystemInfo>(); ms.SetStartHealth(); storage.Store_Module(obj_module); Destroy(other.gameObject); } } else { //************************************************ //Else must be a material this goes to the refiner //************************************************ refiner = gameObject.transform.parent.GetComponentInChildren <Refiner>(); if (refiner != null) { //Need to be added to the refiner refiner.AddItemToRefiner(other.gameObject); if (ir.GetNeedsRefining() == true) { UnityFunctions.SendAlert(enum_status.Info, "Refining Material: " + other.gameObject.name.ToString()); } else { UnityFunctions.SendAlert(enum_status.Info, "Collected: " + other.gameObject.name.ToString()); } } } } else { if (module_ir != null && module_ir.Item_type == enum_item.module_shield) { DamageShield(); } else { DamageShip(); } } }