Beispiel #1
0
 void Start()
 {
     _fireLoop            = StudioSystem.GetEvent(FireLoop.path);
     _fireStart           = StudioSystem.GetEvent(FireStart.path);
     _fireExtinguished    = StudioSystem.GetEvent(FireExtinguished.path);
     _buildingDestruction = StudioSystem.GetEvent(BuildingDestruction.path);
 }
 public static EventDescription LoadEvent(string eventPath)
 {
     if (eventPath.StartsWith("event:/"))
     {
         eventPath = eventPath.Remove(0, 7);
     }
     return(StudioSystem.GetEvent("event:/" + eventPath));
 }
Beispiel #3
0
        public override void Enter()
        {
            InitUI();

            // You would rather place the following in LoadContent() - it's here more for readability.
            // Here you load any banks that you're using. This could be a music bank, a SFX bank, etc.
            // The strings bank isn't actually necessary - however if you want to do string lookups, include it.
            _banks.Add(StudioSystem.LoadBank("Master.bank"));
            _banks.Add(StudioSystem.LoadBank("Master.strings.bank"));
            _banks.Add(StudioSystem.LoadBank("Music.bank"));
            _banks.Add(StudioSystem.LoadBank("SFX.bank"));
            _banks.Add(StudioSystem.LoadBank("Vehicles.bank"));
            _banks.Add(StudioSystem.LoadBank("VO.bank"));
            _banks.Add(StudioSystem.LoadBank("Dialogue_EN.bank"));

            // Events are split in the code into descriptions and instances.
            // You may have multiple instances of one event, but the description for it should only be loaded once.
            // Here is why you want the strings bank loaded, btw. So much more intuitive than Guids.

            _engineDescription = StudioSystem.GetEvent("event:/Vehicles/Car Engine");
            _musicDescription  = StudioSystem.GetEvent("event:/Music/Level 03");

            // Loading an event description by Guid.
            // FMOD Studio will give you a string like below when you select "Copy Guid". It has to be parsed to be used.
            FMOD.Studio.Util.parseID("{be6203d8-c8d8-41c5-8ce6-bce0de95807b}", out Guid sfxGuid);
            _bonkDescription = StudioSystem.GetEvent(sfxGuid);

            // There are three ways to load sample data (any non-streamed sounds):
            // -From a bank. This will keep ALL the bank's data in memory until unloaded.
            // -From an event description. This will just keep the event's necessary data in memory until unloaded.
            // -From an event instance. Same as above, except the data will only be in memory while an instance is.
            // Assess when you need memory loaded and for how long, then choose which method to use properly.
            _engineDescription.LoadSampleData();
            // The music doesn't need its data pre-loaded, since it'll just play right away, continuously.
            _engineInstance = _engineDescription.CreateInstance();
            _musicInstance  = _musicDescription.CreateInstance();

            // Sound effects could be played whenever, so you don't want them constantly loading / unloading.
            _bonkDescription.LoadSampleData();

            // If you have any parameters set within FMOD Studio, you can change them within the code.
            _engineInstance.SetParameterValue("RPM", _rpm);
            _engineInstance.SetParameterValue("Load", -1f);
        }
Beispiel #4
0
 void Start()
 {
     _goblinLaugh  = StudioSystem.GetEvent(GoblinLaugh.path);
     _goblinLyrics = StudioSystem.GetEvent(GoblinLyrics.path);
     _goblinDeath  = StudioSystem.GetEvent(GoblinDeath.path);
 }
 void Start()
 {
     _billyClub = StudioSystem.GetEvent(BillyClub.path);
 }