public PsaiCore() { m_logik = new Logik(); }
/// <summary> /// Performs platform-specific cleanup. /// </summary> public void Release() { m_logik.Release(); m_logik = null; }
internal Logik() { #if PSAI_STANDALONE m_platformLayer = new PlatformLayerStandalone(this); #else m_platformLayer = new PlatformLayerUnity(); #endif m_platformLayer.Initialize(); m_soundtrack = new Soundtrack(); m_themeQueue = new List<ThemeQueueEntry>(); m_fadeVoices = new List<FadeData>(); for (int i = 0; i < PSAI_CHANNEL_COUNT; i++) { m_playbackChannels[i] = new PlaybackChannel(); } m_hilightVoiceIndex = -1; m_lastRegularVoiceNumberReturned = -1; m_currentVoiceNumber = -1; m_targetVoice = -1; m_psaiMasterVolume = 1.0f; m_effectiveTheme = null; m_currentSegmentPlaying = null; m_currentSnippetTypeRequested = 0; m_targetSegment = null; m_targetSegmentSuitabilitiesRequested = 0; m_psaiState = PsaiState.notready; m_psaiStateIntended = PsaiState.notready; m_paused = false; m_fullVersionString = "psai Version " + PSAI_VERSION; #if !(PSAI_NOLOG) Logger.Instance.LogLevel = LogLevel.info; Logger.Instance.Log(m_fullVersionString, LogLevel.info); #endif s_instance = this; }