private void SpawnCrate(int item) { GameObject gameObject = (GameObject)BraveResources.Load("EmergencyCrate", ".prefab"); GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(gameObject); EmergencyCrateController component = gameObject2.GetComponent <EmergencyCrateController>(); SimplerCrateBehaviour simpleCrate = component.TurnIntoSimplerCrate(); simpleCrate.LootID = item; IntVector2 bestRewardLocation = LastOwner.CurrentRoom.GetBestRewardLocation(new IntVector2(1, 1), RoomHandler.RewardLocationStyle.CameraCenter, true); simpleCrate.Trigger(new Vector3(-5f, -5f, -5f), bestRewardLocation.ToVector3() + new Vector3(15f, 15f, 15f), LastOwner.CurrentRoom); LastOwner.CurrentRoom.ExtantEmergencyCrate = gameObject2; }
public static SimplerCrateBehaviour TurnIntoSimplerCrate(this EmergencyCrateController self) { GameObject obj = self.gameObject; if (obj != null) { SimplerCrateBehaviour newCrateBehav = obj.AddComponent <SimplerCrateBehaviour>(); newCrateBehav.driftAnimationName = self.driftAnimationName; newCrateBehav.landedAnimationName = self.landedAnimationName; newCrateBehav.chuteLandedAnimationName = self.chuteLandedAnimationName; newCrateBehav.crateDisappearAnimationName = self.crateDisappearAnimationName; newCrateBehav.chuteAnimator = self.chuteAnimator; newCrateBehav.landingTargetSprite = self.landingTargetSprite; UnityEngine.Object.Destroy(self); return(newCrateBehav); } else { return(null); } }