internal void SetMimanRunners(ProgramRunner pProgramRunner, SourceCodeDispenser pSourceCodeDispenser, DialogueRunner pDialogueRunner, WorldSettings pWorldSettings) { _programRunner = pProgramRunner; _sourceCodeDispenser = pSourceCodeDispenser; _dialogueRunner = pDialogueRunner; _worldSettings = pWorldSettings; }
private void Init(RelayTwo pRelay) { paused = false; isReadyToPlay = false; relay = pRelay; dialogueRunner = new DialogueRunner(relay, Language.DEFAULT); roomRunner = new RoomRunner(relay); programRunner = new ProgramRunner(relay); sourceCodeDispenser = new SourceCodeDispenser(relay); timetableRunner = new TimetableRunner(relay); settings = new WorldSettings(relay); tingRunner = new MimanTingRunner(relay, dialogueRunner, programRunner, sourceCodeDispenser, roomRunner, timetableRunner, settings); grimmApiDefinitions = new MimanGrimmApiDefinitions(this); grimmApiDefinitions.RegisterFunctions(); grimmApiDefinitions.RegisterExpressions(); translator = new Translator(Translator.Language.SWEDISH); }
private void Init(RelayTwo pRelay) { paused = false; isReadyToPlay = false; relay = pRelay; dialogueRunner = new DialogueRunner(relay, Language.DEFAULT); roomRunner = new RoomRunner(relay); programRunner = new ProgramRunner(relay); sourceCodeDispenser = new SourceCodeDispenser(relay); timetableRunner = new TimetableRunner(relay); settings = new WorldSettings(relay); tingRunner = new MimanTingRunner(relay, dialogueRunner, programRunner, sourceCodeDispenser, roomRunner, timetableRunner, settings); grimmApiDefinitions = new MimanGrimmApiDefinitions(this); grimmApiDefinitions.RegisterFunctions(); grimmApiDefinitions.RegisterExpressions(); translator = new Translator (Translator.Language.SWEDISH); }
public MimanTingRunner( RelayTwo pRelay, DialogueRunner pDialogueRunner, ProgramRunner pProgramRunner, SourceCodeDispenser pSourceCodeDispenser, RoomRunner pRoomRunner, TimetableRunner pTimetableRunner, WorldSettings pWorldSettings ) : base(pRelay, pRoomRunner) { _dialogueRunner = pDialogueRunner; _dialogueRunner.AddOnSomeoneSaidSomethingListener(this.OnSomeoneSaidSomething); _programRunner = pProgramRunner; _sourceCodeDispenser = pSourceCodeDispenser; _timetableRunner = pTimetableRunner; _worldSettings = pWorldSettings; foreach (Ting ting in _tings.Values) { if (ting is MimanTing) { (ting as MimanTing).SetMimanRunners(_programRunner, _sourceCodeDispenser, _dialogueRunner, _worldSettings); } if (ting is Character) { (ting as Character).SetTimetableRunner(_timetableRunner); } } foreach (Ting ting in _tings.Values) { if (ting is MimanTing) { var mimanTing = ting as MimanTing; mimanTing.Init(); if (mimanTing.autoUnregisterFromUpdate && mimanTing.dialogueLine != "") { Unregister(mimanTing); } } } }
public SmartWalkBehaviour(Character pCharacter, RoomRunner pRoomRunner, TingRunner pTingRunner, WorldSettings pWorldSettings) { #if LOG && DEEP s_logger.Log("Created SmartWalkBehaviour for character " + pCharacter.name); #endif _character = pCharacter; _roomRunner = pRoomRunner; _tingRunner = pTingRunner; _worldSettings = pWorldSettings; _mimanPathFinder = new MimanPathfinder2(_tingRunner, _roomRunner); //_mimanPathFinder = new MimanPathfinder_DEPRECATED(_tingRunner); CalculateFinalTargetPosition(); bool startWalkingAgain = RefreshPaths(); if(startWalkingAgain) { _character.StartAction("Walking", null, Character.LONG_TIME, Character.LONG_TIME); } else { } }
public SmartWalkBehaviour(Character pCharacter, RoomRunner pRoomRunner, TingRunner pTingRunner, WorldSettings pWorldSettings) { #if LOG && DEEP s_logger.Log("Created SmartWalkBehaviour for character " + pCharacter.name); #endif _character = pCharacter; _roomRunner = pRoomRunner; _tingRunner = pTingRunner; _worldSettings = pWorldSettings; _mimanPathFinder = new MimanPathfinder2(_tingRunner, _roomRunner); //_mimanPathFinder = new MimanPathfinder_DEPRECATED(_tingRunner); CalculateFinalTargetPosition(); bool startWalkingAgain = RefreshPaths(); if (startWalkingAgain) { _character.StartAction("Walking", null, Character.LONG_TIME, Character.LONG_TIME); } else { } }
public void Update(float dt, GameTime pCurrentTime, Character pCharacter, MimanTingRunner pTingRunner, RoomRunner pRoomRunner, DialogueRunner pDialogueRunner, WorldSettings pWorldSettings) { TimetableSpan currentSpan = GetCurrentSpan(pCurrentTime); if (currentSpan != TimetableSpan.NULL) { if (pCharacter.isAvatar) { return; } if (pCharacter.lastTimetableSpan != currentSpan) { if (pCharacter.lastTimetableSpan != TimetableSpan.NULL) { pCharacter.logger.Log(pCharacter.name + " ended span " + pCharacter.lastTimetableSpan.name); pCharacter.lastTimetableSpan.behaviour.OnFinish(pCharacter, pTingRunner, pRoomRunner, pDialogueRunner); } else { pCharacter.logger.Log(pCharacter.name + " ended span NULL"); } } pCharacter.lastTimetableSpan = currentSpan; //pCharacter.logger.Log("Current timetable span to update: " + currentSpan.ToString()); if (pCharacter.timetableTimer <= 0f) { pCharacter.timetableTimer = currentSpan.behaviour.Execute(pCharacter, pTingRunner, pRoomRunner, pDialogueRunner, pWorldSettings); //pCharacter.logger.Log(pCharacter.name + " executed " + currentSpan.behaviour + " and set timetableTimer to " + pCharacter.timetableTimer); } else { pCharacter.timetableTimer -= dt; //pCharacter.logger.Log(pCharacter.name + " timetableTimer = " + pCharacter.timetableTimer); } } else { D.Log("Found no matching time span in Timetable for character " + pCharacter.name + " at time " + pCurrentTime); } }
public WeatherAPI(Computer pComputer, WorldSettings pWorldSettings) { _computer = pComputer; _worldSettings = pWorldSettings; }
public void Update(float dt, GameTime pCurrentTime, Character pCharacter, MimanTingRunner pTingRunner, RoomRunner pRoomRunner, DialogueRunner pDialogueRunner, WorldSettings pWorldSettings) { TimetableSpan currentSpan = GetCurrentSpan(pCurrentTime); if(currentSpan != TimetableSpan.NULL) { if (pCharacter.isAvatar) { return; } if(pCharacter.lastTimetableSpan != currentSpan) { if(pCharacter.lastTimetableSpan != TimetableSpan.NULL) { pCharacter.logger.Log(pCharacter.name + " ended span " + pCharacter.lastTimetableSpan.name); pCharacter.lastTimetableSpan.behaviour.OnFinish(pCharacter, pTingRunner, pRoomRunner, pDialogueRunner); } else { pCharacter.logger.Log(pCharacter.name + " ended span NULL"); } } pCharacter.lastTimetableSpan = currentSpan; //pCharacter.logger.Log("Current timetable span to update: " + currentSpan.ToString()); if(pCharacter.timetableTimer <= 0f) { pCharacter.timetableTimer = currentSpan.behaviour.Execute(pCharacter, pTingRunner, pRoomRunner, pDialogueRunner, pWorldSettings); //pCharacter.logger.Log(pCharacter.name + " executed " + currentSpan.behaviour + " and set timetableTimer to " + pCharacter.timetableTimer); } else { pCharacter.timetableTimer -= dt; //pCharacter.logger.Log(pCharacter.name + " timetableTimer = " + pCharacter.timetableTimer); } } else { D.Log("Found no matching time span in Timetable for character " + pCharacter.name + " at time " + pCurrentTime); } }