/// <summary> /// Creates the cutscene. /// </summary> /// <returns> /// The cutscene. /// </returns> /// <param name='_cutsceneName'> /// _cutscene name. /// </param> /// <param name='_playDoneDele'> /// _play done dele. /// </param> /// <exception cref='System.Exception'> /// Is thrown when the resouce load is failed. /// </exception> private Cutscenes CreateCutscene(string _cutsceneName, Cutscenes.PlayDoneDelegate _playDoneDele) { if (m_formerEnterCameraTrackName != _cutsceneName) { GameObject t_loadRes = null; Globals.Instance.MResourceManager.Load(_cutsceneName, delegate(Object obj, string error) { if (obj == null) { Debug.LogError("obj == null InitCutscenesCameraTrack : " + error); return; } t_loadRes = (GameObject)obj; }); if (t_loadRes == null) { throw new System.Exception("t_loadRes == null in InitCutscenesCameraTrack"); } m_enterCameraTrackTemplate = t_loadRes; m_formerEnterCameraTrackName = _cutsceneName; } GameObject t_cutsceneObj = (GameObject)GameObject.Instantiate(m_enterCameraTrackTemplate); Cutscenes t_cutscenes = t_cutsceneObj.GetComponent <Cutscenes>(); t_cutscenes.SetPlayOverDelegate(delegate(Cutscenes cut){ _playDoneDele(cut); }); return(t_cutscenes); }
public void ChangeCutscene(Cutscenes cutscene) { ResetCutscenes(); currentCutscene = cutscene; _cutsceneCanvas.SetActive(true); switch (currentCutscene) { case Cutscenes.INTRO: cutsceneActive = true; _player.GetComponent <Cinematic>().cinematic = "Abe Rises"; _player.GetComponent <Cinematic>().enabled = true; _player.GetComponent <PlayerHealth>().RefillForCutscene(); _ui.GetComponent <UIManager>().hudCanvas.SetActive(false); _letterbox.TweenTo(0.15f, 1); Invoke("ShowIntroPanel", 1); break; case Cutscenes.BEAR: cutsceneActive = true; GameObject.Find("Blood Drip").SetActive(false); _player.GetComponent <PlayerHealth>().RefillForCutscene(); _ui.GetComponent <UIManager>().hudCanvas.SetActive(false); _ui.GetComponent <UIManager>().bossHealthUI.enabled = false; _letterbox.TweenTo(0.15f, 1); Invoke("ShowBearPanel", 1); break; case Cutscenes.MID: cutsceneActive = true; GameObject.Find("Blood Drip").SetActive(false); _player.GetComponent <PlayerHealth>().RefillForCutscene(); _ui.GetComponent <UIManager>().hudCanvas.SetActive(false); _ui.GetComponent <UIManager>().bossHealthUI.enabled = false; _letterbox.TweenTo(0.15f, 1); Invoke("ShowMidPanel", 1); break; case Cutscenes.END: cutsceneActive = true; GameObject.Find("Blood Drip").SetActive(false); _player.GetComponent <Player>().PlayEnding(); _player.GetComponent <PlayerHealth>().RefillForCutscene(); _ui.GetComponent <UIManager>().hudCanvas.SetActive(false); _ui.GetComponent <UIManager>().bossHealthUI.enabled = false; _letterbox.TweenTo(0.15f, 1); Invoke("ShowEndPanel", 1); break; case Cutscenes.NULL: cutsceneActive = false; _cutsceneCanvas.SetActive(false); break; } }
private void HandleInteractionWithPlayer() { switch (character.type) { default: // Battle! BattleHandler.LoadEnemyEncounter(character, character.enemyEncounter); break; case Character.Type.Enemy_MinionOrange: { if (character.subType == Character.SubType.Enemy_HurtMeDaddy) { // Special enemy Cutscenes.Play_HurtMeDaddy(character); } else { // Normal battle BattleHandler.LoadEnemyEncounter(character, character.enemyEncounter); } break; } case Character.Type.Enemy_MinionRed: { if (character.subType == Character.SubType.Enemy_HurtMeDaddy_2) { // Special enemy Cutscenes.Play_HurtMeDaddy_2(character); } else { // Normal battle BattleHandler.LoadEnemyEncounter(character, character.enemyEncounter); } break; } case Character.Type.EvilMonster: { Cutscenes.Play_EvilMonster_1(character); break; } case Character.Type.EvilMonster_2: { Cutscenes.Play_EvilMonster_2(character); break; } case Character.Type.EvilMonster_3: { Cutscenes.Play_EvilMonster_3(character); break; } } }
void Start() { Action.sc = this; Cutscenes.actors = actors; Response.ui_name = ui_name; Response.ui_portrait = ui_portrait; ads = GetComponent <AudioSource>(); cutscene = Cutscenes.getScene(nextSceneID); cutscene[0].Act(); }
public void SetVideoClip(Cutscenes cutscenes, string sourceName = "Global") { StopAllCoroutines(); m_SkipObjectsFadeTimer = 0; if (Constants.Constants.TurnCutscenesOff == false) { m_CutsceneHasFinished = false; audioMixer.SetFloat("MusicVolume", -100); GameManager.Instance.m_CutsceneISRunning = true; m_rawImage.gameObject.SetActive(true); m_CutsceneVideoPlayer.clip = m_Videoclips[(int)cutscenes]; m_rawImage.texture = m_CutsceneVideoPlayer.texture; StartCoroutine(PlayVideo()); } else if (Constants.Constants.TurnCutscenesOff == true) { m_CutsceneHasFinished = true; m_CutsceneisDone = true; m_rawImage.gameObject.SetActive(false); m_CutsceneVideoPlayer.Stop(); } }
/// <summary> /// Inits the cutscenes camera track. /// </summary> private bool InitCutscenesCameraTrack() { if (GameDefines.Setting_SkipCopyCameraTrack) { return(false); } string t_enterCameraTrack = Globals.Instance.MGameDataManager.MCurrentCopyData.MCopyBasicData.CopyEnterCameraTrack; if (t_enterCameraTrack.Length > 0) { Cutscenes t_cut = CreateCutscene(t_enterCameraTrack, delegate(Cutscenes _cut){ if (!_cut.m_initActorMonster) { // intialize the copyStatus Initialize_impl(); } }); return(!t_cut.m_initActorMonster); } return(false); }
public void Start(Transform transform) { overmapFtnDewHandler = new OvermapFtnDewHandler(); UIBlack.Show(); StopOvermapRunning(); Window_PickName.Show_Static(); Window_PickName.AddOption_Static("Custom Name (Length 4)", () => { }); foreach (string badName in GameData.badNamesArray) { Window_PickName.AddOption_Static(badName, () => { Debug.Log(badName); }); } Window_PickName.Hide_Static(); StartOvermapRunning(); UIBlack.Hide(); foreach (Character character in GameData.characterList) { if (character.isDead) { continue; } if (character.IsEnemy()) { SpawnEnemy(character); continue; } switch (character.type) { case Character.Type.Player: playerOvermap.Setup(character); break; case Character.Type.Tank: if (character.subType == Character.SubType.Tank_BeforeJoin) { // Before Tank joined, make him an NPC SpawnNPC(character); } else { // After Tank joined, make him a Follower SpawnFollower(character, new Vector3(10, 0)); } break; case Character.Type.Sleezer: if (character.subType == Character.SubType.Sleezer_Friendly) { // After Tank joined, make him a Follower SpawnFollower(character, new Vector3(10, -5)); } break; case Character.Type.Healer: if (character.subType == Character.SubType.Healer_BeforeJoin) { // Before Healer joined, make him an NPC SpawnNPC(character); } else { // After Healer joined, make him a Follower SpawnFollower(character, new Vector3(10, 0)); } break; case Character.Type.PlayerDoppelganger: case Character.Type.Shop: case Character.Type.Randy: case Character.Type.TavernAmbush: case Character.Type.TavernAmbush_2: case Character.Type.TavernAmbush_3: SpawnNPC(character); break; case Character.Type.Villager_1: case Character.Type.Villager_2: case Character.Type.Villager_3: case Character.Type.Villager_4: case Character.Type.Villager_5: NPCOvermap npcOvermap = SpawnNPC(character); foreach (Transform child in transform.Find("Map")) { if (Vector3.Distance(npcOvermap.GetPosition(), child.position) < 1f) { CharacterSetLastMoveDirData characterSetLastMoveDirData = child.GetComponent <CharacterSetLastMoveDirData>(); npcOvermap.SetLastMoveDir(characterSetLastMoveDirData.lastMoveDir); } } break; } } foreach (Item item in GameData.itemList) { if (item.IsDestroyed()) { continue; } SpawnItem(item); } //OvermapHandler.SpawnNPC(new Vector3(0, 70)); // Starting state switch (GameData.state) { case GameData.State.Start: Cutscenes.Play_Start(); break; case GameData.State.DefeatedHurtMeDaddy: case GameData.State.DefeatedHurtMeDaddy_2: Window_QuestPointer.Create(GetNPC(GameData.GetCharacter(Character.Type.Tank)).GetPosition() + new Vector3(0, 10), Color.yellow, Color.yellow, crossSprite: GameAssets.i.s_ExclamationPoint); break; case GameData.State.DefeatedTank: Cutscenes.Play_Tank_AfterJoin(); break; case GameData.State.SurvivedTavernAmbush: Cutscenes.Play_SurvivedTavernAmbush(); break; case GameData.State.HealerJoined: Window_QuestPointer.Create(GameAssets.i.Map.Find("shop").position, Color.white, Color.white); break; case GameData.State.LostToEvilMonster_1: playerOvermap.SetPosition(GameAssets.i.Map.Find("dungeonPlayer").position); GetFollower(GameData.GetCharacter(Character.Type.Tank)).SetPosition(GameAssets.i.Map.Find("dungeonTank").position); GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).SetPosition(GameAssets.i.Map.Find("dungeonSleezer").position); GetFollower(GameData.GetCharacter(Character.Type.Healer)).SetPosition(GameAssets.i.Map.Find("dungeonHealer").position); Cutscenes.Play_LostToEvilMonster_1(); break; case GameData.State.MovingToEvilMonster_2: Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_2").position, Color.white, Color.white); break; case GameData.State.LostToEvilMonster_2: playerOvermap.SetPosition(GameAssets.i.Map.Find("dungeonPlayer").position); GetFollower(GameData.GetCharacter(Character.Type.Tank)).SetPosition(GameAssets.i.Map.Find("dungeonTank").position); GetFollower(GameData.GetCharacter(Character.Type.Sleezer)).SetPosition(GameAssets.i.Map.Find("dungeonSleezer").position); GetFollower(GameData.GetCharacter(Character.Type.Healer)).SetPosition(GameAssets.i.Map.Find("dungeonHealer").position); Cutscenes.Play_LostToEvilMonster_2(); break; case GameData.State.MovingToEvilMonster_3: Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster_3").position, Color.white, Color.white); break; case GameData.State.DefeatedEvilMonster: Cutscenes.Play_DefeatedEvilMonster(); break; } transform.Find("Map").Find("Hitboxes").Find("TavernEntryHitbox").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.DefeatedTank)); transform.Find("Map").Find("Hitboxes").Find("HurtMeDaddyHitbox").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.DefeatedHurtMeDaddy)); transform.Find("Map").Find("Hitboxes").Find("HurtMeDaddy2Hitbox").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.DefeatedHurtMeDaddy_2)); transform.Find("Map").Find("Hitboxes").Find("CastleBlockageHitbox").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.LostToEvilMonster_2)); transform.Find("Map").Find("VillagerBlocker").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.DefeatedTank)); transform.Find("Map").Find("Blockage").gameObject.SetActive(((int)GameData.state) < ((int)GameData.State.LostToEvilMonster_2)); //transform.Find("Map").Find("Hitboxes").Find("HurtMeDaddyHitbox").GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 0); //transform.Find("Map").Find("Hitboxes").Find("HurtMeDaddy2Hitbox").GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, 0); foreach (Transform hitboxTransform in transform.Find("Map").Find("Hitboxes")) { hitboxTransform.GetComponent <SpriteRenderer>().color = new Color(0, 0, 0, 0); } //transform.Find("Map").Find("Hitboxes").Find("CastleBlockageHitbox").GetComponent<SpriteRenderer>().color = new Color(0, 0, 0, .5f); //Window_QuestPointer.Create(new Vector3(150, 0), Color.white, Color.white); //ChatBubble.Create(playerOvermap.transform, new Vector3(3.5f, 5), "Oh Sleezer! You're so silly!"); //ChatBubble.Create(playerOvermap.transform, new Vector3(3.5f, 5), "Hihihi"); }
public void Update() { overmapFtnDewHandler.Update(); switch (GameData.state) { case GameData.State.GoingToTownCenter: //Vector3 townCenterPosition = GameAssets.i.Map.Find("townCenter").position; List <Vector3> positionList = new List <Vector3> { GameAssets.i.Map.Find("townCenter").position, GameAssets.i.Map.Find("townCenter_2").position, GameAssets.i.Map.Find("townCenter_3").position, }; bool reachedPosition = false; foreach (Vector3 position in positionList) { if (Vector3.Distance(playerOvermap.GetPosition(), position) < 30f) { reachedPosition = true; } } if (reachedPosition) { GameData.state = GameData.State.ArrivedAtTownCenter; Cutscenes.Play_ArrivedAtTownCenter(); } break; case GameData.State.GoingToTavern: Vector3 tavernPosition = GameAssets.i.Map.Find("tavern").position; if (Vector3.Distance(playerOvermap.GetPosition(), tavernPosition) < 20f) { GameData.state = GameData.State.InTavern; Cutscenes.Play_Tavern(); } break; case GameData.State.LeavingTown: //Vector3 leaveTownPosition = GameAssets.i.Map.Find("letsLeaveTown").position; positionList = new List <Vector3> { GameAssets.i.Map.Find("letsLeaveTown").position, GameAssets.i.Map.Find("letsLeaveTown_2").position, GameAssets.i.Map.Find("letsLeaveTown_3").position, }; reachedPosition = false; foreach (Vector3 position in positionList) { if (Vector3.Distance(playerOvermap.GetPosition(), position) < 30f) { reachedPosition = true; } } if (reachedPosition) { GameData.state = GameData.State.GoingToFirstEvilMonsterEncounter; Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("letsLeaveTown").position); Window_QuestPointer.Create(GameAssets.i.Map.Find("evilMonster").position, Color.white, Color.white); } break; case GameData.State.GoingToFirstEvilMonsterEncounter: Vector3 evilMonsterPosition = GetEnemy(Character.Type.EvilMonster).GetPosition(); if (Vector3.Distance(playerOvermap.GetPosition(), evilMonsterPosition) < 90f) { GameData.state = GameData.State.GoingToFightEvilMonster; Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("evilMonster").position); Cutscenes.Play_SpottedEvilMonster(); } break; case GameData.State.MovingToEvilMonster_2: evilMonsterPosition = GetEnemy(Character.Type.EvilMonster_2).GetPosition(); if (Vector3.Distance(playerOvermap.GetPosition(), evilMonsterPosition) < 80f) { GameData.state = GameData.State.GoingToFightEvilMonster_2; Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("evilMonster_2").position); } break; case GameData.State.MovingToEvilMonster_3: evilMonsterPosition = GetEnemy(Character.Type.EvilMonster_3).GetPosition(); if (Vector3.Distance(playerOvermap.GetPosition(), evilMonsterPosition) < 80f) { GameData.state = GameData.State.GoingToFightEvilMonster_3; Window_QuestPointer.DestroyPointer(GameAssets.i.Map.Find("evilMonster_3").position); } break; } }
private void HandleInteract() { if (((int)GameData.state) < ((int)GameData.State.DefeatedTank)) { if (!spawnedTankInteractKey) { Character tankCharacter = GameData.GetCharacter(Character.Type.Tank); if (Vector3.Distance(GetPosition(), tankCharacter.position) < 12f) { spawnedTankInteractKey = true; Instantiate(GameAssets.i.pfKey, tankCharacter.position + new Vector3(0, 15), Quaternion.identity); } } } if (Input.GetKeyDown(KeyCode.Space)) { NPCOvermap npcOvermap = OvermapHandler.GetInstance().GetClosestNPC(GetPosition(), 12f); if (npcOvermap != null) { switch (npcOvermap.GetCharacter().type) { case Character.Type.Tank: // Tank is only a NPC before he joins Cutscenes.Play_Tank_BeforeJoin(); break; case Character.Type.Healer: // Healer is only a NPC before he joins //Cutscenes.Play_Healer_BeforeJoin(); break; case Character.Type.PlayerDoppelganger: if (GameData.state == GameData.State.GoingToAskDoppelGanger) { Cutscenes.Play_DoppelGanger(); } break; case Character.Type.Shop: Cutscenes.Play_Shop(npcOvermap.GetCharacter()); break; } } else { // No NPC in range // Consume Health Potion if (GameData.TrySpendHealthPotion()) { // Heal all Team members int healAmount = 40; Heal(healAmount); FollowerOvermap tankOvermap = OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)); if (tankOvermap != null) { tankOvermap.Heal(healAmount); } FollowerOvermap healerOvermap = OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Healer)); if (healerOvermap != null) { healerOvermap.Heal(healAmount); } } } /* * if (OvermapHandler.GetInstance().TryPlayerInteract()) { * Dialogue dialogue = Dialogue.GetInstance(); * dialogue.SetDialogueActions(new List<Action>() { * () => { * dialogue.Show(); * dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite); * dialogue.ShowLeftText("Hello there General Kenobi"); * dialogue.ShowRightCharacter(GameAssets.i.s_PlayerDialogueSprite); * dialogue.FadeRightCharacter(); * }, * () => { * dialogue.ShowRightActiveTalkerHideLeft("Yes yes hello there..."); * }, * () => { * dialogue.ShowRightText("What brings you here?"); * }, * () => { * dialogue.ShowLeftActiveTalkerHideRight("Oh I don't know"); * }, * () => { * dialogue.ShowLeftText("Lets battle!"); * }, * () => { * Loader.Load(Loader.Scene.BattleScene); * }, * }); * dialogue.PlayNextAction(); * /// * dialogue.SetDialogueActions(new List<Action>() { * () => { * dialogue.Show(); * dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); * dialogue.ShowRightCharacter(GameAssets.i.s_PlayerDialogueSprite, true); * dialogue.ShowDialogueOptions(new List<Dialogue.DialogueOption> { * new Dialogue.DialogueOption(Dialogue.DialogueOption.Option._1, "Hello there!", () => { * dialogue.ClearDialogueOptions(); * dialogue.ShowRightActiveTalkerHideLeft("Yes yes hello there..."); * }), * new Dialogue.DialogueOption(Dialogue.DialogueOption.Option._2, "General Kenobi!", () => { * dialogue.ClearDialogueOptions(); * dialogue.ShowRightActiveTalkerHideLeft("Yes yes hello there..."); * }), * }); * }, * }, true); * } */ } }
private void Start() { cutscenes = GameObject.Find("CutsceneManager").GetComponent <Cutscenes>(); dM = GameObject.Find("DialogueManager").GetComponent <DialogueManager>(); }