private IEnumerator DelayedStartCR() { yield return(null); GameObject obj = BraveResources.Load("PlayerLich") as GameObject; if (obj != null) { PlayerController player = obj.GetComponent <PlayerController>(); if (player != null) { GameObject dustup = new GameObject("InvisibleInstantDestroyDustup"); dustup.SetActive(false); FakePrefab.MarkAsFakePrefab(dustup); UnityEngine.Object.DontDestroyOnLoad(dustup); dustup.AddComponent <InstantDestroyDustup>(); player.OverrideDustUp = dustup; foreach (tk2dSpriteAnimationClip clip in player.spriteAnimator.Library.clips) { foreach (tk2dSpriteAnimationFrame frame in clip.frames) { if (!string.IsNullOrEmpty(frame.eventAudio) && (frame.eventAudio == "Play_FS" || frame.eventAudio == "Play_CHR_boot_stairs_01")) { frame.eventAudio = ""; } } } } } }
public void Initialize(Transform t1, Transform t2) { this.Attach1 = t1; this.Attach2 = t2; this.m_mesh = new Mesh(); this.m_vertices = new Vector3[20]; this.m_mesh.vertices = this.m_vertices; int[] array = new int[54]; Vector2[] uv = new Vector2[20]; int num = 0; for (int i = 0; i < 9; i++) { array[i * 6] = num; array[i * 6 + 1] = num + 2; array[i * 6 + 2] = num + 1; array[i * 6 + 3] = num + 2; array[i * 6 + 4] = num + 3; array[i * 6 + 5] = num + 1; num += 2; } this.m_mesh.triangles = array; this.m_mesh.uv = uv; GameObject gameObject = new GameObject("cableguy"); this.m_stringFilter = gameObject.AddComponent <MeshFilter>(); MeshRenderer meshRenderer = gameObject.AddComponent <MeshRenderer>(); meshRenderer.material = (BraveResources.Load("Global VFX/WhiteMaterial", ".mat") as Material); meshRenderer.material.SetColor("_OverrideColor", new Color32(166, 10, 10, 255)); this.m_stringFilter.mesh = this.m_mesh; }
public static void Build() { GameObject eye = UnityEngine.Object.Instantiate(((GameObject)BraveResources.Load("Global Prefabs/CreepyEye_Room", ".prefab")).GetComponentInChildren <CreepyEyeController>().gameObject); eye.SetActive(false); FakePrefab.MarkAsFakePrefab(eye); UnityEngine.Object.DontDestroyOnLoad(eye); CreepyEyeController controller = eye.GetComponent <CreepyEyeController>(); GreenChamberEyeController customController = eye.gameObject.AddComponent <GreenChamberEyeController>(); customController.MaxPupilRadius = controller.MaxPupilRadius; customController.layers = controller.layers; customController.poopil = controller.poopil; customController.baseSprite = controller.baseSprite; customController.isHallucination = false; Destroy(controller); GreenChamberEyeController.eyePrefab = eye; GameObject eye2 = UnityEngine.Object.Instantiate(((GameObject)BraveResources.Load("Global Prefabs/CreepyEye_Room", ".prefab")).GetComponentInChildren <CreepyEyeController>().gameObject); eye2.SetActive(false); FakePrefab.MarkAsFakePrefab(eye2); UnityEngine.Object.DontDestroyOnLoad(eye2); CreepyEyeController controller2 = eye2.GetComponent <CreepyEyeController>(); GreenChamberEyeController customController2 = eye2.gameObject.AddComponent <GreenChamberEyeController>(); customController2.MaxPupilRadius = controller2.MaxPupilRadius; customController2.layers = controller2.layers; customController2.poopil = controller2.poopil; customController2.baseSprite = controller2.baseSprite; customController2.isHallucination = true; Destroy(controller2); GreenChamberEyeController.hallucinationEyePrefab = eye2; }
public void RegisterFakeChestOnMinimap(RoomHandler r) { m_registeredIconRoom = r; GameObject iconPrefab = MinimapIconPrefab ?? (BraveResources.Load("Global Prefabs/Minimap_Treasure_Icon", ".prefab") as GameObject); minimapIconInstance = Minimap.Instance.RegisterRoomIcon(r, iconPrefab, false); }
private PlayerController _ObtainCharacter(string name, bool alt) { PlayerController primaryPlayer = GameManager.Instance.PrimaryPlayer; Vector3 position = primaryPlayer.transform.position; Object.Destroy(primaryPlayer.gameObject); GameManager.Instance.ClearPrimaryPlayer(); GameManager.PlayerPrefabForNewGame = (GameObject)BraveResources.Load(name, ".prefab"); PlayerController component = GameManager.PlayerPrefabForNewGame.GetComponent <PlayerController>(); GameStatsManager.Instance.BeginNewSession(component); PlayerController playerController = null; if (playerController == null) { GameObject gameObject = Object.Instantiate <GameObject>(GameManager.PlayerPrefabForNewGame, position, Quaternion.identity); GameManager.PlayerPrefabForNewGame = null; gameObject.SetActive(true); playerController = gameObject.GetComponent <PlayerController>(); } if (alt) { playerController.SwapToAlternateCostume(null); } GameManager.Instance.PrimaryPlayer = playerController; playerController.PlayerIDX = 0; return(playerController); }
private void InitializeParticleSystem() { if (m_fireSystem != null) { return; } GameObject fireMain = GameObject.Find("Gungeon_Fire_Main"); if (fireMain == null) { fireMain = (GameObject)Instantiate(BraveResources.Load("Particles/Gungeon_Fire_Main_raw", ".prefab"), Vector3.zero, Quaternion.identity); fireMain.name = "Gungeon_Fire_Main"; } m_fireSystem = fireMain.GetComponent <ParticleSystem>(); GameObject fireIntro = GameObject.Find("Gungeon_Fire_Intro"); if (fireIntro == null) { fireIntro = (GameObject)Instantiate(BraveResources.Load("Particles/Gungeon_Fire_Intro_raw", ".prefab"), Vector3.zero, Quaternion.identity); fireIntro.name = "Gungeon_Fire_Intro"; } m_fireIntroSystem = fireIntro.GetComponent <ParticleSystem>(); GameObject fireOutro = GameObject.Find("Gungeon_Fire_Outro"); if (fireOutro == null) { fireOutro = (GameObject)Instantiate(BraveResources.Load("Particles/Gungeon_Fire_Outro_raw", ".prefab"), Vector3.zero, Quaternion.identity); fireOutro.name = "Gungeon_Fire_Outro"; } m_fireOutroSystem = fireOutro.GetComponent <ParticleSystem>(); }
private void TransformTo(PlayerController player, string playerName) { PlayerController controller = ((GameObject)BraveResources.Load(playerName)).GetComponent <PlayerController>(); Transform playerSprite = controller.transform.Find("PlayerSprite"); tk2dBaseSprite sprite = playerSprite?.GetComponent <tk2dSprite>(); var library = Instantiate(sprite.GetComponent <tk2dSpriteAnimator>().Library); DontDestroyOnLoad(library); var handSkin = controller.primaryHand.sprite.Collection; TurtSprites = ItemsMod.list; tk2dSpriteCollectionData turts = ItemsMod.HandleAnimations2(sprite, TurtSprites); if (turts != null) { handSkin = turts; } foreach (var clip in library.clips) { for (int i = 0; i < clip.frames.Length; i++) { clip.frames[i].spriteCollection = turts; } } player.OverrideAnimationLibrary = library; player.ChangeHandsToCustomType(handSkin, controller.primaryHand.sprite.spriteId); }
public override void Update() { base.Update(); if (m_isCurrentlyActive && this.LastOwner != null) { bool flag = base.LastOwner.CurrentRoom != null && base.LastOwner && base.LastOwner.IsInCombat; if (flag) { List <AIActor> activeEnemies = base.LastOwner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All); foreach (AIActor aiactor in activeEnemies) { bool flag2 = aiactor != null; if (flag2) { bool isBoss = aiactor.healthHaver.IsBoss; bool flag4 = !isBoss; if (flag4) { aiactor.PlayEffectOnActor((GameObject)BraveResources.Load("Global VFX/VFX_LockOn_Predator", ".prefab"), Vector3.zero, true, true, true); } } } } } }
void Start() { string text = "HI IM LARRY"; if (namesDB != null) { text = namesDB[UnityEngine.Random.Range(0, namesDB.Count)]; } sprite = this.gameObject.GetComponent <tk2dSprite>(); GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(BraveResources.Load("DamagePopupLabel", ".prefab"), GameUIRoot.Instance.transform); Vector3 worldPosition = this.transform.position; nameLabel = gameObject.GetComponent <dfLabel>(); NamerModuleClassic.onNameSizeChanged += this.OnNameSizeChanged; NamerModuleClassic.onOpacityAmountChanged += this.OnOpacityAmountChanged; if (UnityEngine.Random.value > 0.995f) { nameLabel.Glitchy = true; } nameLabel.gameObject.SetActive(true); nameLabel.Text = text; nameLabel.Color = Color.HSVToRGB(UnityEngine.Random.value, 1.0f, 1.0f); nameLabel.Opacity = Larry.opacityAmount; nameLabel.transform.position = dfFollowObject.ConvertWorldSpaces(worldPosition, GameManager.Instance.MainCameraController.Camera, GameUIRoot.Instance.Manager.RenderCamera).WithZ(0f); nameLabel.transform.position = nameLabel.transform.position.QuantizeFloor(nameLabel.PixelsToUnits() / (Pixelator.Instance.ScaleTileScale / Pixelator.Instance.CurrentTileScale)); nameLabel.TextScale = Larry.nameSize; xOffSet = CalculateCenterXoffset(nameLabel); }
public static void Init() { string itemName = "Imposter's Knife"; string resourceName = "ImposterItems/Resources/imposter_knife"; GameObject obj = new GameObject(itemName); var item = obj.AddComponent <ImpostersKnife>(); ItemBuilder.AddSpriteToObject(itemName, resourceName, obj); string shortDesc = "Wasn't me"; string longDesc = "On use, deliver a quick short range, high damage stab towards a direction of your choosing.\n\nSharp, quick, reliable, and most importantly never runs out of ammo. It's no wonder why the knife is such an effective " + "killing device, held back only for it's short range..maybe there's some kind of workaround to that..."; ItemBuilder.SetupItem(item, shortDesc, longDesc, "spapi"); ItemBuilder.SetCooldownType(item, ItemBuilder.CooldownType.Damage, 500); item.consumable = false; item.quality = ItemQuality.SPECIAL; var cm = Instantiate((GameObject)BraveResources.Load("Global Prefabs/_ChallengeManager", ".prefab")); item.DarknessEffectShader = (cm.GetComponent <ChallengeManager>().PossibleChallenges.Where(c => c.challenge is DarknessChallengeModifier).First().challenge as DarknessChallengeModifier).DarknessEffectShader; VFXPool stabVFX = new VFXPool { type = VFXPoolType.All }; VFXComplex complex = new VFXComplex(); VFXObject vfxObj = new VFXObject { alignment = VFXAlignment.Fixed, attached = true, orphaned = false, persistsOnDeath = false, destructible = true, usesZHeight = true, zHeight = -0.25f }; GameObject stabKnifeObj = SpriteBuilder.SpriteFromResource("ImposterItems/Resources/imposter_knife_stab", new GameObject("ImposterKnifeStab")); stabKnifeObj.SetActive(false); FakePrefab.MarkAsFakePrefab(stabKnifeObj); DontDestroyOnLoad(stabKnifeObj); tk2dSpriteAnimator animator = stabKnifeObj.AddComponent <tk2dSpriteAnimator>(); SpriteBuilder.AddAnimation(animator, stabKnifeObj.GetComponent <tk2dBaseSprite>().Collection, new List <int> { stabKnifeObj.GetComponent <tk2dBaseSprite>().spriteId }, "stab", tk2dSpriteAnimationClip.WrapMode.Once).fps = 1; animator.playAutomatically = true; animator.DefaultClipId = animator.GetClipIdByName("stab"); SpriteAnimatorKiller killer = stabKnifeObj.AddComponent <SpriteAnimatorKiller>(); killer.fadeTime = -1f; killer.delayDestructionTime = -1f; killer.animator = animator; ConstructOffsetsFromAnchor(stabKnifeObj.GetComponent <tk2dBaseSprite>().GetCurrentSpriteDef(), tk2dBaseSprite.Anchor.MiddleLeft); vfxObj.effect = stabKnifeObj; complex.effects = new VFXObject[] { vfxObj }; stabVFX.effects = new VFXComplex[] { complex }; item.stabVfx = stabVFX; Destroy(cm); ImpostersKnifeId = item.PickupObjectId; Game.Items.Rename("spapi:imposter's_knife", "spapi:imposters_knife"); }
private void HandleSurpriseChestAnimationEvent(tk2dSpriteAnimator animator, tk2dSpriteAnimationClip clip, int frameNo) { tk2dSpriteAnimationFrame frame = clip.GetFrame(frameNo); if (frame.eventInfo == "coopchestvfx") { Instantiate(BraveResources.Load("Global VFX/VFX_ChestKnock_001", ".prefab"), sprite.WorldCenter + new Vector2(0f, 0.3125f), Quaternion.identity); } }
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 void roomMagic(PlayerController user) { Dungeon dungeon = GameManager.Instance.Dungeon; //dungeon. //tk2dTileMap tk2dTileMap = null; user.CurrentRoom.CompletelyPreventLeaving = true; List <RoomHandler> rooms = GameManager.Instance.Dungeon.data.rooms; foreach (RoomHandler roomHandler in rooms) { roomHandler.visibility = RoomHandler.VisibilityStatus.OBSCURED; //roomHandler = null; } //List<RoomHandler>.Enumerator enumerator = default(List<RoomHandler>.Enumerator); WarpTarget = user.CenterPosition; RoomHandler currentRoom = user.CurrentRoom; user.ForceStopDodgeRoll(); //this.DoTentacleVFX(user); IntVector2?targetCenter = new IntVector2?(user.CenterPosition.ToIntVector2(VectorConversions.Floor)); Vector2 startingpoint = user.CenterPosition; //RoomHandler creepyRoom = GameManager.Instance.Dungeon.AddRuntimeRoom(new IntVector2(30, 30), (GameObject)BraveResources.Load(room)); RoomHandler creepyRoom = tools.AddCustomRuntimeRoom(room, false, false, true, null, DungeonData.LightGenerationStyle.STANDARD); //PrototypeDungeonRoom creepyRoom = GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(BraveResources.Load("RuntimeTileMap", ".prefab")); tk2dTileMap component = gameObject.GetComponent <tk2dTileMap>(); //creepyRoom.PrecludeTilemapDrawing = true; //creepyRoom.OverrideTilemap = component; //tk2dTileMap component = (tk2dTileMap)UnityEngine.Object.Instantiate(BraveResources.Load("RuntimeTileMap", ".prefab")); //tk2dTileMap component = GameObject.Find("TileMap").GetComponent<tk2dTileMap>(); //creepyRoom.OverrideTilemap = (tk2dTileMap)BraveResources.Load("Global Prefabs/ENV_Tileset_Gungeon", ".prefab"); //creepyRoom.OverrideTilemap = component; creepyRoom.DrawPrecludedCeilingTiles = true; creepyRoom.PrecludeTilemapDrawing = true; TeleportToRoom(user, creepyRoom); user.WarpToPoint((creepyRoom.area.basePosition + new IntVector2(12, 4)).ToVector2(), false, false); bool flag2 = GameManager.Instance.CurrentGameType == GameManager.GameType.COOP_2_PLAYER; if (flag2) { GameManager.Instance.GetOtherPlayer(user).ReuniteWithOtherPlayer(user, false); } //static float CharNum = 0; }
private static Dictionary <string, StringTableManager.StringCollection> LoadEnemiesTable(string subDirectory) { TextAsset textAsset = (TextAsset)BraveResources.Load("strings/" + subDirectory + "/enemies", typeof(TextAsset), ".txt"); if (textAsset == null) { Debug.LogError("Failed to load string table: ENEMIES."); return(null); } StringReader stringReader = new StringReader(textAsset.text); Dictionary <string, StringTableManager.StringCollection> dictionary = new Dictionary <string, StringTableManager.StringCollection>(); StringTableManager.StringCollection stringCollection = null; string text; while ((text = stringReader.ReadLine()) != null) { if (!text.StartsWith("//")) { if (text.StartsWith("#")) { stringCollection = new StringTableManager.ComplexStringCollection(); if (dictionary.ContainsKey(text)) { Debug.LogError("Failed to add duplicate key to items table: " + text); } else { dictionary.Add(text, stringCollection); } } else { string[] array = text.Split(new char[] { '|' }); if (array.Length == 1) { stringCollection.AddString(array[0], 1f); } else { stringCollection.AddString(array[1], float.Parse(array[0])); } } } } return(dictionary); }
public static void SwitchSecondaryCharacter(string[] args) { prefabPath = "Player" + args[0]; if (args == null || args.Length < 1) { return; } var prefab = (GameObject)BraveResources.Load(prefabPath, ".prefab"); if (prefab == null) { Tools.Print("Failed getting prefab for " + args[0]); return; } GameManager.Instance.StartCoroutine(HandleCharacterChange()); }
private IDPool <T, TagType> _ReadIDMapBraveResources <T, TagType>(StreamReader stream) where T : UnityEngine.Component where TagType : struct, IConvertible { return(_ReadIDMap <T, TagType>((line_id, prefab_name) => { prefab_name = prefab_name.Replace("%%%", " "); var prefab = BraveResources.Load <GameObject>(prefab_name); if (prefab == null) { throw new Exception($"Failed parsing ID map file: failed to load asset '{prefab_name}'"); } var component = prefab.GetComponent <T>(); if (component == null) { throw new Exception($"Failed parsing ID map file: successfully loaded asset '{prefab_name}', but it doesn't have a '{typeof(T).Name}' type component"); } return component; }, stream)); }
public static void DoStringSquirt(string text, Vector2 point, Color colour, float heightOffGround = 3f, float opacity = 1f) { GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(BraveResources.Load("DamagePopupLabel", ".prefab"), GameUIRoot.Instance.transform); dfLabel label = gameObject.GetComponent <dfLabel>(); label.gameObject.SetActive(true); label.Text = text; label.Color = colour; label.Opacity = opacity; label.TextAlignment = TextAlignment.Center; label.transform.position = point; Vector2 point2 = new Vector2(label.transform.position.x - (label.GetCenter().x - label.transform.position.x), point.y); label.transform.position = label.transform.position.QuantizeFloor(label.PixelsToUnits() / (Pixelator.Instance.ScaleTileScale / Pixelator.Instance.CurrentTileScale)); label.StartCoroutine(HandleDamageNumberCR(point2, point2.y - heightOffGround, label)); }
public static GameObject GetPlayerPrefab(PlayableCharacters character) { string resourceName; if (character == PlayableCharacters.Soldier) { resourceName = "marine"; } else if (character == PlayableCharacters.Pilot) { resourceName = "rogue"; } else { resourceName = character.ToString().ToLower(); } return((GameObject)BraveResources.Load("player" + resourceName)); }
void Start() { string text = "the store is now closed, please leave the building"; GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate(BraveResources.Load("DamagePopupLabel", ".prefab"), GameUIRoot.Instance.transform); Vector3 worldPosition = this.transform.position; dfLabel = gameObject.GetComponent <dfLabel>(); dfLabel.gameObject.SetActive(true); dfLabel.Text = text; dfLabel.Color = Color.red; dfLabel.Opacity = Larry.opacityAmount; dfLabel.TextScale = Larry.nameSize; dfLabel.transform.position = dfFollowObject.ConvertWorldSpaces(worldPosition, GameManager.Instance.MainCameraController.Camera, GameUIRoot.Instance.Manager.RenderCamera).WithZ(0f); dfLabel.transform.position = dfLabel.transform.position.QuantizeFloor(dfLabel.PixelsToUnits() / (Pixelator.Instance.ScaleTileScale / Pixelator.Instance.CurrentTileScale)); NamerModuleClassic.onNameSizeChanged += this.OnNameSizeChanged; NamerModuleClassic.onOpacityAmountChanged += this.OnOpacityAmountChanged; }
// Token: 0x06007CE5 RID: 31973 RVA: 0x00316054 File Offset: 0x00314254 public void Interact(PlayerController interactor) { if (!PassiveItem.IsFlagSetAtAll(typeof(PickpocketGuide))) { return; } PlayerController player = GameManager.Instance.PrimaryPlayer; FloorRewardData currentRewardData = GameManager.Instance.RewardManager.CurrentRewardData; LootEngine.AmmoDropType ammoDropType = LootEngine.AmmoDropType.DEFAULT_AMMO; bool flag = LootEngine.DoAmmoClipCheck(currentRewardData, out ammoDropType); string path = (ammoDropType != LootEngine.AmmoDropType.SPREAD_AMMO) ? "Ammo_Pickup" : "Ammo_Pickup_Spread"; float value = UnityEngine.Random.value; float num = currentRewardData.ChestSystem_ChestChanceLowerBound; if (value <= 0.2f) { IntVector2 bestRewardLocation = base.sprite.WorldCenter.ToIntVector2(); LootEngine.SpawnItem((GameObject)BraveResources.Load(path, ".prefab"), bestRewardLocation.ToVector3(), Vector2.up, 1f, true, true, false); } else if (value <= 0.95f) { GameObject gameObject; if (value <= 0.6f) { gameObject = currentRewardData.SingleItemRewardTable.SelectByWeight(false); } else { gameObject = ((UnityEngine.Random.value >= 0.9f) ? GameManager.Instance.RewardManager.FullHeartPrefab.gameObject : GameManager.Instance.RewardManager.HalfHeartPrefab.gameObject); } DebrisObject debrisObject = LootEngine.SpawnItem(gameObject, base.sprite.WorldCenter.ToIntVector2().ToVector3() + new Vector3(0.25f, 0f, 0f), Vector2.up, 1f, true, true, false); AkSoundEngine.PostEvent("Play_OBJ_item_spawn_01", debrisObject.gameObject); } else { GameManager.Instance.RewardManager.SpawnTotallyRandomItem(base.sprite.WorldCenter); } this.m_room.DeregisterInteractable(this); PickpocketGuide.unstealthBehavior unstealthBehavior = player.gameObject.GetOrAddComponent <PickpocketGuide.unstealthBehavior>(); unstealthBehavior.parentItem.BreakStealth(player); }
public void ConfigureOnPlacement(RoomHandler room) { gameObject.SetActive(true); enabled = true; IntVector2 SpawnPosition = (gameObject.transform.PositionVector2().ToIntVector2() - room.area.basePosition); Vector2 NodePosition = SpawnPosition.ToVector2(); SerializedPath SawBladePath = GenerateRectanglePathInset(NodePosition, PathNodeAreaSize); room.area.prototypeRoom.paths.Add(SawBladePath); DungeonPlaceable m_TrapPlacable = BraveResources.Load <DungeonPlaceable>("RobotDaveTraps", ".asset"); GameObject sawbladePrefab = null; if (m_TrapPlacable) { sawbladePrefab = m_TrapPlacable.variantTiers[0].nonDatabasePlaceable; } if (sawbladePrefab) { GameObject m_PlacedSawBlade = Instantiate(sawbladePrefab, gameObject.transform.position, Quaternion.identity); m_PlacedSawBlade.SetActive(false); if (m_PlacedSawBlade) { PathMover SawPathMover = m_PlacedSawBlade.GetComponent <PathMover>(); if (SawPathMover != null) { SawPathMover.RoomHandler = room; SawPathMover.Path = SawBladePath; SawPathMover.PathStartNode = Random.Range(0, SawBladePath.nodes.Count); SawPathMover.IsUsingAlternateTargets = false; SawPathMover.ForceCornerDelayHack = false; SawPathMover.nodeOffset = PathNodeOffset; m_PlacedSawBlade.SetActive(true); } } } }
private PickupObject OpenS(PlayerController user) { PickupObject.ItemQuality itemQuality = PickupObject.ItemQuality.S; PickupObject itemOfTypeAndQuality = (UnityEngine.Random.value >= 0.5f) ? LootEngine.GetItemOfTypeAndQuality <PickupObject>(itemQuality, GameManager.Instance.RewardManager.GunsLootTable, false) : LootEngine.GetItemOfTypeAndQuality <PickupObject>(itemQuality, GameManager.Instance.RewardManager.ItemsLootTable, false); DebrisObject debrisObject = LootEngine.SpawnItem(itemOfTypeAndQuality.gameObject, user.CenterPosition, Vector2.up, 1f, true, true, false); if (debrisObject) { Vector2 v = (!debrisObject.sprite) ? (debrisObject.transform.position.XY() + new Vector2(0.5f, 0.5f)) : debrisObject.sprite.WorldCenter; GameObject gameObject = SpawnManager.SpawnVFX((GameObject)BraveResources.Load("Global VFX/VFX_BlackPhantomDeath", ".prefab"), v, Quaternion.identity, false); if (gameObject && gameObject.GetComponent <tk2dSprite>()) { tk2dSprite component = gameObject.GetComponent <tk2dSprite>(); component.HeightOffGround = 5f; component.UpdateZDepth(); } return(debrisObject.GetComponentInChildren <PickupObject>()); } return(null); }
private static PlayerController GeneratePlayer(Vector3 position) { if (GameManager.Instance.SecondaryPlayer != null) { return(GameManager.Instance.SecondaryPlayer); } GameManager.Instance.ClearSecondaryPlayer(); GameManager.LastUsedCoopPlayerPrefab = (GameObject)BraveResources.Load(prefabPath); PlayerController playerController = null; if (playerController == null) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(GameManager.LastUsedCoopPlayerPrefab, position, Quaternion.identity); gameObject.SetActive(true); playerController = gameObject.GetComponent <PlayerController>(); } GameManager.Instance.SecondaryPlayer = playerController; playerController.PlayerIDX = 1; return(playerController); }
private void FireRocket(AIActor enemy) { var cm = UnityEngine.Object.Instantiate <GameObject>((GameObject)BraveResources.Load("Global Prefabs/_ChallengeManager", ".prefab")); this.Rocket = (cm.GetComponent <ChallengeManager>().PossibleChallenges.Where(c => c.challenge is SkyRocketChallengeModifier).First().challenge as SkyRocketChallengeModifier).Rocket; UnityEngine.Object.Destroy(cm); if (BossKillCam.BossDeathCamRunning) { return; } if (GameManager.Instance.PreventPausing) { return; } SkyRocket component = SpawnManager.SpawnProjectile(this.Rocket, Vector3.zero, Quaternion.identity, true).GetComponent <SkyRocket>(); component.Target = enemy.specRigidbody; tk2dSprite componentInChildren = component.GetComponentInChildren <tk2dSprite>(); component.transform.position = component.transform.position.WithY(component.transform.position.y - componentInChildren.transform.localPosition.y); this.m_spawnedRockets++; }
public static void Build() { GameObject eye = UnityEngine.Object.Instantiate(((GameObject)BraveResources.Load("Global Prefabs/CreepyEye_Room", ".prefab")).GetComponentInChildren <CreepyEyeController>().gameObject); eye.SetActive(false); FakePrefab.MarkAsFakePrefab(eye); UnityEngine.Object.DontDestroyOnLoad(eye); CreepyEyeController controller = eye.GetComponent <CreepyEyeController>(); CustomCreepyEyeController customController = eye.gameObject.AddComponent <CustomCreepyEyeController>(); customController.MaxPupilRadius = controller.MaxPupilRadius; customController.layers = controller.layers; customController.poopil = controller.poopil; customController.baseSprite = controller.baseSprite; if (eye.GetComponent <SpeculativeRigidbody>() != null) { eye.GetComponent <SpeculativeRigidbody>().CollideWithOthers = false; eye.GetComponent <SpeculativeRigidbody>().CollideWithTileMap = false; } Destroy(controller); CustomCreepyEyeController.eyePrefab = eye; }
public void ConfigureOnPlacement(RoomHandler room) { if (ConfigurationWasDeferred) { IntVector2 intVector = transform.position.IntXY(VectorConversions.Floor); for (int i = 0; i < 6; i++) { for (int j = -2; j < 6; j++) { CellData cellData = GameManager.Instance.Dungeon.data.cellData[intVector.x + i][intVector.y + j]; cellData.cellVisualData.precludeAllTileDrawing = true; if (j < 4) { cellData.type = CellType.PIT; cellData.fallingPrevented = true; } cellData.isOccupied = true; } } if ((GameManager.Instance.CurrentGameMode == GameManager.GameMode.NORMAL || GameManager.Instance.CurrentGameMode == GameManager.GameMode.SHORTCUT) && GameManager.Instance.CurrentLevelOverrideState != GameManager.LevelOverrideState.TUTORIAL) { GameObject gameObject = (GameObject)Instantiate(BraveResources.Load("Global Prefabs/CryoElevatorButton", ".prefab"), transform.position + new Vector3(-1f, 0f, 0f), Quaternion.identity); IntVector2 a = transform.position.IntXY(VectorConversions.Floor) + new IntVector2(-2, 0); for (int k = 0; k < 2; k++) { for (int l = -1; l < 2; l++) { if (GameManager.Instance.Dungeon.data.CheckInBoundsAndValid(a + new IntVector2(k, l))) { CellData cellData2 = GameManager.Instance.Dungeon.data[a + new IntVector2(k, l)]; cellData2.cellVisualData.containsWallSpaceStamp = true; cellData2.cellVisualData.containsObjectSpaceStamp = true; } } } } } }
public static void SwitchSecondaryCharacter(string[] args) { if (args == null || args.Length < 1) { return; } if (!GameManager.Instance.SecondaryPlayer) { Tools.PrintError("You need to enter co-op mode before using the character2 command"); return; } prefabPath = "Player" + args[0]; var prefab = (GameObject)BraveResources.Load(prefabPath, ".prefab"); if (prefab == null) { Tools.Print("Failed getting prefab for " + args[0]); return; } GameManager.Instance.StartCoroutine(HandleCharacterChange()); Hooks.ResetInfiniteGuns(); }
private void InternalForceBlank(Vector2 center, float overrideRadius = 25f, float overrideTimeAtMaxRadius = 0.5f, bool silent = false, bool breaksWalls = true, bool breaksObjects = true, float overrideForce = -1f, Action <Projectile> customCallback = null) { GameObject silencerVFX = (!silent) ? ((GameObject)BraveResources.Load("Global VFX/BlankVFX", ".prefab")) : null; if (!silent) { AkSoundEngine.PostEvent("Play_OBJ_silenceblank_use_01", base.gameObject); AkSoundEngine.PostEvent("Stop_ENM_attack_cancel_01", base.gameObject); } GameObject gameObject = new GameObject("silencer"); SilencerInstance silencerInstance = gameObject.AddComponent <SilencerInstance>(); if (customCallback != null) { silencerInstance.UsesCustomProjectileCallback = true; silencerInstance.OnCustomBlankedProjectile = customCallback; } silencerInstance.TriggerSilencer(center, 50f, overrideRadius, silencerVFX, (!silent) ? 0.15f : 0f, (!silent) ? 0.2f : 0f, (float)((!silent) ? 50 : 0), (float)((!silent) ? 10 : 0), (!silent) ? ((overrideForce < 0f) ? 140f : overrideForce) : 0f, (float)((!breaksObjects) ? 0 : ((!silent) ? 15 : 5)), overrideTimeAtMaxRadius, base.Owner, breaksWalls, false); if (base.Owner) { base.Owner.DoVibration(Vibration.Time.Quick, Vibration.Strength.Medium); } }
public static void DoSetup() { if (m_loaded) { return; } HuntData = (MonsterHuntData)BraveResources.Load("Monster Hunt Data", ".asset"); huntProgressLoadedHook = new Hook( typeof(MonsterHuntProgress).GetMethod("OnLoaded"), typeof(CustomHuntQuests).GetMethod("HuntProgressLoadedHook") ); huntProgressCompleteHook = new Hook( typeof(MonsterHuntProgress).GetMethod("Complete"), typeof(CustomHuntQuests).GetMethod("HuntProgressCompleteHook") ); huntProgressQuestCompleteHook = new Hook( typeof(MonsterHuntProgress).GetMethod("IsQuestComplete"), typeof(CustomHuntQuests).GetMethod("HuntProgressQuestCompleteHook") ); huntProgressNextQuestHook = new Hook( typeof(MonsterHuntProgress).GetMethod("TriggerNextQuest"), typeof(CustomHuntQuests).GetMethod("HuntProgressNextQuestHook") ); huntProgressProcessKillHook = new Hook( typeof(MonsterHuntProgress).GetMethod("ProcessKill"), typeof(CustomHuntQuests).GetMethod("HuntProgressProcessKillHook") ); huntQuestCompleteHook = new Hook( typeof(MonsterHuntQuest).GetMethod("IsQuestComplete"), typeof(CustomHuntQuests).GetMethod("HuntQuestCompleteHook") ); huntQuestUnlockRewardsHook = new Hook( typeof(MonsterHuntQuest).GetMethod("UnlockRewards"), typeof(CustomHuntQuests).GetMethod("HuntQuestUnlockRewardsHook") ); m_loaded = true; }
internal static TextAsset LoadTextAsset(string path) { Logger.Debug($"Loading builtin localization asset 'strings/{path}'"); return((TextAsset)BraveResources.Load("strings/" + path, typeof(TextAsset), ".txt")); }