示例#1
0
 public void Init(SpeechPlayableData _speechPlayableData, Char _speaker, SpeechTrackPlaybackMode _speechTrackPlaybackMode, int _trackInstanceID)
 {
     speechPlayableData      = _speechPlayableData;
     speaker                 = _speaker;
     speechTrackPlaybackMode = _speechTrackPlaybackMode;
     trackInstanceID         = _trackInstanceID;
 }
示例#2
0
        public void Init(SpeechPlayableData _speechPlayableData, Char _speaker, SpeechTrackPlaybackMode _speechTrackPlaybackMode, int _trackInstanceID)
        {
            speechPlayableData      = _speechPlayableData;
            speaker                 = _speaker;
            speechTrackPlaybackMode = _speechTrackPlaybackMode;
            trackInstanceID         = _trackInstanceID;

                        #if AddressableIsPresent
            PrepareAddressable();
                        #endif
        }
示例#3
0
        public void ShowGUI()
        {
            isPlayerLine = CustomGUILayout.Toggle("Player line?", isPlayerLine, "", "If True, the line is spoken by the active Player");
            if (isPlayerLine)
            {
                if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow)
                {
                    playerID = ChoosePlayerGUI(playerID);
                }
            }
            else
            {
                // For some reason, dynamically generating an ID number for a Char component destroys the component (?!), so we need to store a GameObject instead and convert to Char in the GUI
                Char speakerPrefab = (speakerObject != null) ? speakerObject.GetComponent <Char>() : null;
                speakerPrefab = (Char)CustomGUILayout.ObjectField <Char> ("Speaker prefab:", speakerPrefab, false, "", "The prefab of the character who is speaking the lines on this track");
                speakerObject = (speakerPrefab != null) ? speakerPrefab.gameObject : null;

                if (speakerObject != null)
                {
                    if (speakerObject.GetComponent <ConstantID>() == null || speakerObject.GetComponent <ConstantID>().constantID == 0)
                    {
                        UnityVersionHandler.AddConstantIDToGameObject <ConstantID> (speakerObject, true);
                    }

                    if (speakerObject.GetComponent <ConstantID>())
                    {
                        speakerConstantID = speakerObject.GetComponent <ConstantID>().constantID;
                    }

                    if (speakerObject.GetComponent <ConstantID>() == null || speakerConstantID == 0)
                    {
                        EditorGUILayout.HelpBox("A Constant ID number must be assigned to " + speakerObject + ".  Attach a ConstantID component and check 'Retain in prefab?'", MessageType.Warning);
                    }
                    else
                    {
                        EditorGUILayout.BeginVertical("Button");
                        EditorGUILayout.LabelField("Recorded ConstantID: " + speakerConstantID.ToString(), EditorStyles.miniLabel);
                        EditorGUILayout.EndVertical();
                    }
                }
            }

            playbackMode = (SpeechTrackPlaybackMode)EditorGUILayout.EnumPopup("Playback mode:", playbackMode);

            if (playbackMode == SpeechTrackPlaybackMode.Natural)
            {
                EditorGUILayout.HelpBox("Speech lines will last as long as the settings in the Speech Manager dictate.", MessageType.Info);
            }
            else if (playbackMode == SpeechTrackPlaybackMode.ClipDuration)
            {
                EditorGUILayout.HelpBox("Speech lines will last for the duration of their associated Timeline clip.", MessageType.Info);
            }
        }