Exemplo n.º 1
0
        public void FillTimeTable()
        {
            WorldCoordinate positionA = new WorldCoordinate("Eden", new IntPoint(2, 3));
            WorldCoordinate positionB = new WorldCoordinate("Eden", new IntPoint(4, 1));
            WorldCoordinate positionC = new WorldCoordinate("Eden", new IntPoint(1, 2));

            Timetable timetable = _world.timetableRunner.CreateTimetable("NewTimetable", "");

            timetable.CreateTimetableSpanInternal(new GameTime(03, 00), new GameTime(08, 00), new Behaviour_BeAtPosition(positionA));
            timetable.CreateTimetableSpanInternal(new GameTime(08, 00), new GameTime(21, 00), new Behaviour_BeAtPosition(positionB));
            timetable.CreateTimetableSpanInternal(new GameTime(21, 00), new GameTime(03, 00), new Behaviour_BeAtPosition(positionC));

            Console.WriteLine("TimetableSpans: \n" + timetable.TimetableSpansToString());

            _eva.timetableName = "NewTimetable";
            _eva.logger.AddListener(Console.WriteLine);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(1, 05, 00, 00));
            Assert.AreEqual(positionA, _eva.position);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(1, 12, 00, 00));
            Assert.AreEqual(positionB, _eva.position);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(2, 02, 00, 00));
            Assert.AreEqual(positionC, _eva.position);
        }
Exemplo n.º 2
0
        public void SleepDrinkAndSitBehaviours()
        {
            _eva.logger.AddListener(Console.WriteLine);
            _eva.timetableName = "Timetable2";
            _eva.sleepiness    = 100.0f;

            WorldCoordinate positionA = new WorldCoordinate("Eden", new IntPoint(1, 1));
            WorldCoordinate positionB = new WorldCoordinate("Eden", new IntPoint(4, 2));
            WorldCoordinate positionC = new WorldCoordinate("Eden", new IntPoint(3, 3));

            _world.tingRunner.CreateTing <Bed>("Bed1", positionA);
            Drink drink = _world.tingRunner.CreateTing <Drink>("Drink1", positionB);

            drink.amount = 100f;

            _world.tingRunner.CreateTing <Seat>("Chair1", positionC);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(0, 21, 00, 00));
            Assert.AreEqual("Sleeping", _eva.actionName);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(1, 10, 00, 00));
            Assert.AreEqual(_eva.position, drink.position);

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(1, 19, 00, 00));
            Console.WriteLine("Time: " + _world.settings.gameTimeClock);
            Assert.IsNull(_eva.bed);

            _eva.sleepiness = 200f;

            WorldTestHelper.UpdateWorldUntilGameTime(_world, new GameTime(2, 21, 00, 00));
            Assert.AreEqual("Sleeping", _eva.actionName);
            Assert.IsNull(_eva.seat);
        }