public static void Play_Tank_AfterJoin() { // After Defeating the Tank, Tank Joins team UIBlack.Show(); OvermapHandler.StopOvermapRunning(); Character playerCharacter = GameData.GetCharacter(Character.Type.Player); Character tankCharacter = GameData.GetCharacter(Character.Type.Tank); Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, true); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.ShowRightCharacter(GameAssets.i.s_TankPortrait, false); dialogue.ShowRightCharacterName("???"); dialogue.ShowRightText("Ok ok you win!"); }, () => { dialogue.ShowRightText("You are such a strong Warrior, my apologies for doubting you"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("That's okay, you're quite strong yourself!"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("Please allow me to redeem myself by joining you on your quest to defeat the Evil Monster!"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Sure, help is always needed, my name is " + playerCharacter.name); }, () => { dialogue.ShowRightActiveTalkerHideLeft("And I'm..."); }, () => { dialogue.Hide(); Window_PickName.ShowAvailableNames((string selectedName) => { tankCharacter.name = selectedName; dialogue.Show(); dialogue.PlayNextAction(); }); }, () => { dialogue.ShowRightActiveTalkerHideLeft("I'm " + tankCharacter.name); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Tank)); }, () => { dialogue.ShowRightText("Oh hey and this is my buddy Sleezer!"); }, () => { dialogue.ShowRightText("He goes everywhere with me"); }, () => { dialogue.ShowRightText("He's a bit of a goofball but he's good company"); }, () => { dialogue.ShowRightCharacter(GameAssets.i.s_SleezerPortrait, false); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Sleezer)); //dialogue.ShowRightCharacterName("???"); dialogue.ShowRightText("Hihihi that's me!"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Oh Sleezer! You're adorable!"); }, () => { dialogue.ShowLeftText("Alright, onwards on our Quest!"); }, () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); GameData.state = GameData.State.GoingToTownCenter; Window_QuestPointer.Create(GameAssets.i.Map.Find("townCenter").position, Color.white, Color.white); }, }, true); }
private void Awake() { instance = this; GetComponent <RectTransform>().anchoredPosition = Vector2.zero; optionsTransform = transform.Find("options"); optionSingleTemplateTransform = optionsTransform.Find("optionTemplate"); optionSingleTemplateTransform.gameObject.SetActive(false); optionSingleTransformList = new List <Transform>(); Hide(); }
public static void Play_Start() { OvermapHandler.StopOvermapRunning(); UIBlack.Show(); Character playerCharacter = GameData.GetCharacter(Character.Type.Player); Dialogue dialogue = Dialogue.GetInstance(); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, false); dialogue.ShowLeftText("What happened?"); dialogue.ShowLeftCharacterName("???"); dialogue.HideRightCharacter(); dialogue.HideRightText(); dialogue.HideRightCharacterName(); }, () => { dialogue.ShowLeftText("What was I doing?"); }, () => { dialogue.ShowLeftText("Oh right, I was going to defeat the Evil Monster in the Evil Castle"); }, () => { dialogue.ShowLeftText("What was my name again?"); }, () => { dialogue.Hide(); Window_KeyContinue.Hide_Static(); Window_PickName.ShowAvailableNames((string selectedName) => { playerCharacter.name = selectedName; dialogue.Show(); dialogue.PlayNextAction(); }); }, () => { dialogue.ShowLeftText("Oh that's right, I'm " + playerCharacter.name); dialogue.ShowLeftCharacterName(playerCharacter.name); }, () => { dialogue.ShowLeftText("Alright let's go!"); }, () => { dialogue.Hide(); UIBlack.Hide(); OvermapHandler.StartOvermapRunning(); //GameData.state = GameData.State.GoingToTownCenter; }, }, true); }
public static void ShowAvailableNames(Action <string> onSelected) { instance.DestroyOptions(); Window_PickName.Show_Static(); Window_PickName.AddOption_Static("Custom Name (Max Length 4)", () => { /* DISABLED */ }); for (int i = 0; i < GameData.badNamesArray.Length; i++) { string badName = GameData.badNamesArray[i]; if (GameData.IsNameAvailable(badName)) { Window_PickName.AddOption_Static(badName, () => { instance.Hide(); onSelected(badName); }); } } }
public static void Play_SurvivedTavernAmbush() { // Healer after Tavern ambush UIBlack.Show(); OvermapHandler.StopOvermapRunning(); Dialogue dialogue = Dialogue.GetInstance(); Character healerCharacter = GameData.GetCharacter(Character.Type.Healer); dialogue.SetDialogueActions(new List <Action>() { () => { dialogue.Show(); dialogue.ShowLeftCharacter(GameAssets.i.s_PlayerDialogueSprite, true); dialogue.ShowLeftCharacterName(GameData.GetCharacterName(Character.Type.Player)); dialogue.HideLeftText(); dialogue.ShowRightCharacter(GameAssets.i.s_HealerPortrait, false); dialogue.ShowRightCharacterName("???"); dialogue.ShowRightText("You've saved us all!"); }, () => { dialogue.ShowRightText("Oh no, you're hurt, let me help you"); }, () => { UIBlack.Hide(); dialogue.Hide(); // Player Heal FunctionTimer.Create(() => { OvermapHandler.GetInstance().GetFollower(GameData.GetCharacter(Character.Type.Tank)).Heal(200); OvermapHandler.GetInstance().GetPlayer().Heal(200); }, .2f); FunctionTimer.Create(() => { /* * Character uniqueCharacter = GameData.GetCharacter(Character.Type.Player); * uniqueCharacter.stats.health = uniqueCharacter.stats.healthMax; * uniqueCharacter = GameData.GetCharacter(Character.Type.Tank); * uniqueCharacter.stats.health = uniqueCharacter.stats.healthMax; */ UIBlack.Show(); dialogue.Show(); dialogue.ShowRightText("You look like a strong warrior on a dangerous quest, need help?"); }, .5f); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Sure thing, the path will be dangerous so it will be nice to have a healer"); }, () => { dialogue.ShowLeftText("What to they call you?"); }, () => { dialogue.ShowRightActiveTalkerHideLeft("My name is..."); }, () => { dialogue.Hide(); Window_PickName.ShowAvailableNames((string selectedName) => { healerCharacter.name = selectedName; dialogue.Show(); dialogue.PlayNextAction(); }); }, () => { dialogue.ShowRightText("My name is " + healerCharacter.name); dialogue.ShowRightCharacterName(GameData.GetCharacterName(Character.Type.Healer)); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Nice to meet you " + healerCharacter.name); }, () => { dialogue.ShowRightActiveTalkerHideLeft("We should pick up some supplies before we go"); }, () => { dialogue.ShowLeftActiveTalkerHideRight("Alright, let's go"); }, () => { GameData.state = GameData.State.HealerJoined; healerCharacter.isInPlayerTeam = true; healerCharacter.subType = Character.SubType.Healer_Friendly; OvermapHandler.SaveAllCharacterPositions(); Loader.Load(Loader.Scene.GameScene); }, }, true); }
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"); }