Example #1
0
    public void StartDialogue(CreateAText message)
    {
        currentMessageToType = message;
        dialoguePanel.SetActive(true);

        textToShow = message.textToWrite;

        if (currentMessageToType.GetSpeakerAnimator != null)
        {
            dialogueAnimationImage.runtimeAnimatorController = currentMessageToType.GetSpeakerAnimator;
            dialogueAnimationImage.SetTrigger(currentMessageToType.GetSpeakerEmotion.ToString());
        }

        currentTimeBeforeNextChar = TimeBetweenTwoChars;
        isTypingText       = true;
        currentLetterIndex = 0;
        shownText          = "";

        /*shownText = new string(' ', textToShow.Length);
         * Debug.Log("\"" + shownText + "\"");*/
    }
Example #2
0
    public void StartCinematicPart()
    {
        CinematicPart startedPart = currentCinematicAllParts[currentCinematicPartIndex];

        /*ShipMovements playerMovements = GameManager.gameManager.Player.ShipMvt;
         * if (startedPart.GetMovePlayerBoatWhileCinematic && playerMovements.Stopped)*/

        if (startedPart.StartSpawnedEnemies && shipsToStartOnSpecificPart != null)
        {
            foreach (EnemyShip enemy in shipsToStartOnSpecificPart)
            {
                enemy.ShipMvt.StartShip();
            }

            shipsToStartOnSpecificPart = new List <EnemyShip>();
        }


        remainingCinematicPartDuration = startedPart.GetWaitTimeOnceEnded;
        if (remainingCinematicPartDuration == 0)
        {
            remainingCinematicPartDuration = 1.5f;
        }

        #region Cameras
        if (startedPart.cam != null)
        {
            if (startedPart.cam == firstCinematicCam)
            {
                StartCameraMove(!startedPart.GetMovePlayerBoatWhileCinematic);
            }

            startedPart.cam.gameObject.SetActive(true);

            cinematicPartHasCamMove = true;
            skipCinematicButton.gameObject.SetActive(true);
        }
        else
        {
            if (GameManager.gameManager.StartedFight)
            {
                cinematicPartHasCamMove = false;
                skipCinematicButton.gameObject.SetActive(false);
            }
            else
            {
                /*if (startedPart.cam == firstCinematicCam)
                 *  StartCameraMove(!startedPart.GetMovePlayerBoatWhileCinematic);*/

                //startedPart.cam.gameObject.SetActive(true);

                cinematicPartHasCamMove = true;
                skipCinematicButton.gameObject.SetActive(true);
            }
        }
        #endregion

        #region Dialogue
        CreateAText messageToType = currentCinematicAllParts[currentCinematicPartIndex].messageToType;
        if (messageToType != null && messageToType != currentMessageToType)
        {
            StartDialogue(messageToType);
        }
        else if (messageToType == null && messageToType != currentMessageToType)
        {
            EndDialogue();
        }
        #endregion

        #region Animators
        if (startedPart.GetAnimatorsToLaunchOnPartBeginning != null)
        {
            foreach (Animator animatorToLaunch in startedPart.GetAnimatorsToLaunchOnPartBeginning)
            {
                if (animatorToLaunch != null)
                {
                    animatorToLaunch.SetTrigger("Cinematic");
                }
            }
        }
        #endregion

        if (waitingToGetControlBackToPlayer && !startedPart.GetDontGivePlayerControlBack)
        {
            waitingToGetControlBackToPlayer = false;
            ShipMovements playerMovements = GameManager.gameManager.Player.ShipMvt;

            if (stoppedPlayer)
            {
                playerMovements.StartShip();
                stoppedPlayer = false;
            }

            playerInterface.ShowPlayerInterface();
        }

        startedPart.PlayStartEvent();
    }