Esempio n. 1
0
    protected void InspectorGuiPsaiStopMusic(PsaiTriggerBase trigger)
    {
        optionsStopSelectedIndex = trigger._keepSilentUntilNextTrigger ? 0 : 1;
        optionsStopSelectedIndex = GUILayout.SelectionGrid(optionsStopSelectedIndex, optionsStop, optionsStop.Length, EditorStyles.radioButton);

        if (optionsStopSelectedIndex == 1)
        {
            // override checkbox
            EditorGUI.indentLevel++;
            trigger._overrideDefaultRestTime = EditorGUILayout.Toggle("override default rest time", trigger._overrideDefaultRestTime);

            if (trigger._overrideDefaultRestTime)
            {
                EditorGUI.indentLevel++;
                trigger._overrideRestSecondsMin = EditorGUILayout.IntField("override rest seconds min", trigger._overrideRestSecondsMin);
                trigger._overrideRestSecondsMax = EditorGUILayout.IntField("override rest seconds max", trigger._overrideRestSecondsMax);

                if (trigger._overrideRestSecondsMax < trigger._overrideRestSecondsMin)
                {
                    trigger._overrideRestSecondsMax = trigger._overrideRestSecondsMin;
                }
                EditorGUI.indentLevel--;
            }
            EditorGUI.indentLevel--;
        }

        trigger._keepSilentUntilNextTrigger = (optionsStopSelectedIndex == 0);


        InspectorGuiEndOrFade(trigger);
        InspectorGuiDontExecuteIfTriggersAreFiring(trigger);
    }
Esempio n. 2
0
    public void InspectorGuiDontExecuteIfTriggersAreFiring(PsaiTriggerBase trigger)
    {
        trigger._dontExecuteIfOtherTriggersAreFiring = EditorGUILayout.Toggle("don't execute if Triggers are currently firing", trigger._dontExecuteIfOtherTriggersAreFiring);

        if (trigger._dontExecuteIfOtherTriggersAreFiring)
        {
            EditorGUI.indentLevel++;
            trigger._restrictBlockToThisThemeType = (psai.net.ThemeType)EditorGUILayout.EnumPopup("...restricted to Triggers of this Type:", trigger._restrictBlockToThisThemeType);
            EditorGUI.indentLevel--;
        }
    }
    public void InspectorGuiDontExecuteIfTriggersAreFiring(PsaiTriggerBase trigger)
    {
        trigger._dontExecuteIfOtherTriggersAreFiring = EditorGUILayout.Toggle("don't execute if Triggers are currently firing", trigger._dontExecuteIfOtherTriggersAreFiring);

        if (trigger._dontExecuteIfOtherTriggersAreFiring)
        {
            EditorGUI.indentLevel++;
            trigger._restrictBlockToThisThemeType = (psai.net.ThemeType)EditorGUILayout.EnumPopup("...restricted to Triggers of this Type:", trigger._restrictBlockToThisThemeType);
            EditorGUI.indentLevel--;
        }
    }
Esempio n. 4
0
 public void InspectorGuiEndOrFade(PsaiTriggerBase trigger)
 {
     optionEndSelectedIndex = trigger._immediately ? 1 : 0;
     optionEndSelectedIndex = GUILayout.SelectionGrid(optionEndSelectedIndex, optionsEnd, optionsEnd.Length, EditorStyles.radioButton);
     trigger._immediately   = (optionEndSelectedIndex == 1);
     if (optionEndSelectedIndex == 1)
     {
         EditorGUI.indentLevel++;
         trigger._fadeOutSeconds = EditorGUILayout.FloatField("Fade-out Seconds", trigger._fadeOutSeconds);
         EditorGUI.indentLevel--;
     }
 }
 public void InspectorGuiEndOrFade(PsaiTriggerBase trigger)
 {
     optionEndSelectedIndex = trigger._immediately ? 1 : 0;
     optionEndSelectedIndex = GUILayout.SelectionGrid(optionEndSelectedIndex, optionsEnd, optionsEnd.Length, EditorStyles.radioButton);
     trigger._immediately = (optionEndSelectedIndex == 1);
     if (optionEndSelectedIndex == 1)
     {
         EditorGUI.indentLevel++;
         trigger._fadeOutSeconds = EditorGUILayout.FloatField("Fade-out Seconds", trigger._fadeOutSeconds);
         EditorGUI.indentLevel--;
     }
 }
Esempio n. 6
0
    /*
     * public override void OnInspectorGUI()
     * {
     *  PsaiTriggerBase trigger = target as PsaiTriggerBase;
     *
     *  InspectorGuiThemeSelection(trigger);
     * }
     */


    protected void InspectorGuiTriggerTypeBase(PsaiTriggerBase trigger)
    {
        _triggerTypeChoiceIndex = (int)trigger.TriggerType;
        _triggerTypeChoiceIndex = EditorGUILayout.Popup("Command: ", _triggerTypeChoiceIndex, _triggerTypeChoices);

        trigger.TriggerType = (PsaiTriggerBase.PsaiTriggerType)_triggerTypeChoiceIndex;

        if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.returnToLastBasicMood)
        {
            InspectorGuiReturnToLastBasicMood(trigger);
        }
        else if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.stopMusic)
        {
            InspectorGuiPsaiStopMusic(trigger);
        }
        else if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.triggerMusicTheme)
        {
            InspectorGuiThemeSelection(trigger);
        }
    }
Esempio n. 7
0
    private void CopyControlTriggerValuesToPlaybackCallFiringInThisTick(PsaiTriggerBase trigger)
    {
        switch (trigger.TriggerType)
        {
        case PsaiTriggerBase.PsaiTriggerType.returnToLastBasicMood:
        {
            this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.ReturnToBasicMood;
        }
        break;


        case PsaiTriggerBase.PsaiTriggerType.stopMusic:
        {
            if (trigger._keepSilentUntilNextTrigger)
            {
                this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.StopMusic;
            }
            else
            {
                this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.GoToRest;
            }
        }
        break;
        }
        this.playbackControlCallFiringInThisTick.sendingBehaviour = trigger;
        this.playbackControlCallFiringInThisTick.immediately      = trigger._immediately;
        this.playbackControlCallFiringInThisTick.fadeOutSeconds   = trigger._fadeOutSeconds;
        this.playbackControlCallFiringInThisTick.dontExecuteIfOtherTriggersAreFiring = trigger._dontExecuteIfOtherTriggersAreFiring;
        this.playbackControlCallFiringInThisTick.restrictBlockToThisThemeType        = trigger._restrictBlockToThisThemeType;
        this.playbackControlCallFiringInThisTick.keepSilentUntilNextTrigger          = trigger._keepSilentUntilNextTrigger;
        if (trigger._overrideDefaultRestTime)
        {
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = trigger._overrideRestSecondsMin;
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMax = trigger._overrideRestSecondsMax;
        }
        else
        {
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = -1;
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = -1;
        }
    }
Esempio n. 8
0
    protected void InspectorGuiThemeSelection(PsaiTriggerBase trigger)
    {
        trigger.themeId = EditorGUILayout.IntField("ThemeId", trigger.themeId);
        if (trigger.themeId < 1)
        {
            trigger.themeId = 1;
        }

        if (PsaiCore.IsInstanceInitialized())
        {
            Color  defaultContentColor = GUI.contentColor;
            string themeInfoString     = "THEME NOT FOUND";
            GUI.contentColor = Color.red;
            if (ThemeInfos.ContainsKey(trigger.themeId))
            {
                GUI.contentColor = new Color(0, 0.85f, 0);
                ThemeInfo themeInfo = ThemeInfos[trigger.themeId];
                themeInfoString = themeInfo.name + " [" + psai.net.Theme.ThemeTypeToString(themeInfo.type) + "]";
            }
            EditorGUILayout.LabelField(" ", themeInfoString);

            GUI.contentColor = defaultContentColor;
        }
    }
    protected void InspectorGuiThemeSelection(PsaiTriggerBase trigger)
    {
        trigger.themeId = EditorGUILayout.IntField("ThemeId", trigger.themeId);
        if (trigger.themeId < 1)
        {
            trigger.themeId = 1;
        }

        if (PsaiCore.IsInstanceInitialized())
        {
            Color defaultContentColor = GUI.contentColor;
            string themeInfoString = "THEME NOT FOUND";
            GUI.contentColor = Color.red;
            if (ThemeInfos.ContainsKey(trigger.themeId))
            {
                GUI.contentColor = new Color(0, 0.85f, 0);
                ThemeInfo themeInfo = ThemeInfos[trigger.themeId];
                themeInfoString = themeInfo.name + " [" + psai.net.Theme.ThemeTypeToString(themeInfo.type) + "]";
            }
            EditorGUILayout.LabelField(" ", themeInfoString);

            GUI.contentColor = defaultContentColor;
        }
    }
Esempio n. 10
0
 protected void InspectorGuiReturnToLastBasicMood(PsaiTriggerBase trigger)
 {
     InspectorGuiEndOrFade(trigger);
     InspectorGuiDontExecuteIfTriggersAreFiring(trigger);
 }
Esempio n. 11
0
    private void CopyControlTriggerValuesToPlaybackCallFiringInThisTick(PsaiTriggerBase trigger)
    {
        switch(trigger.TriggerType)
        {
            case PsaiTriggerBase.PsaiTriggerType.returnToLastBasicMood:
                {
                    this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.ReturnToBasicMood;
                }
                break;

            case PsaiTriggerBase.PsaiTriggerType.stopMusic:
                {
                    if (trigger._keepSilentUntilNextTrigger)
                        this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.StopMusic;
                    else
                        this.playbackControlCallFiringInThisTick.playbackControlType = PlaybackControlType.GoToRest;
                }
                break;
        }
        this.playbackControlCallFiringInThisTick.sendingBehaviour = trigger;
        this.playbackControlCallFiringInThisTick.immediately = trigger._immediately;
        this.playbackControlCallFiringInThisTick.fadeOutSeconds = trigger._fadeOutSeconds;
        this.playbackControlCallFiringInThisTick.dontExecuteIfOtherTriggersAreFiring = trigger._dontExecuteIfOtherTriggersAreFiring;
        this.playbackControlCallFiringInThisTick.restrictBlockToThisThemeType = trigger._restrictBlockToThisThemeType;
        this.playbackControlCallFiringInThisTick.keepSilentUntilNextTrigger = trigger._keepSilentUntilNextTrigger;
        if (trigger._overrideDefaultRestTime)
        {
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = trigger._overrideRestSecondsMin;
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMax = trigger._overrideRestSecondsMax;
        }
        else
        {
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = -1;
            this.playbackControlCallFiringInThisTick.overrideRestSecondsMin = -1;
        }
    }
Esempio n. 12
0
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // for some reason the sender Behaviour is null in the next Update loop after calling these Synchronized...methods,
 // so we fill a struct.
 public void RegisterSynchronizedOneShotPlaybackCommandForNextTick(PsaiTriggerBase trigger)
 {
     CopyControlTriggerValuesToPlaybackCallFiringInThisTick(trigger);
 }
Esempio n. 13
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    // for some reason the sender Behaviour is null in the next Update loop after calling these Synchronized...methods,
    // so we fill a struct.

    public void RegisterSynchronizedOneShotPlaybackCommandForNextTick(PsaiTriggerBase trigger)
    {
        CopyControlTriggerValuesToPlaybackCallFiringInThisTick(trigger);
    }
    /*
    public override void OnInspectorGUI()
    {
        PsaiTriggerBase trigger = target as PsaiTriggerBase;

        InspectorGuiThemeSelection(trigger);
    }
     */
    protected void InspectorGuiTriggerTypeBase(PsaiTriggerBase trigger)
    {
        _triggerTypeChoiceIndex = (int)trigger.TriggerType;
        _triggerTypeChoiceIndex = EditorGUILayout.Popup("Command: ", _triggerTypeChoiceIndex, _triggerTypeChoices);

        trigger.TriggerType = (PsaiTriggerBase.PsaiTriggerType)_triggerTypeChoiceIndex;

        if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.returnToLastBasicMood)
        {
            InspectorGuiReturnToLastBasicMood(trigger);
        }
        else if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.stopMusic)
        {
            InspectorGuiPsaiStopMusic(trigger);
        }
        else if (trigger.TriggerType == PsaiTriggerBase.PsaiTriggerType.triggerMusicTheme)
        {
            InspectorGuiThemeSelection(trigger);
        }
    }
 protected void InspectorGuiReturnToLastBasicMood(PsaiTriggerBase trigger)
 {
     InspectorGuiEndOrFade(trigger);
     InspectorGuiDontExecuteIfTriggersAreFiring(trigger);
 }
    protected void InspectorGuiPsaiStopMusic(PsaiTriggerBase trigger)
    {
        optionsStopSelectedIndex = trigger._keepSilentUntilNextTrigger ? 0 : 1;
        optionsStopSelectedIndex = GUILayout.SelectionGrid(optionsStopSelectedIndex, optionsStop, optionsStop.Length, EditorStyles.radioButton);

        if (optionsStopSelectedIndex == 1)
        {
            // override checkbox
            EditorGUI.indentLevel++;
            trigger._overrideDefaultRestTime = EditorGUILayout.Toggle("override default rest time", trigger._overrideDefaultRestTime);

            if (trigger._overrideDefaultRestTime)
            {
                EditorGUI.indentLevel++;
                trigger._overrideRestSecondsMin = EditorGUILayout.IntField("override rest seconds min", trigger._overrideRestSecondsMin);
                trigger._overrideRestSecondsMax = EditorGUILayout.IntField("override rest seconds max", trigger._overrideRestSecondsMax);

                if (trigger._overrideRestSecondsMax < trigger._overrideRestSecondsMin)
                {
                    trigger._overrideRestSecondsMax = trigger._overrideRestSecondsMin;
                }
                EditorGUI.indentLevel--;
            }
            EditorGUI.indentLevel--;
        }

        trigger._keepSilentUntilNextTrigger = (optionsStopSelectedIndex == 0);

        InspectorGuiEndOrFade(trigger);
        InspectorGuiDontExecuteIfTriggersAreFiring(trigger);
    }