Exemplo n.º 1
0
        private void Interaction_1()
        {
            RpgManager.CurrentStory.StopMusic();
            RpgManager.PlayEndMusic();
            RpgManager.Instance.gameState = RpgManager.GameState.End;

            player.Talk(speech1, Interaction_2);
        }
Exemplo n.º 2
0
        private void DoTalk()
        {
            if (currentTalk < talks.Count)
            {
                if (talkType == TalkType.dialogue)
                {
                    string t      = talks[currentTalk];
                    string talker = t.Split(':')[0];

                    if (talker == "Altéa ")
                    {
                        RpgManager.Instance.discussionInterface.SetImage(false, spriteAltea);
                    }
                    else if (talker == "Orion ")
                    {
                        RpgManager.Instance.discussionInterface.SetImage(false, spriteOrion);
                    }
                    else if (talker == "Max ")
                    {
                        RpgManager.Instance.discussionInterface.SetImage(false, spriteMax);
                    }
                    else if (talker == "Lucky ")
                    {
                        RpgManager.Instance.discussionInterface.SetImage(false, spriteLucky);
                    }

                    player.Dialog(talker == "Morgane ", t, DoTalk);
                }
                else
                {
                    player.Talk(talks[currentTalk], DoTalk);
                }
                currentTalk++;
            }
            else
            {
                player.EndTalk();
                currentTalk = 0;

                if (onEndInteraction != null)
                {
                    onEndInteraction();
                }
            }
        }
Exemplo n.º 3
0
        private IEnumerator EndInteraction()
        {
            player.movementEnabled = false;

            MovableEntity movable = GetComponentInChildren <MovableEntity>();
            var           rb      = movable.GetComponent <Rigidbody2D>();

            rb.bodyType = RigidbodyType2D.Dynamic;
            movable.MoveTo(RpgManager.Player.transform.position);

            yield return(new WaitWhile(() => movable.isMoving));

            character.SetActive(false);

            if (isAltea)
            {
                RpgManager.SetKey(SaveKey.metAltea, 1);
            }
            else
            {
                RpgManager.SetKey(SaveKey.metOrion, 1);
                player.attackEnabled = true;
            }

            RpgManager.SaveGame(isAltea ? "SPA" : "Orion");

            float oldvolume = RpgManager.CurrentStory.GetMusicVolume();

            RpgManager.CurrentStory.SetMusicVolume(0);
            RpgManager.PlaySFX(sfx_jingle);
            bool wait = true;

            player.Talk((isAltea ? "Altea" : "Orion") + " rejoint l'equipe !", () => wait = false);
            yield return(new WaitForSeconds(sfx_jingle.length - 1));

            yield return(new WaitWhile(() => wait));

            gameObject.SetActive(false);

            player.EndTalk();
            RpgManager.CurrentStory.SetMusicVolume(oldvolume);
        }
Exemplo n.º 4
0
 private void Interaction_1()
 {
     player.Talk(speech1, Interaction_2);
 }