/// <summary> /// Similar to the previous signup function except for logging in, compared input data to the database data to determine if there is a match /// </summary> /// <param name="prEmail">email input</param> /// <param name="prPassword">password input</param> /// <returns>returns true or false dependant on whether the log in was successful</returns> public bool Login(string prEmail, string prPassword) { DataService ds = new DataService("NelsonEscapeDatabasev3.db"); string lcPasswordHash = sha256(prPassword); try { TablePlayer lcPlayer = ds.Connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); if (lcPlayer.Email == prEmail && lcPasswordHash == lcPlayer.Password) { //login succeed dataBetweenScenesManager.dataBetweenScenesInstance.Email = prEmail; ds = null; return(true); } else { //login failed ds = null; return(false); } } catch { return(false); } }
/// <summary> /// Adds the current area item to the players inventory /// </summary> /// <param name="prEmail">email used to identify the player</param> /// <returns>returns true of false dependant on whether the command was successful or not</returns> public bool AddItemToInven(string prEmail) { try { //get current area from player table TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //get item id for current area TableAreaItem lcAreaItem = _connection.Table <TableAreaItem>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); //add item to inventory TableInventory lcInventory = new TableInventory { ItemID = lcAreaItem.ItemID, Email = prEmail }; _connection.Insert(lcInventory); //remove from areaItem //moved to its own function due to db file error //_connection.Delete(lcAreaItem); return(true); } catch { return(false); } }
/// <summary> /// Sets players game data to default values /// </summary> /// <param name="prEmail">email address used to identify the player</param> #region New Game public void NewGame(string prEmail) { //remove existing entries for player _connection.Query <TableAreaItem>( "delete from TableAreaItem" + " where TableAreaItem.Email = ?", dataBetweenScenesManager.dataBetweenScenesInstance.Email); _connection.Query <TableInventory>( "delete from TableInventory" + " where TableInventory.Email = ?", dataBetweenScenesManager.dataBetweenScenesInstance.Email); _connection.Query <TableNPC>( "delete from TableNPC" + " where TableNPC.Email = ?", dataBetweenScenesManager.dataBetweenScenesInstance.Email); _connection.Query <TableVisited>( "delete from TableVisited" + " where TableVisited.Email = ?", dataBetweenScenesManager.dataBetweenScenesInstance.Email); //pull player out TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //update to default values lcPlayer.CurrentArea = "christChurchSteps"; lcPlayer.Health = 10; //put back in _connection.Update(lcPlayer); //insert new entires for area item as default values TableAreaItem lcNewAreaItem1 = new TableAreaItem { ItemID = 1, AreaName = "starbucks", Email = prEmail }; TableAreaItem lcNewAreaItem2 = new TableAreaItem { ItemID = 2, AreaName = "newWorld", Email = prEmail }; TableNPC lcNPC = new TableNPC { Name = "spookyboi", Health = 20, Email = prEmail, CurrentArea = "stateCinemas" }; _connection.Insert(lcNewAreaItem1); _connection.Insert(lcNewAreaItem2); _connection.Insert(lcNPC); }
/// <summary> /// Proccesses logic that discerns which map nodes are which colour in order to display visited areas & the current area /// </summary> public void UpdateMap() { var visitedList = GameManager.GameManagerInstance.GameModelInstance.DataServiceInstance.Connection.Query <TableVisited>( "select * from TableVisited" + " inner join TablePlayer" + " on TableVisited.Email = TablePlayer.Email " + " where TableVisited.Email = ?", GameManager.GameManagerInstance.GameModelInstance._currentPlayer._email).ToList(); foreach (TableVisited lcVisited in visitedList) { if (lcVisited.AreaName == "christChurchSteps") { mapPanelChristChurchSteps.GetComponent <Image>().color = new Color32(50, 205, 50, 100); } else if (lcVisited.AreaName == "starbucks") { mapPanelStarbucks.GetComponent <Image>().color = new Color32(50, 205, 50, 100); } else if (lcVisited.AreaName == "NMIT") { mapPanelNMIT.GetComponent <Image>().color = new Color32(50, 205, 50, 100); } else if (lcVisited.AreaName == "newWorld") { mapPanelNewWorld.GetComponent <Image>().color = new Color32(50, 205, 50, 100); } else if (lcVisited.AreaName == "stateCinemas") { mapPanelStateCinemas.GetComponent <Image>().color = new Color32(50, 205, 50, 100); } } TablePlayer lcPlayer = GameManager.GameManagerInstance.GameModelInstance.DataServiceInstance.Connection.Table <TablePlayer>(). Where(x => x.Email == GameManager.GameManagerInstance.GameModelInstance._currentPlayer._email).FirstOrDefault(); foreach (TableVisited lcVisited in visitedList) { if (lcPlayer.CurrentArea == "christChurchSteps") { mapPanelChristChurchSteps.GetComponent <Image>().color = new Color32(220, 20, 60, 100); } else if (lcPlayer.CurrentArea == "starbucks") { mapPanelStarbucks.GetComponent <Image>().color = new Color32(220, 20, 60, 100); } else if (lcPlayer.CurrentArea == "NMIT") { mapPanelNMIT.GetComponent <Image>().color = new Color32(220, 20, 60, 100); } else if (lcPlayer.CurrentArea == "newWorld") { mapPanelNewWorld.GetComponent <Image>().color = new Color32(220, 20, 60, 100); } else if (lcPlayer.CurrentArea == "stateCinemas") { mapPanelStateCinemas.GetComponent <Image>().color = new Color32(220, 20, 60, 100); } } }
public void GivePlayerCardTest() { var players = new TablePlayer[] { new TablePlayer { PlayerId = 1, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 2, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 3, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 4, GameVariant = GamesVariants.Normal } }; CardUtil.SetHandCards(players, false); bool[] playersHasDiamondClubCard = new bool[4]; for (var i = 0; i < players.Length; i++) { var hasPlayerDiamondClubCard = HasDiamondClubCard(players[i].GetHandCards()); Assert.True(players[i].HasClubsQueenOnHand == hasPlayerDiamondClubCard); } }
public void PlayerWinnerAtVariantNormal() { var player = new TablePlayer[] { new TablePlayer { PlayerId = 1, HasClubsQueenOnHand = true, RoundsPoints = 40, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 2, HasClubsQueenOnHand = false, RoundsPoints = 80, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 3, HasClubsQueenOnHand = true, RoundsPoints = 40, GameVariant = GamesVariants.Normal }, new TablePlayer { PlayerId = 4, HasClubsQueenOnHand = false, RoundsPoints = 60, GameVariant = GamesVariants.Normal } }; var table = new PlayTable { GameVariant = GamesVariants.Normal }; TableUtil.SetWinners(player, table); Assert.False(player[0].RoundWinner); Assert.True(player[1].RoundWinner); Assert.False(player[2].RoundWinner); Assert.True(player[3].RoundWinner); }
/// <summary> /// 将表数据组装为逻辑数据 /// </summary> public static GC_PlayerPublicData CreatePlayer(ref Conn conn, string userName, ref TablePlayer player) { GC_PlayerPublicData playerData = new GC_PlayerPublicData(); if (player == null) { return(playerData); } long uid = 0; long.TryParse(userName, out uid); conn.player = new Player(uid, conn); playerData.userName = int.Parse(player.UserName); playerData.name = player.Name; playerData.resId = player.ResId; playerData.occ = player.Occ; playerData.mapId = player.MapId; playerData.x = player.X; playerData.y = player.Y; playerData.dir = player.Dir; conn.player.data = player; conn.player.publicData = playerData; return(playerData); }
/// <summary> /// gets the players currents area table for the area they are in /// </summary> /// <param name="prPlayer">used to correctly select the current area the player is in by using the email</param> /// <returns>returns the players current area table</returns> public string GetDirectionsPossible(Player prPlayer) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prPlayer._email).FirstOrDefault(); TableArea lcArea = _connection.Table <TableArea>().Where(x => x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); string lcDecisions = null; if (lcArea.North != null) { lcDecisions = lcDecisions + "\n" + "go north"; } if (lcArea.South != null) { lcDecisions = lcDecisions + "\n" + "go south"; } if (lcArea.East != null) { lcDecisions = lcDecisions + "\n" + "go east"; } if (lcArea.West != null) { lcDecisions = lcDecisions + "\n" + "go west"; } return(lcDecisions); }
/// <summary> /// Gets the story text that is to be displayed after picking up an item /// </summary> /// <returns>returns postPickup text for the current area</returns> public string GetPostPickupStory(string prEmail) { //get areaname for current player area TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //use area name to get correct post pickup text TableStory lcStory = _connection.Table <TableStory>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Phase == "postPickup").FirstOrDefault(); return(lcStory.Description); }
/// <summary> /// Checks if the load button should be enabled by querying the databate for existing data for that player /// </summary> public void CheckForLoad() { DataService ds = new DataService("NelsonEscapeDatabasev3.db"); TablePlayer lcPlayer = ds.Connection.Table <TablePlayer>().Where(x => x.Email == dataBetweenScenesManager.dataBetweenScenesInstance.Email).FirstOrDefault(); if (lcPlayer.CurrentArea != null) { ToggleButtonStates(true); } ds = null; }
/// <summary> /// Logic processor used to obtain the correct story text for the current area that the player is inside /// </summary> /// <returns>returns the correct sotry text for the current area</returns> public string GetStory(string prEmail) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); var itemInAreaCount = _connection.Query <TableAreaItem>( "select TableAreaItem.ItemID from TableAreaItem" + " inner join TablePlayer" + " on TableAreaItem.AreaName = TablePlayer.CurrentArea " + " where TableAreaItem.Email = ? and TableAreaItem.AreaName = ?", prEmail, lcPlayer.CurrentArea).ToList(); if (itemInAreaCount.Count > 0) { TableVisited lcVisited = _connection.Table <TableVisited>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); if (lcVisited == null) { //get first visit story & insert visited entry var lcNewVisited = new TableVisited { AreaName = lcPlayer.CurrentArea, Email = prEmail }; _connection.Insert(lcNewVisited); } // select pre pickup story TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "prePickup" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } else { //TablePlayer lcPlayer = _connection.Table<TablePlayer>().Where(x => x.Email == firebaseManager.FirebaseManagerInstance.Email).FirstOrDefault(); TableVisited lcVisited = _connection.Table <TableVisited>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); // if (lcVisited == null) { //get first visit story & insert visited entry var lcNewVisited = new TableVisited { AreaName = lcPlayer.CurrentArea, Email = prEmail }; _connection.Insert(lcNewVisited); TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "firstVisit" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } else { //get default story TableStory lcStory = _connection.Table <TableStory>().Where(x => x.Phase == "default" && x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); return(lcStory.Description); } } }
/// <summary> /// returns the current areas areaitem table /// </summary> /// <param name="prPlayer">used to select the corrent areaitem row for the current player</param> /// <returns>returns the players current areaitem table for the area they are in</returns> public bool GetAreaItem(Player prPlayer) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prPlayer._email).FirstOrDefault(); TableAreaItem lcAreaItem = _connection.Table <TableAreaItem>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == prPlayer._email).FirstOrDefault(); if (lcAreaItem == null) { return(false); } else { return(true); } }
/// <summary> /// gets current npc table for the area the player is in /// </summary> /// <param name="prPlayer">used to get the correct npc table for the player</param> /// <returns>returns the npc table</returns> public bool GetNPC(Player prPlayer) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prPlayer._email).FirstOrDefault(); TableNPC lcNPC = _connection.Table <TableNPC>().Where(x => x.CurrentArea == lcPlayer.CurrentArea && x.Email == prPlayer._email).FirstOrDefault(); if (lcNPC == null) { return(false); } else { return(true); } }
public AdditionPlayerInfoModel(TablePlayer player) { PlayerId = player.PlayerId; PlayerPosition = player.PlayerPosition; UserName = player.Username; ShuffleRound = player.ShuffleRound; NextTurn = player.NextTurn; PlayedCard = player.GetPlayedCard(); GameVariant = player.GameVariant; RoundWinner = player.RoundWinner; RoundsPoints = player.RoundsPoints; PlayedRoundCards = player.GetPlayedRoundCards(); Message = player.Message; DutyAnnouncement = player.DutyAnnouncement; }
public override void OnRecv(ref Conn conn) { CG_Login login = GetData <CG_Login>(structBytes); string userName = login.userName; string pw = login.passWord; // 检测账号密码是否正确 if (!DBPlayer.Inst.CheckPassWord(userName, pw)) { // 不通过,那就先注册 bool bSucc = DBPlayer.Inst.Register(userName, pw); if (!bSucc) // 注册不成功,账号重复等 { eno = -1; conn.Send(this); //eno = 0; //Console.WriteLine("返回创建角色:" + eno + " uid:" + userName); //conn.Send(this); return; } } TablePlayer player = DBPlayer.Inst.GetPlayer(userName); if (player == null) { // 返回选角色 eno = 0; Console.WriteLine("返回创建角色:" + eno + " uid:" + userName); conn.Send(this); } else { // 返回角色信息,进入游戏 eno = 1; Console.WriteLine("返回角色信息:" + eno + " uid:" + userName); playerData = CreatePlayer(ref conn, userName, ref player); conn.Send(this); Lobby map = LobbyManager.Inst.GetLobby(player.MapId); if (map == null) { Console.WriteLine("大厅为空:" + player.MapId); } map.AddPlayer(conn.player); } }
public void SetAdditionWeddingPlayerWithOutFirstColorCast() { var weddingPlayer = new TablePlayer { GameVariant = GamesVariants.Wedding, PlayerId = 1, PlayedCard = new Card(Suits.clubs, Ranks.jack).ToString(), PlayerPosition = 1 }; var additionPlayer = new TablePlayer { GameVariant = GamesVariants.Normal, PlayerId = 2, PlayedCard = new Card(Suits.clubs, Ranks.jack).ToString(), PlayerPosition = 2 }; var table = new PlayTable { GameVariant = GamesVariants.Wedding, WeddingWithFirstColorCast = false, StitchCounter = 2, AdditionalWeddingPlayerId = -1, RoundCardsGiversPosition = 1 }; table.SetAdditionalWeddingPlayer(new[] { weddingPlayer, additionPlayer }, additionPlayer.PlayerId); Assert.Equal(additionPlayer.PlayerId, table.AdditionalWeddingPlayerId); Assert.Equal(GamesVariants.Wedding, table.GameVariant); }
/// <summary> /// processes the input parameters to determine whether the signup succeeds or not /// also creates the database at this stage if it does not exist yet, this could be the first initialization of the program /// if the signup succeeds the new player is recorded in the db /// </summary> /// <param name="prEmail">email input</param> /// <param name="prPassword">password input</param> /// <returns>returns true or false dependant on whether the signup operation completed successfully</returns> public bool SignUp(string prEmail, string prPassword) { DataService ds = new DataService("NelsonEscapeDatabasev3.db"); string lcPasswordHash = sha256(prPassword); TablePlayer lcPlayer; try { lcPlayer = ds.Connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); } catch { ds.CreateDB(inpEmail.text); lcPlayer = ds.Connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); } if (lcPlayer == null) { try { TablePlayer lcNewPlayer = new TablePlayer { Email = prEmail, Password = lcPasswordHash, }; ds.Connection.Insert(lcNewPlayer); //using firebase class singleton to store email until gamemodel is instantiated later. //it is named after firebase but I am not using any firebase code or services. dataBetweenScenesManager.dataBetweenScenesInstance.Email = prEmail; ds = null; return(true); } catch { ds = null; return(false); } } else { return(false); } }
/// <summary> /// Deletes the current areaitem from the area /// </summary> /// <param name="prEmail">email used to identify the player</param> /// <returns>returns true of false dependant on whether the command was successful or not</returns> public bool DeleteAreaItem(string prEmail) { try { //get current area from player table TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //get item id for current area //TableAreaItem lcAreaItem = _connection.Table<TableAreaItem>().Where(x => x.AreaName == lcPlayer.CurrentArea && x.Email == lcPlayer.Email).FirstOrDefault(); _connection.Query <TableAreaItem>( "delete from TableAreaItem" + " where TableAreaItem.Email = ? and TableAreaItem.AreaName = ?", prEmail, lcPlayer.CurrentArea); //_connection.Delete(lcAreaItem); return(true); } catch { return(false); } }
public override void SetUp() { base.SetUp(); var player3 = new TablePlayer() { Position = 3, UserId = "me3", Cash = 1000 }; _state.Invoke(new PlayerJoined { Id = TestTableId, Position = player3.Position, UserId = player3.UserId, Cash = player3.Cash, }); _state.Invoke(new GameFinished { Id = TestTableId, GameId = "game_1", Winners = Winners.Me1(50) }); var pack = new Pack(); _state.Invoke(new GameCreated { Id = TestTableId, GameId = "game_2", Cards = pack.GetAllCards(), Players = _state.CopyPlayers() }); }
public PlayCard(TablePlayer tablePlayer) { Card = tablePlayer.GetPlayedCard(); PlayerId = tablePlayer.PlayerId; Position = tablePlayer.PlayerPosition; }
private void Awake() { if (!"BOARD_CONFIG".TryGetValue(out Board.Config c) || c.core == null) { "BOARD_CONFIG".SetValue(new Board.Config { size = size, }); } var config = new OfflineTurnManager.Config(); var dict = config.isHumanPlayer as Dictionary <int, bool>; foreach (var kvp in isHumanPlayer) { dict[(int)kvp.Key] = kvp.Value; } if (!online) { "TURNBASE_CONFIG".SetValue(config); } "TURNBASE_CONFIG".SetValue(new P2PTurnManager.Config { playerCount = 2, maxTurnTime = maxTurnTime, maxPlayerTime = maxPlayerTime }); // test Table.current = new Table { chair = 2, game = MiniGame.Gomoku, localID = 0, isPlaying = true }; for (int i = 0; i < 2; ++i) { // cài local var user = new User { id = i, avatar = playerInfos[i].avatar, money = playerInfos[i].money, name = playerInfos[i].name, sex = playerInfos[i].sex }; var player = new TablePlayer { id = i, betMoney = playerInfos[i].betMoney, table = Table.current, user = user }; (Table.current.players as List <TablePlayer>).Add(player); if (i == 0) { Table.current.host = player; } } PhotonNetwork.AddCallbackTarget(this); }
/// <summary> /// returns the current players database table /// </summary> /// <returns>returns the current players database table</returns> public int GetHealth(string prEmail) { TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); return(lcPlayer.Health); }
public virtual void SetUp() { _state = new GameTableState(); var pack = new Pack(); var player1 = new TablePlayer() { Position = 1, UserId = "me1", Cash = 1000 }; var player2 = new TablePlayer() { Position = 2, UserId = "me2", Cash = 1000 }; _state.Invoke(new TableCreated { Id = TestTableId, BuyIn = 1000, MaxPlayers = 10, Name = "My new table", SmallBlind = 5 }); _state.Invoke(new PlayerJoined { Id = TestTableId, Position = player1.Position, UserId = player1.UserId, Cash = player1.Cash, }); _state.Invoke(new PlayerJoined { Id = TestTableId, Position = player2.Position, UserId = player2.UserId, Cash = player2.Cash, }); _state.Invoke(new GameCreated { Id = TestTableId, GameId = "game_1", Cards = pack.GetAllCards(), Players = _state.CopyPlayers() }); _state.Invoke(new CardsDealed { Id = TestTableId, GameId = "game_1", Cards = TakeCards(_state.CopyPlayers(), _state.Pack) }); _state.Invoke(new DealerAssigned { Id = TestTableId, GameId = "game_1", Dealer = new PlayerInfo { Position = player1.Position, UserId = player1.UserId }, SmallBlind = new PlayerInfo { Position = player2.Position, UserId = player2.UserId }, BigBlind = new PlayerInfo { Position = player1.Position, UserId = player1.UserId } }); _state.Invoke(new BidMade { Id = TestTableId, Bid = new BidInfo { UserId = player2.UserId, Position = player2.Position, Bid = 5, Amount = 5, NewCashValue = 995, BidType = BidTypeEnum.SmallBlind, } }); _state.Invoke(new BidMade { Id = TestTableId, Bid = new BidInfo { UserId = player1.UserId, Position = player1.Position, Bid = 10, Amount = 10, NewCashValue = 990, BidType = BidTypeEnum.BigBlind, } }); _state.Invoke(new NextPlayerTurned { Id = TestTableId, GameId = "game_1", Player = _state.GetPlayerInfo(2) }); }
public override void SetUp() { base.SetUp(); var player3 = new TablePlayer() { Position = 3, UserId = "me3", Cash = 1000 }; _state.Invoke(new PlayerJoined { Id = TestTableId, Position = player3.Position, UserId = player3.UserId, Cash = player3.Cash, }); _state.Invoke(new GameFinished { Id = TestTableId, GameId = "game_1", Winners = Winners.Me1(50) }); var pack = new Pack(); _state.Invoke(new GameCreated { Id = TestTableId, GameId = "game_2", Cards = pack.GetAllCards(), Players = _state.CopyPlayers() }); _state.Invoke(new CardsDealed { Id = TestTableId, GameId = "game_2", Cards = TakeCards(_state.CopyPlayers(), _state.Pack) }); _state.Invoke(new DealerAssigned { Id = TestTableId, GameId = "game_2", Dealer = new PlayerInfo { Position = _state.Players[2].Position, UserId = _state.Players[2].UserId }, SmallBlind = new PlayerInfo { Position = _state.Players[3].Position, UserId = _state.Players[3].UserId }, BigBlind = new PlayerInfo { Position = _state.Players[1].Position, UserId = _state.Players[1].UserId, } }); _state.Invoke(new BidMade { Id = TestTableId, Bid = new BidInfo { UserId = _state.Players[3].UserId, Position = _state.Players[3].Position, Bid = 5, Amount = 5, NewCashValue = 995, BidType = BidTypeEnum.SmallBlind, } }); _state.Invoke(new BidMade { Id = TestTableId, Bid = new BidInfo { UserId = _state.Players[1].UserId, Position = _state.Players[1].Position, Bid = 10, Amount = 10, NewCashValue = 1030, BidType = BidTypeEnum.BigBlind, } }); _state.Invoke(new NextPlayerTurned { Id = TestTableId, GameId = "game_2", Player = _state.GetPlayerInfo(2) }); }
/// <summary> /// Attemps to move player in direction specified by parameter /// </summary> /// <param name="prDirection">Direction passed in by the command processor</param> /// <returns>returns true or false dependant on if the move command was successful</returns> public bool Move(DIRECTION prDirection, string prEmail) { //get player for current area TablePlayer lcPlayer = _connection.Table <TablePlayer>().Where(x => x.Email == prEmail).FirstOrDefault(); //get area table to check for direction entry TableArea lcArea = _connection.Table <TableArea>().Where(x => x.AreaName == lcPlayer.CurrentArea).FirstOrDefault(); if (prDirection == DIRECTION.North) { //return false if no north movement found if (lcArea.North == null) { return(false); } else { //if direction found change current area to the corresponding area in that direction //update in database //return true lcPlayer.CurrentArea = lcArea.North; _connection.Update(lcPlayer); return(true); } } else if (prDirection == DIRECTION.South) { //return false if no south movement found if (lcArea.South == null) { return(false); } else { //if direction found chang current area to the corresponding area in that direction //update in database //return true lcPlayer.CurrentArea = lcArea.South; _connection.Update(lcPlayer); return(true); } } else if (prDirection == DIRECTION.East) { //return false if no East movement found if (lcArea.East == null) { return(false); } else { //if direction found chang current area to the corresponding area in that direction //update in database //return true lcPlayer.CurrentArea = lcArea.East; _connection.Update(lcPlayer); return(true); } } else if (prDirection == DIRECTION.West) { //return false if no West movement found if (lcArea.West == null) { return(false); } else { //if direction found chang current area to the corresponding area in that direction //update in database //return true lcPlayer.CurrentArea = lcArea.West; _connection.Update(lcPlayer); return(true); } } else { return(false); } }
private void UpdateMain() { if (IsStart == false) { return; } if (ManageWait.Info.IsWait == true) { return; } if (state == TitleState.Input) { if (KeyControlInformation.Info.OnKeyDownMenu(KeyType.MenuOk) || (KeyControlInformation.Info.OnLeftClick() && CommonFunction.IsDoubleClick())) { if (CommonFunction.IsNull(UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject) == false && UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject.name == "NameInputField") { return; } if (CommonFunction.IsNull(ResourceInformation.SaveInfo) == false && ResourceInformation.SaveInfo.IsLoadSave == true) { //サウンドを鳴らす SoundInformation.Sound.Play(SoundInformation.SoundType.MenuOk); state = TitleState.ActionSelectInit; } else { TargetScene = "Scenes/GameSelect"; state = TitleState.FadeInit; } } } else if (state == TitleState.ActionSelectInit) { InitialzeContent(); state = TitleState.ActionSelect; } else if (state == TitleState.ActionSelect) { if (UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject == GameObject.Find("NameInputField")) { return; } //上 if (KeyControlInformation.Info.OnMoveUp()) { Selected = SelectUp(SelectedList, Selected); } //下 else if (KeyControlInformation.Info.OnMoveDown()) { Selected = SelectDown(SelectedList, Selected); } //ダンジョン決定 シーン移動 else if (KeyControlInformation.Info.OnKeyDownMenu(KeyType.MenuOk)) { if (Selected == (int)TitleSelectAction.Continue) { TargetScene = "Scenes/rouge1"; state = TitleState.FadeInitLoadSave; } else if (Selected == (int)TitleSelectAction.NewGame) { ResourceInformation.SaveInfo = new SavePlayingInformation(); SaveDataInformation.RemoveSaveData(); TargetScene = "Scenes/GameSelect"; state = TitleState.FadeInit; } } } else if (state == TitleState.FadeInitLoadSave) { //サウンドを鳴らす SoundInformation.Sound.Play(SoundInformation.SoundType.GameStart); string name = GameObject.Find("NameText").GetComponent <Text>().text; ScoreInformation.Info.PlayerName = name; _manageFade.PlayFadeIn(true, 0.5f); SavePlayingInformation save = ResourceInformation.SaveInfo; //保存されていたら保存データを読み込み if (save.IsLoadSave == true) { DungeonInformation.Info = TableDungeonMaster.GetValue(save.don); PlayerInformation.Info = TablePlayer.GetValue(save.pon); //アイテムデータをロード SaveItemData[] items = SaveDataInformation.LoadItemValue(); //アイテムデータを反映 GameStateInformation.TempItemList = SaveItemInformation.ToListBaseItem(items); //セーブデータを削除 SaveDataInformation.RemoveSaveData(); } StartCoroutine(TransScene(TargetScene, 0.5f)); state = TitleState.Fade; } else if (state == TitleState.FadeInit) { //サウンドを鳴らす SoundInformation.Sound.Play(SoundInformation.SoundType.GameStart); string name = GameObject.Find("NameText").GetComponent <Text>().text; ScoreInformation.Info.PlayerName = name; _manageFade.PlayFadeIn(true, 0.5f); StartCoroutine(TransScene(TargetScene, 0.5f)); state = TitleState.Fade; } }
private void StartMain() { GameObject gm = new GameObject("FloorChanger"); _manageFade = gm.AddComponent <ManageFade>(); _manageFade.SetupFade(); _manageFade.Wait = 0.01f; _manageFade.PlayFadeOut(false); GameObject.Find("OnBGMCheck").GetComponent <Toggle>().isOn = MusicInformation.Music.IsMusicOn; GameObject.Find("OnSoundCheck").GetComponent <Toggle>().isOn = SoundInformation.Sound.IsPlay; GameObject.Find("OnVoiceCheck").GetComponent <Toggle>().isOn = VoiceInformation.Voice.IsPlay; if (KeyControlInformation.Info.OpMode == OperationMode.UseMouse) { GameObject.Find("UseMouse").GetComponent <Toggle>().isOn = true; } if (ScoreInformation.Info.PlayerNameBase != CommonConst.Message.UnityChanName && ScoreInformation.Info.PlayerNameBase != CommonConst.Message.StellaChanName) { GameObject.Find("NameInputField").GetComponent <InputField>().text = ScoreInformation.Info.PlayerNameBase; } else { GameObject.Find("NameInputField").GetComponent <InputField>().text = ""; } //MusicInformation.Music.Setup(MusicInformation.MusicType.CharacterSelect); ScrollViewSelected = GameObject.Find("SelectTargetScrollView"); ScrollViewSelectedUnit = GameObject.Find("SelectUnit"); ScrollViewSelectedContents = GameObject.Find("SelectTargetContent"); _keyDisp = GameObject.Find("KeyDisplayPanel"); CharacterStatusPanel = GameObject.Find("CharacterStatusPanel"); DungeonStatusPanel = GameObject.Find("DungeonStatusPanel"); ScrollViewSelectedUnit.SetActive(false); DungeonStatusPanel.SetActive(false); SelectedList = new Dictionary <long, GameObject>(); _state = SelectTurnState.ManageStart; _keyDisp.SetActive(false); //ダンジョンデータを読み込み Dungeons = TableDungeonMaster.GetAllValue(); //キャラクターデータを読み込み Characters = TablePlayer.GetAllValue(); //初期選択を格納 SelectCharacter = Characters.First().Value.ObjNo; InitialzeContent(Characters, SelectCharacter); MainThreadDispatcher.StartUpdateMicroCoroutine(TransSceneStart(1f)); }
public bool SetOnTable(int playerId, int tableId) { CancelWatchTable(playerId); var tablePlayer = GettablePlayerOfId(playerId); if (tablePlayer != null) { if (tablePlayer.TableId == tableId) { return(true); } else { SetOutTable(playerId); } } var tablePlayers = _context.TablePlayer.Where((tp) => tp.TableId == tableId).ToArray(); // table has with this player mor then 5 player on the table if (tablePlayers.Length + 1 > 4) { return(false); } var table = _context.PlayTables.FirstOrDefault(tp => tp.Id == tableId); var user = _userService.GetById(playerId); if (table != null && user != null) { int tablePlayerCount = _context.TablePlayer.Count((tp) => tp.TableId == tableId); TablePlayer newTablePlayer = new TablePlayer(); newTablePlayer.TableId = table.Id; newTablePlayer.PlayerPosition = GetNextFreePostionOnTable(tablePlayers); newTablePlayer.PlayerId = user.Id; newTablePlayer.Username = user.Username; _context.TablePlayer.Add(newTablePlayer); int changeCount = 0; // 4 player on table (3 and the current) if (tablePlayers.Length == 3) { table.RoundCount = 0; table.Status = PlayStatus.None; changeCount = _context.SaveChanges(); _context.PlayTables.Update(table); _context.SaveChanges(); StartNewRound(tableId); } else { changeCount = _context.SaveChanges(); OnTableChanged(table.Id); } OnTableListChanged(); return(changeCount > 0); } else { return(false); } }