public SelectCharacterModel(SelectCharacterController SelectCharacterController) { m_selectCharacterController = SelectCharacterController; m_selectedListIndex = 0; IsCharacterListRequestPending = false; IsCharacterDeleteRequestPending = false; IsCharacterBindRequestPending = false; }
public SelectCharacterModel(SelectCharacterController SelectCharacterController) { m_selectCharacterController = SelectCharacterController; m_selectedListIndex = 0; IsCharacterListRequestPending = false; IsCharacterDeleteRequestPending = false; IsCharacterBindRequestPending = false; }
public async void AvailableCharacterSelected() { var buildingMetaId = "Test_AvailableCharacterSelected"; var classMetaId = "Test_AvailableCharacterSelected"; var playerId = "Test_AvailableCharacterSelected"; var characterIndex = 0; // Create test class meta if it doesn't exist. var classMeta = await new ClassMeta(classMetaId).LoadAsync(); if (classMeta == null) { classMeta = new ClassMeta(classMetaId); classMeta.Requirement = new Requirement() { BuildingMetaIds = new List <string> { buildingMetaId } }; await classMeta.InsertAsync(); } // Create test player, character and required building. var building = new Building(buildingMetaId); building.IsConstructed = true; var character = new Character(classMetaId); var player = await Helpers.CreateTestPlayer(playerId, building : building, character : character); // Auth player. var sessionToken = Helpers.GetSessionToken(playerId); // Mock data. var data = JToken.Parse($@"{{ 'PlayerId':'{playerId}', 'SessionToken':'{sessionToken}', 'CharacterIndex':{characterIndex} }}"); // Execute controller. var controller = new SelectCharacterController(); var responseToken = await controller.HandleHttpRequestAsync(data); // Assert controller response status is OK. Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); // Make sure char is selected for the first time (req-free). player = await player.LoadAsync(); Assert.True(player.SelectedCharacterIndex == characterIndex); // Make sure char is selected for the second time (with req checked). responseToken = await controller.HandleHttpRequestAsync(data); Assert.Equal(responseToken["Status"], JStatus.Ok.JToken["Status"]); }