Пример #1
0
        // Add students to test room
        public async Task <string> AddTestRoomAsync(string[] students, string teacherId, string testId)
        {
            var testRoom = new TestRoom
            {
                TeacherId = teacherId,
                TestId    = testId,
            };

            var testRoomStudentsList = new List <TestRoomStudent>();

            foreach (var studentId in students)
            {
                var studentFromDb = this.context.Students.FirstOrDefault(s => s.Name == studentId);

                var studentForTestRoom = new TestRoomStudent
                {
                    StudentId   = studentFromDb.Id,
                    TestRoomId  = testRoom.Id,
                    StudentName = studentFromDb.Name,
                };

                testRoomStudentsList.Add(studentForTestRoom);
            }

            await this.context.TestRooms.AddAsync(testRoom);

            await this.context.TestRoomStudents.AddRangeAsync(testRoomStudentsList);

            await this.SaveChangesAsync();

            return(testRoom.Id);
        }
Пример #2
0
        public void CharRepeatsAutoAttack()
        {
            var logger = new EventLogger();

            TestRoom.Aspects["logger"] = logger;

            PlayerModel.Kill(_vch);
            TestRoom.Update();
            Assert.AreEqual(1, logger.Log.Count(e => e.Name == "ch_is_attacking_ch1" && e["ch"] == PlayerModel));

            World.Pulse((World.Time + 3000) * 10000);
            TestRoom.Update();
            Assert.AreEqual(2, logger.Log.Count(e => e.Name == "ch_is_attacking_ch1" && e["ch"] == PlayerModel));
        }
Пример #3
0
    private void DrawButton()
    {
        if (_defaultDoor == null)
        {
            _defaultDoor = serializedObject.FindProperty("_doorPrefab").
                           objectReferenceValue as Door;
        }

        if (_defaultDoor == null)
        {
            return;
        }

        var prevLineId = _lineId;

        _lineId = EditorGUILayout.IntSlider("Wall id", _lineId, 0, Room.Shape.LinesCount - 1);

        var prevPositionOnTheLine = _positionOnTheLine;
        var lowestPosition        = _defaultDoor.Width / 2f;
        var longestPosition       = Room.Shape[_lineId].Line.Length - _defaultDoor.Width / 2f;

        _positionOnTheLine = EditorGUILayout.Slider("Position on the line", _positionOnTheLine, lowestPosition, longestPosition);
        _targetRoom        = EditorGUILayout.ObjectField("Target Room", _targetRoom, typeof(TestRoom), true) as TestRoom;

        if (prevLineId != _lineId || prevPositionOnTheLine != _positionOnTheLine)
        {
            SceneView.RepaintAll();
        }

        if (GUILayout.Button("Add door"))
        {
            AddDoor(_defaultDoor, _lineId, _positionOnTheLine, 0, _targetRoom);
        }

        serializedObject.ApplyModifiedProperties();
    }
Пример #4
0
 public static Floor WithRoom(this Floor floor, string name = null, int?size = null)
 => floor.WithRoom(TestRoom.Create(name, size));