Ejemplo n.º 1
0
        public void RegisterEvent()
        {
            for (int j = 0; j < m_GameObjects.Count; j++)
            {
                LevelUnit LU = m_GameObjects[j].GetComponent <LevelUnit>();

                if (LU)
                {
                    LU.DeRegisterFromNamedStateEvents();
                }
            }

            for (int j = 0; j < m_GameObjects.Count; j++)
            {
                LevelUnit LU = m_GameObjects[j].GetComponent <LevelUnit>();

                if (LU == null)
                {
                    continue;
                }

                for (int i = 0; i < Stage.options.Count; i++)
                {
                    string event_name = "PLE_TEST_WAVE_" + i.ToString();

                    LevelUnitStates state = map[i][m_GameObjects[j].GetInstanceID()];
                    LU.AddNamedStateEvent(state, event_name);
                }

                LU.RegisterToNamedStateEvents();
            }
        }
Ejemplo n.º 2
0
    private void BakeData()
    {
        ClearAllEvents();
        if (spawnManager)
        {
            if (spawnerObjects != null)
            {
                for (int i = 0; i < spawnerObjects.Count; i++)
                {
                    if (spawnerObjects[i].waveObjects != null)
                    {
                        Spawner spawner = spawnManager.spawners[i].Prefab.GetComponent <Spawner>();
                        for (int j = 0; j < spawnerObjects[i].waveObjects.Count; j++)
                        {
                            // Set level unit triggers
                            WaveObject waveObject     = spawnerObjects[i].waveObjects[j];
                            string     localEventName = eventName.Replace(spawnerNumberString, (i + 1).ToString()).Replace(waveNumberString, (j + 1).ToString());
                            if (waveObject.triggerStart)
                            {
                                spawner.waves[j].AddPreEvent(localEventName);
                            }
                            else
                            {
                                spawner.waves[j].AddPostEvent(localEventName);
                            }
                            for (int k = 0; k < waveObject.levelUnitsList.Count; k++)
                            {
                                WaveObject.LevelObjectData levelUnitStruct = waveObject.levelUnitsList[k];
                                LevelUnit levelUnit = levelUnitStruct.levelUnit.GetComponent <LevelUnit>();
                                if (levelUnit)
                                {
                                    levelUnit.AddNamedStateEvent(levelUnitStruct.state, localEventName);
                                }
                            }

                            // Set music triggers
                            if (waveObject.audioClip != null)
                            {
                                string musicEventName = "Music_" + localEventName;
                                if (waveObject.triggerStart)
                                {
                                    spawner.waves[j].AddPreEvent(musicEventName);
                                }
                                else
                                {
                                    spawner.waves[j].AddPostEvent(musicEventName);
                                }
                                musicIntensityManager.AddMusicTransitionEvent(musicEventName, waveObject.audioClip);
                            }
                            EditorUtility.SetDirty(musicIntensityManager);
                        }
                        EditorUtility.SetDirty(spawner);
                    }
                }
            }
        }
        EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
    }