예제 #1
0
    //[SerializeField]
    //[Range(0f, 1f)]
    //public float wind_IntensityValue;           // kommentera ut ifall WorldState-värde används, kan användas i Debug-syfte

    private void Awake()
    {
        if (Instance != null && Instance != this)
        {
            Destroy(this.gameObject);
        }
        else
        {
            Instance = this;
        }

        event_Instance    = RuntimeManager.CreateInstance(event_Ref);
        event_Description = RuntimeManager.GetEventDescription(event_Ref);
        event_Description.is3D(out is3D);
        if (is3D)
        {
            Init_Attachment(transform, GetComponent <Rigidbody>());
        }

        EventDescription ambGlobalOverrideEventDescription;

        event_Instance.getDescription(out ambGlobalOverrideEventDescription);
        PARAMETER_DESCRIPTION ambGlobalOverrideParameterDescription;

        ambGlobalOverrideEventDescription.getParameterDescriptionByName("amb_global_override", out ambGlobalOverrideParameterDescription);
        ambGlobalOverrideParameterId = ambGlobalOverrideParameterDescription.id;

        RuntimeManager.StudioSystem.getParameterDescriptionByName(parameter, out windIntensityDescription);
    }
예제 #2
0
 void ReachedPitStop()
 {
     Debug.Log("Did I reach the end?");
     carReached.getParameterDescriptionByName("Intensity", out triggerCarReached);
     cID = triggerCarReached.id;
     carMoving.setParameterByID(cID, 1.00f);
 }
예제 #3
0
    public void Init_Ref()
    {
        event_Instance    = RuntimeManager.CreateInstance(event_Ref);
        event_Description = RuntimeManager.GetEventDescription(event_Ref);
        event_Description.getMaximumDistance(out maxDistance);
        event_Description.getMinimumDistance(out minDistance);

        EventDescription isShyEventDescription;

        event_Instance.getDescription(out isShyEventDescription);
        PARAMETER_DESCRIPTION isShyParameterDescription;

        isShyEventDescription.getParameterDescriptionByName("isShy", out isShyParameterDescription);
        isShyParameterId = isShyParameterDescription.id;

        event_Description.is3D(out is3D);
        if (is3D)
        {
            Init_Attachment(transform, GetComponent <Rigidbody>());
        }
        if (playFromStart)
        {
            Init_Event();
        }
    }
        private static PARAMETER_ID AddNewCachedParameter(string eventPath, string parameter)
        {
            PARAMETER_ID id = GetParameterIDInternal(eventPath, parameter);

            globalParameters.Add(parameter, id);
            return(id);
        }
예제 #5
0
// Plays a oneshot with a parameter attached. Usefll for footsteps with material. Objects with no rigidbody can set it to null

    public static EventInstance PlayOneShot(string eventName, Transform position, Rigidbody rb,
                                            PARAMETER_ID parameterId, float value)
    {
        EventDescription description = RuntimeManager.GetEventDescription(eventName);

        description.createInstance(out EventInstance instance);

        if (string.IsNullOrEmpty(eventName))
        {
            return(instance);
        }

        description.is3D(out bool is3D);
        instance.setParameterByID(parameterId, value);

        if (is3D)
        {
            instance.set3DAttributes(RuntimeUtils.To3DAttributes(position, rb));
            RuntimeManager.AttachInstanceToGameObject(instance, position, rb);
        }

        instance.start();
        instance.release();
        instance.clearHandle();
        return(instance);
    }
예제 #6
0
    // Start is called before the first frame update
    void Awake()
    {
        //Dash sound
        SFX_Dash = FMODUnity.RuntimeManager.CreateInstance("event:/SFX/SFX_Dash");
        EventDescription dashEventDescription;

        SFX_Dash.getDescription(out dashEventDescription);
        PARAMETER_DESCRIPTION dashParameterDescription;

        dashEventDescription.getParameterDescriptionByName("EndDash", out dashParameterDescription);
        dashParameterID = dashParameterDescription.id;

        // Mecha movement sounds
        SFX_MechaMoves = FMODUnity.RuntimeManager.CreateInstance("event:/SFX/SFX_MechaMoves");
        EventDescription mechaMovementEventDescription;

        SFX_MechaMoves.getDescription(out mechaMovementEventDescription);
        PARAMETER_DESCRIPTION mechaMovementParameterDescription;

        mechaMovementEventDescription.getParameterDescriptionByName("MechaStop", out mechaMovementParameterDescription);
        mechaMovementParameterID = mechaMovementParameterDescription.id;

        //Forcefield Sound
        SFX_Forcefield = FMODUnity.RuntimeManager.CreateInstance("event:/SFX/SFX_Forcefield");
        Shield         = new GameObject();

        //Mecha Voice Sound
        SFX_MechaVoice        = FMODUnity.RuntimeManager.CreateInstance("event:/SFX/SFX_MechaVoice");
        SFX_Random_MechaVoice = FMODUnity.RuntimeManager.CreateInstance("event:/SFX/SFX_Random_MechaVoice");
    }
예제 #7
0
 // Start is called before the first frame update
 private void Start()
 {
     rigidbody2D  = GetComponent <Rigidbody2D>();
     playerBounds = GetComponent <Collider2D>().bounds;
     EnableInputs();
     snapEvent = RuntimeManager.CreateInstance(snapSound);
     snapEvent.getDescription(out var snapEventDescription);
     snapEventDescription.getParameterDescriptionByName("PitchShift", out var snapParameterDescription);
     snapPitchShiftID = snapParameterDescription.id;
 }
예제 #8
0
    // Returns the Id of a parameter. More performant for repeated access than using the string method.
    public static PARAMETER_ID GetParameterId(string eventName, string parameterName)
    {
        EventDescription      eventDescription = RuntimeManager.GetEventDescription(eventName);
        PARAMETER_DESCRIPTION parameterDescription;

        eventDescription.getParameterDescriptionByName(parameterName, out parameterDescription);
        PARAMETER_ID parameterId = parameterDescription.id;

        return(parameterId);
    }
예제 #9
0
    private void Start()
    {
        instance = RuntimeManager.CreateInstance(eventName);
        instance.getDescription(out EventDescription description);
        description.getParameterDescriptionByName("Health", out PARAMETER_DESCRIPTION healthDesc);
        description.getParameterDescriptionByName("State", out PARAMETER_DESCRIPTION stateDesc);
        healthParameter = healthDesc.id;
        stateParameter  = stateDesc.id;

        instance.start();
    }
예제 #10
0
        void Start()
        {
            if (blendArea != null)
            {
                var meshRenderer = blendArea.GetComponent <MeshRenderer>();

                if (meshRenderer != null)
                {
                    meshRenderer.enabled = false;
                }
            }

            if (string.IsNullOrEmpty(frontParameter) || string.IsNullOrEmpty(backParameter))
            {
                return;
            }

            FMOD.RESULT result;

            PARAMETER_DESCRIPTION frontDescription;

            result = RuntimeManager.StudioSystem.getParameterDescriptionByName(frontParameter, out frontDescription);
            if (result != FMOD.RESULT.OK)
            {
                return;
            }
            else
            {
                frontID = frontDescription.id;
            }

            PARAMETER_DESCRIPTION backDescription;

            result = RuntimeManager.StudioSystem.getParameterDescriptionByName(backParameter, out backDescription);
            if (result != FMOD.RESULT.OK)
            {
                return;
            }
            else
            {
                backID = backDescription.id;
            }

            if (blendArea == null || backWall == null || frontWall == null ||
                backWallCollider == null || frontWallCollider == null)
            {
                return;
            }

            initializationSuccesfull = true;
        }
예제 #11
0
    /// ==================== START MENU ===========================
    private void Init_StartMenuMusic()
    {
        startMenu_Instance = RuntimeManager.CreateInstance(mus_00_meny);

        EventDescription gameStartEventDescription;

        startMenu_Instance.getDescription(out gameStartEventDescription);
        PARAMETER_DESCRIPTION gameStartParameterDescription;

        gameStartEventDescription.getParameterDescriptionByName("game_start", out gameStartParameterDescription);
        gameStartParameterId = gameStartParameterDescription.id;

        Start_StartMenuMusic();
    }
예제 #12
0
    void Awake()
    {
        MasterBus = RuntimeManager.GetBus("Bus:/");

        MasterBus.stopAllEvents(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);
        music            = RuntimeManager.CreateInstance("event:/Music/Music");
        musicDescription = RuntimeManager.GetEventDescription("event:/Music/Music");

        musicDescription.getParameterDescriptionByName("Health", out triggerMusic);
        mID = triggerMusic.id;

        music.setParameterByID(mID, 4.00f);
        //Debug.Log("on Wake");
        music.start();
    }
예제 #13
0
    private void ChangePlayingMusic()
    {
        if (GetMusicPath() != null)
        {
            StopMusic();
        }

        musicEvent = RuntimeManager.CreateInstance(gameMusic);
        musicEvent.set3DAttributes(RuntimeUtils.To3DAttributes(m_CameraGO));
        musicEvent.start();

        musicDes = RuntimeManager.GetEventDescription(gameMusic);
        musicDes.getParameterDescriptionByName("ChangeTrack", out musicPD);
        musicPiD = musicPD.id;
    }
예제 #14
0
    public override void OnStartClient()
    {
        foreach (string bankName in bankNames)
        {
            RuntimeManager.LoadBank(bankName);
        }
        eventInstance = RuntimeManager.CreateInstance(eventName);
        eventInstance.start();

        RuntimeManager.AttachInstanceToGameObject(eventInstance, transform, GetComponent <Rigidbody2D>());

        eventInstance.getDescription(out EventDescription eventDescription);
        eventDescription.getParameterDescriptionByName(parameterName, out PARAMETER_DESCRIPTION parameterDesc);
        eventParameter = parameterDesc.id;
    }
예제 #15
0
    // Start is called before the first frame update
    void Start()
    {
        MasterBus = RuntimeManager.GetBus("Bus:/");

        MasterBus.stopAllEvents(FMOD.Studio.STOP_MODE.ALLOWFADEOUT);

        titleMusic = RuntimeManager.CreateInstance("event:/Music/Title");
        titleDesc  = RuntimeManager.GetEventDescription("event:/Music/Title");

        titleDesc.getParameterDescriptionByName("Fade", out titleTrigger);
        titleID = titleTrigger.id;

        titleMusic.setParameterByID(titleID, 1.00f);

        titleMusic.start();
    }
    private void Start()
    {
        if (m_Instance)
        {
            Destroy(gameObject);
        }
        else
        {
            m_Instance = this;
            DontDestroyOnLoad(this);
            m_MusicState = RuntimeManager.CreateInstance(m_MusicEvent);
            m_MusicState.start();

            m_MusicState.getDescription(out EventDescription musicEventDescription);
            musicEventDescription.getParameterDescriptionByName("HorsemenNum", out PARAMETER_DESCRIPTION musicParameterDescription);
            m_MusicParameterID = musicParameterDescription.id;
        }
    }
예제 #17
0
    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        DontDestroyOnLoad(gameObject);


        m_musicInstance = RuntimeManager.CreateInstance(musicEvent);

        m_gameStateParameter = FmodEvent.GetParameterId(musicEvent, "MusicStates");
    }
예제 #18
0
    private void Init_Parameter()
    {
        EventDescription isFollowEventDescription;

        event_Instance.getDescription(out isFollowEventDescription);
        PARAMETER_DESCRIPTION isFollowParameterDescription;

        isFollowEventDescription.getParameterDescriptionByName("is_follow", out isFollowParameterDescription);
        _isFollowParameterId = isFollowParameterDescription.id;

        EventDescription blom07DistanceEventDescription;

        event_Instance.getDescription(out blom07DistanceEventDescription);
        PARAMETER_DESCRIPTION blom07DistanceParameterDescription;

        blom07DistanceEventDescription.getParameterDescriptionByName("blom_07_distance", out blom07DistanceParameterDescription);
        _blom07DistanceParameterId = blom07DistanceParameterDescription.id;

        EventDescription blom07MovEventDescription;

        event_Instance.getDescription(out blom07MovEventDescription);
        PARAMETER_DESCRIPTION blom07MovParameterDescription;

        blom07MovEventDescription.getParameterDescriptionByName("blom_07_mov", out blom07MovParameterDescription);
        _blom07MovParameterId = blom07MovParameterDescription.id;

        EventDescription blom07PotionEventDescription;

        event_Instance.getDescription(out blom07PotionEventDescription);
        PARAMETER_DESCRIPTION blom07PotionParameterDescription;

        blom07PotionEventDescription.getParameterDescriptionByName("blom_07_potion", out blom07PotionParameterDescription);
        _blom07PotionParameterId = blom07PotionParameterDescription.id;

        EventDescription blom07CalmEventDescription;

        event_Instance.getDescription(out blom07CalmEventDescription);
        PARAMETER_DESCRIPTION blom07CalmParameterDescription;

        blom07CalmEventDescription.getParameterDescriptionByName("blom_07_calm", out blom07CalmParameterDescription);
        _blom07CalmParameterId = blom07CalmParameterDescription.id;

        Init_Blom_07();
    }
예제 #19
0
    public void Init_Event(string event_Ref)
    {
        event_Description = RuntimeManager.GetEventDescription(event_Ref);
        event_Description.loadSampleData();
        event_Description.createInstance(out event_Instance);
        event_Description.getMaximumDistance(out _maxDistance);
        event_Description.is3D(out _is3D);
        event_Description.getParameterDescriptionCount(out int _parameterCount);
        if (_parameterCount > 0)
        {
            EventDescription isShyEventDescription;
            event_Instance.getDescription(out isShyEventDescription);
            PARAMETER_DESCRIPTION isShyParameterDescription;
            isShyEventDescription.getParameterDescriptionByName("is_shy", out isShyParameterDescription);
            _isShyParameterId = isShyParameterDescription.id;

            _isShy = true;
        }
    }
예제 #20
0
    private void Start()
    {
        _movement                   = GetComponentInParent <FPSMovement>();
        event_P_Mov_Footsteps       = RuntimeManager.CreateInstance(player_Data.p_mov_rnd_footsteps);
        event_P_Mov_Swim            = RuntimeManager.CreateInstance(player_Data.p_mov_swim);
        event_P_Mov_Jump            = RuntimeManager.CreateInstance(player_Data.p_mov_jump);
        event_P_Mov_Land            = RuntimeManager.CreateInstance(player_Data.p_mov_land);
        event_P_Mov_EnterUnderwater = RuntimeManager.CreateInstance(player_Data.p_mov_enterUnderwater);

        event_Book_Close           = RuntimeManager.CreateInstance(player_Data.p_book_close);
        event_Book_Open            = RuntimeManager.CreateInstance(player_Data.p_book_open);
        event_Book_Page            = RuntimeManager.CreateInstance(player_Data.p_book_page);
        event_Book_Scribble        = RuntimeManager.CreateInstance(player_Data.p_book_scribble);
        event_Potion_Create        = RuntimeManager.CreateInstance(player_Data.p_potion_create);
        event_Potion_Teleportation = RuntimeManager.CreateInstance(player_Data.p_potion_teleport);
        event_Potion_Drink         = RuntimeManager.CreateInstance(player_Data.p_potion_drink);

        EventDescription groundMaterialEventDescription;

        event_P_Mov_Footsteps.getDescription(out groundMaterialEventDescription);
        PARAMETER_DESCRIPTION groundMaterialParameterDescription;

        groundMaterialEventDescription.getParameterDescriptionByName("ground_material", out groundMaterialParameterDescription);
        groundMaterialParameterId = groundMaterialParameterDescription.id;

        EventDescription underwaterEventDescription;

        event_P_Mov_Swim.getDescription(out underwaterEventDescription);
        PARAMETER_DESCRIPTION underwaterParameterDescription;

        underwaterEventDescription.getParameterDescriptionByName("underwater", out underwaterParameterDescription);
        underwaterParameterId = underwaterParameterDescription.id;

        EventDescription enterUnderwaterEventDescription;

        event_P_Mov_EnterUnderwater.getDescription(out enterUnderwaterEventDescription);
        PARAMETER_DESCRIPTION enterUnderwaterParameterDescription;

        enterUnderwaterEventDescription.getParameterDescriptionByName("enter", out enterUnderwaterParameterDescription);
        enterUnderwaterParameterId = enterUnderwaterParameterDescription.id;
    }
예제 #21
0
    void Update()
    {
        //Debug.Log("My Car Health");
        //Debug.Log(car.CarHealth);
        if (car.CarHealth >= three4thsHealth)
        {
            //Debug.Log("Full Health");
            musicDescription.getParameterDescriptionByName("Health", out triggerMusic);
            mID = triggerMusic.id;

            music.setParameterByID(mID, 4.00f);
        }
        else if (car.CarHealth < three4thsHealth && car.CarHealth >= three4thsHealth)
        {
            //Debug.Log("Dropped 75% Health");
            musicDescription.getParameterDescriptionByName("Health", out ThreeFourthsHp);
            mID = ThreeFourthsHp.id;

            music.setParameterByID(mID, 3.00f);
        }
        else if (car.CarHealth < three4thsHealth && car.CarHealth >= halfHealth)
        {
            //Debug.Log("Dropped 50% Health");
            musicDescription.getParameterDescriptionByName("Health", out TwoFourthsHP);
            mID = TwoFourthsHP.id;

            music.setParameterByID(mID, 2.00f);
        }
        else if (car.CarHealth < halfHealth && car.CarHealth >= almostDead)
        {
            //Debug.Log("Dropped 25% Health");
            musicDescription.getParameterDescriptionByName("Health", out OneFourthHP);
            mID = OneFourthHP.id;

            music.setParameterByID(mID, 1.00f);
        }

        //Debug.Log(healthSlider.value);
    }
예제 #22
0
    public void Attach_Local_Emitter(Transform transform, Rigidbody rigidbody)
    {
        if (!_is3D)
        {
            return;
        }

        event_Description.createInstance(out event_Instance);
        RuntimeManager.AttachInstanceToGameObject(event_Instance, transform, rigidbody);
        event_Instance.start();
        _isPlaying = true;

        event_Description.getParameterDescriptionCount(out int _parameterCount);
        if (_parameterCount > 0)
        {
            EventDescription isShyEventDescription;
            event_Instance.getDescription(out isShyEventDescription);
            PARAMETER_DESCRIPTION isShyParameterDescription;
            isShyEventDescription.getParameterDescriptionByName("is_shy", out isShyParameterDescription);
            _isShyParameterId = isShyParameterDescription.id;
            _isShy            = true;
        }
    }
예제 #23
0
 public void Set_Parameter(PARAMETER_ID id, float value)
 {
     event_Instance.setParameterByID(id, value);
 }
예제 #24
0
    // Plays a sound with a parameter on the position of the object. But does not update the position after.
    public static EventInstance PlayOneShotAtPosition(string eventName, Transform position, PARAMETER_ID parameterId,
                                                      float value)
    {
        EventInstance instance = RuntimeManager.CreateInstance(eventName);

        if (string.IsNullOrEmpty(eventName))
        {
            return(instance);
        }

        instance.setParameterByID(parameterId, value);

        FMOD.ATTRIBUTES_3D positionAttribute = RuntimeUtils.To3DAttributes(position);
        instance.set3DAttributes(positionAttribute);

        instance.start();
        instance.release();
        instance.clearHandle();
        return(instance);
    }
    public void Initialize(ChallengeType type, int variableCount, int minVariable, int maxVariable, int wrongAnswerVariant, int maxWrong, bool countWithSpare, bool isSubtraction, bool isUnit)
    {
        //todo: make the ammount of possible answers bigger and flexible. Right now its hardcoded
        this.ChallengeType = type;

        //initialize PossibleAnswers
        PossibleAnswers = new SoccerAnswer[4];

        for (int i = 0; i < PossibleAnswers.Length; i++)
        {
            PossibleAnswers[i] = new SoccerAnswer();
        }

        //set correct and wrong answers
        CorrectAnswer = PossibleAnswers[0];



        Variables = new int[variableCount];

        for (int i = 0; i < Variables.Length; i++)
        {
            Variables[i] = Random.Range(minVariable, maxVariable);
            if (!isSubtraction)
            {
                if (!countWithSpare)
                {
                    while ((Variables[0] % 10) + (Variables[1] % 10) >= 10)
                    {
                        Variables[i] = Random.Range(minVariable, maxVariable);
                    }
                }
                else
                {
                    if ((Variables[0] % 10) + (Variables[1] % 10) < 10)
                    {
                        Variables[0] -= Variables[0] % 10;
                        Variables[0] += Random.Range(6, 9);

                        Variables[1] -= Variables[1] % 10;
                        Variables[1] += Random.Range(6, 9);
                    }
                }
                CorrectAnswer.Value = Variables[0] + Variables[1];
            }
            else
            {
                if (Variables[0] >= Variables[1])
                {
                    if (!countWithSpare)
                    {
                        while ((Variables[0] % 10) < (Variables[1] % 10))
                        {
                            Variables[i] = Random.Range(minVariable, maxVariable);
                        }
                    }
                    else
                    {
                        if ((Variables[0] % 10) >= (Variables[1] % 10))
                        {
                            Variables[0] -= Variables[0] % 10;
                            Variables[0] += Random.Range(1, 5);

                            Variables[1] -= Variables[1] % 10;
                            Variables[1] += Random.Range(6, 9);
                        }

                        if ((Variables[0] - (Variables[0] % 10)) == (Variables[1] - Variables[1] % 10))
                        {
                            if ((Variables[0] - (Variables[0] % 10)) == 90)
                            {
                                Variables[1] -= 10;
                            }

                            else if ((Variables[0] - (Variables[0] % 10)) == 10)
                            {
                                Variables[0] += 10;
                            }

                            else
                            {
                                Variables[0] += 10;
                            }
                        }
                    }
                    CorrectAnswer.Value = Variables[0] - Variables[1];
                }
                else
                {
                    if (!countWithSpare)
                    {
                        while ((Variables[1] % 10) < (Variables[0] % 10))
                        {
                            Variables[i] = Random.Range(minVariable, maxVariable);
                        }
                    }
                    else
                    {
                        if ((Variables[1] % 10) >= (Variables[0] % 10))
                        {
                            Variables[1] -= Variables[1] % 10;
                            Variables[1] += Random.Range(1, 5);

                            Variables[0] -= Variables[1] % 10;
                            Variables[0] += Random.Range(6, 9);
                        }

                        if ((Variables[0] - (Variables[0] % 10)) == (Variables[1] - Variables[1] % 10))
                        {
                            if ((Variables[1] - (Variables[0] % 10)) == 90)
                            {
                                Variables[0] -= 10;
                            }
                            else if ((Variables[0] - (Variables[0] % 10)) == 10)
                            {
                                Variables[1] += 10;
                            }

                            else
                            {
                                Variables[1] += 10;
                            }
                        }
                    }
                    CorrectAnswer.Value = Variables[1] - Variables[0];
                }
            }
        }

        WrongAnswers = GetWrongAnswers(PossibleAnswers.Length - 1, CorrectAnswer, minVariable * variableCount, maxWrong, countWithSpare, isUnit); //variance is hardcoded. I think it should depend on ChallegeType


        feedbackEvent     = RuntimeManager.CreateInstance(StaticFmodRefs.SoccerRefs.PATH_FEEDBACK);
        feedbackParameter = StaticFmodRefs.GetID(feedbackEvent, StaticFmodRefs.SoccerRefs.PARAMETER_FEEDBACK);

        //testing
        //Debug.Log($"Correct Answer: {CorrectAnswer.Value}");
    }
예제 #26
0
    public static EventInstance PlayOneShot(string eventName, Transform position, Rigidbody rb, PARAMETER_ID parameterId, float value)
    {
        EventInstance instance = RuntimeManager.CreateInstance(eventName);

        if (string.IsNullOrEmpty(eventName))
        {
            return(instance);
        }

        instance.setParameterByID(parameterId, value);
        RuntimeManager.AttachInstanceToGameObject(instance, position, rb);

        instance.start();
        instance.release();
        return(instance);
    }