AudioSource audio;//odnośnik do dźwięku kolizji void Start() { audio = GetComponent <AudioSource>(); //init ERF ACTOR ExternalExpert msiBallEmotionModel = ErfContext.GetInstance().FindExpert("MSIBallEmotionModel"); playerModel = new CharacterModel(); playerModel.RegisterExpert(msiBallEmotionModel); lastReportTime = DateTime.Now; rb = GetComponent <Rigidbody>(); if (MainMenu.gameSettings == null) { //jeśli w debug initial screen był Game a nie Menu MainMenu.gameSettings = new GameSettings(); MainMenu.gameSettings.gameMode = GameMode.EMOTIONAL; } gameSettings = MainMenu.gameSettings; if (gameSettings.gameMode == GameMode.FIXED)//ustaw poziom trudności { setDifficultyEnum(gameSettings.gameDifficulty, false); } else { setDifficultyEnum(GameDifficulty.HARD, false);//ustaw na początek na poziom trudny w trybie rozpoznawania emocji } }
// zaladowanie biblioteki erf do kontekstu void Awake() { // Debug.LogWarning("Ustawienia: "+MainMenu.gameSettings.gameMode.ToString()+" / "+MainMenu.gameSettings.gameDifficulty.ToString()); ErfLogger.SetLoggingEnabled(true); ErfLogger.SetAllStreamsToLoggingFile(@"d://debug.txt"); Debug.Log("Initializing ERF for ErfDemo, trying to load " + Directory.GetCurrentDirectory() + "\\MSIBallErf.dll"); ErfContext context = ErfContext.GetInstance(); testMSIBallErf(); Debug.Log("Library successfully loaded"); }
void testMSIBallErf() { try { ExternalComponentLibrary library = ErfContext.GetInstance().LoadComponentLibrary("MSIBallErf.dll"); if (library == null) { Debug.LogError("Could not load MSIBallErf library"); return; } } catch (Exception e) { Debug.Log(e.Message); return; } //init: ExternalExpert msiBallEmotionModel = ErfContext.GetInstance().FindExpert("MSIBallEmotionModel"); CharacterModel playerModel = new CharacterModel(); playerModel.RegisterExpert(msiBallEmotionModel); //collision: EecEvent timeElapsedEvent = new EecEvent((int)GameEvent.STD_TIME_ELAPSED); timeElapsedEvent.AddValue("NO_OF_COLLISIONS", Variant.Create(2)); timeElapsedEvent.AddValue("CURRENT_SPEED", Variant.Create(7.0f)); playerModel.HandleEvent(timeElapsedEvent); //odpowiedz z erf float fear = playerModel.GetEmotionVector().GetValue(OccEmotions.FEAR).AsFloat(); //przeliczenie na poziom trudnosci if (fear > 0.0f) { Debug.Log("FIRST I WAS AFRAID, I WAS PETRIFIED!"); } else { Debug.Log("I AM FEARLESS! I AM DEATH! I AM FIRE!"); } }