void Start()
    {
        DontDestroyOnLoad(gameObject);
        foreach (VignetteConfiguration vigConfig in GetComponentsInChildren <VignetteConfiguration>())
        {
            VignetteVideoConfig config = vigConfig.Config;

            //initialize some variables
            if (config.AudioSourceToPlay != null)
            {
                config.InitialMusicVolume = config.AudioSourceToPlay.volume;
            }

            config.UniqueId = vigConfig.gameObject.name;

            if (m_ConfigurationsById.ContainsKey(config.UniqueId))
            {
                Debug.LogError("Cannot have two vignette configurations with the same name: " + config.UniqueId);
            }
            if (String.IsNullOrEmpty(config.UniqueId))
            {
                continue;
            }
            m_ConfigurationsById[config.UniqueId] = config;
        }
    }
示例#2
0
    public void DisplayVignette(string name, VignetteOverlay.FinishedAction finishedAction = null)
    {
        VignetteVideoConfig config = VignetteAuthoring.Instance.GetVideoConfig(name);

        VignetteOverlay.DisplayVignette(config, finishedAction);
        VignetteOverlay.gameObject.SetActive(true);
    }
    public void DisplayVignette(VignetteVideoConfig config, FinishedAction finishedAction)
    {
        m_FinishedAction = finishedAction;

        GatherAndPauseAllPlayingAudioSources();

        m_Config               = config;
        currentIndex           = 0;
        furthestSeenIndex      = 0;
        m_Finished             = false;
        m_FiredFinishingAction = false;

        m_TimeSinceStarted = 0;

        m_TextSpeed = config.TextSpeed;

        // visuals configs
        m_Background.sprite     = m_Config.Background;
        m_BackgroundColor.color = m_Config.BackgroundColor;
        RectTransform bgRectTransform = ((RectTransform)m_Background.transform);

        bgRectTransform.anchoredPosition = m_Config.BackgroundImageOffset;

        if (m_Config.BackgroundScale == 0)
        {
            m_Config.BackgroundScale = 1;
        }
        bgRectTransform.localScale = Vector3.one * m_Config.BackgroundScale;

        m_Text.font        = m_Config.Font;
        m_Text.fontSize    = m_Config.FontSize;
        m_Text.lineSpacing = m_Config.LineSpacing;
        if (m_Config.PlayAudioSource)
        {
            GameManager.Instance.PlayAudioSource(m_Config.AudioSourceToPlay);
            GameManager.Instance.SetAudioSourceVolume(config.InitialMusicVolume);
            m_TargetAudioSourceVolume = config.InitialMusicVolume;
        }

        RectTransform rectTransform = ((RectTransform)m_Text.transform);

        rectTransform.anchoredPosition = m_Config.TextOffset;
        rectTransform.sizeDelta        = new Vector2(m_Config.TextBoxWidth, rectTransform.sizeDelta.y);

        m_ReadyToAdvanceAnimation.alpha = config.HideAdvanceIndicator ? 0 : 1;

        m_BackgroundVideo = config.m_BackgroundVideo;
        if (m_BackgroundVideo != null)
        {
            m_BackgroundVideo.StartScriptable();
        }

        StartFade(m_Config.FadeIn, m_Config.FadeInCurve, m_Config.FadeInColor);
        DisplayStep(currentIndex);
    }
    public void UpdateLockedState()
    {
        bool discovered = GameManager.Instance.HasSeenVignette(m_VignetteId);

        m_Button.enabled = discovered;
        if (discovered)
        {
            VignetteVideoConfig videoConfig = VignetteAuthoring.Instance.GetVideoConfig(m_VignetteId);
            m_TextField.text = videoConfig.DisplayName;
        }
        else
        {
            m_TextField.text = m_EmptyString;
        }
    }