private void OnRecvPlayerEnter(IChannel channel, Message message) { SPlayerEnter msg = message as SPlayerEnter; switch (msg.status) { case SPlayerEnter.Status.Fail: Debug.Log("Login fail"); Debug.Log(string.Format("name:{0} token:{1} scene:{2} status:{3}", msg.user, msg.token, msg.scene, msg.status)); MessageBox.Show("Username doesn't exists or wrong password."); return; case SPlayerEnter.Status.Error: MessageBox.Show("Login Error."); return; } MyNetwork network = GameObject.FindObjectOfType <MyNetwork>(); GameStart startup = GameObject.FindObjectOfType <GameStart>(); if (network.gameScene) {// ignore enter scene message when debug mode return; } //Console.WriteLine("Receive Enter..."); World.Instance.selfId = msg.id; startup.PlayerEnter(msg.scene); }
private void OnRecvPlayerEnter(IChannel channel, Message message) { MyNetwork network = GameObject.FindObjectOfType <MyNetwork>(); GameStart startup = GameObject.FindObjectOfType <GameStart>(); if (network.gameScene) {// ignore enter scene message when debug mode return; } //Console.WriteLine("Receive Enter..."); SPlayerEnter msg = message as SPlayerEnter; startup.PlayerEnter(msg.scene); }
private void OnRecvLogin(IChannel channel, Message message) { CLogin request = message as CLogin; string scene = "Level1"; // read from database ConnectDB connect = new ConnectDB(); int playerID = connect.LogIn(request.user, request.password); if (playerID == 0) { ClientTipInfo(channel, "Wrong UserName or Passwd!"); return; } if (OnlinePlayers.ContainsKey(request.user)) { ClientTipInfo(channel, "user has logged in!"); return; } SPlayerEnter response = new SPlayerEnter() { user = request.user, token = request.user, scene = scene }; channel.Send(response); Player player = new Player(channel) { scene = scene }; DEntity dentity = World.Instance.EntityData["Ellen"]; player.FromDEntity(dentity); player.forClone = false; connect.GetPlayerAttri(playerID, player); Console.WriteLine("user: {0} login", player.user); // DOTO: Add xyz from db }
private void OnRecvPlayerEnter(IChannel channel, Message message) { MyNetwork network = GameObject.FindObjectOfType <MyNetwork>(); GameStart startup = GameObject.FindObjectOfType <GameStart>(); if (network.gameScene) {// ignore enter scene message when debug mode return; } Debug.Log("Receive Enter..."); SPlayerEnter msg = message as SPlayerEnter; World.Instance.init(msg.user, msg.id, msg.dbid, msg.inventory, msg.gold, msg.silver, msg.teammate_id); //World.Instance.addPlayers(msg.user, msg.id); foreach (KeyValuePair <string, int> kvp in World.Instance.get_players()) { Debug.Log(kvp.Key); } Debug.Log(msg.id); startup.PlayerEnter(msg.scene); }
private void OnRecvLogin(IChannel channel, Message message) { CLogin request = message as CLogin; SPlayerEnter response = new SPlayerEnter(); string scene = "Level1"; response.user = request.user; response.token = request.user; response.scene = scene; channel.Send(response); Player player = new Player(channel); player.scene = scene; // TODO read from database DEntity dentity = World.Instance.EntityData["Ellen"]; player.FromDEntity(dentity); player.forClone = false; //ClientTipInfo(channel, "TODO: get player's attribute from database"); // player will be added to scene when receive client's CEnterSceneDone message }
private void OnRecvLogin(IChannel channel, Message message) { CLogin request = message as CLogin; SPlayerEnter response = new SPlayerEnter(); string scene = "Level1"; response.user = request.user; //Console.WriteLine(request.user); response.token = request.password; //Console.WriteLine(request.password); response.scene = scene; response.exist_or_not = false; Player player = new Player(channel); player.scene = scene; player.user = request.user; Console.WriteLine("Connecting PostgreSQL"); var connString = "Host=localhost;Port=5432;Username=postgres;Password=123456;Database=postgres"; var conn = new NpgsqlConnection(connString); conn.Open(); Console.WriteLine("Connected PostgreSQL"); var cmd = new NpgsqlCommand(string.Format("SELECT password,Inteligence,Speed,Level,Attack,Defense,gold_coins,silver_coins,defense_item,attack_item,speed_item,inteligence_item FROM users WHERE name = '{0}'", request.user), conn); var reader = cmd.ExecuteReader(); int count = 0; string password = ""; while (reader.Read()) { count++; Console.WriteLine(reader.GetString(0)); password = reader.GetString(0); Console.WriteLine(reader.GetInt16(1)); player.InteligenceValue = Convert.ToString(reader.GetInt16(1)); Console.WriteLine(reader.GetInt16(2)); player.SpeedValue = Convert.ToString(reader.GetInt16(2)); Console.WriteLine(reader.GetInt16(3)); player.LevelValue = Convert.ToString(reader.GetInt16(3)); Console.WriteLine(reader.GetInt16(4)); player.AttackValue = Convert.ToString(reader.GetInt16(4)); Console.WriteLine(reader.GetInt16(5)); player.DefenseValue = Convert.ToString(reader.GetInt16(5)); Console.WriteLine(reader.GetInt16(6)); player.gold_coins = reader.GetInt16(6); Console.WriteLine(reader.GetInt16(7)); player.silver_coins = reader.GetInt16(7); Console.WriteLine(reader.GetString(8)); player.defense_item = reader.GetString(8); Console.WriteLine(reader.GetString(9)); player.attack_item = reader.GetString(9); Console.WriteLine(reader.GetString(10)); player.speed_item = reader.GetString(10); Console.WriteLine(reader.GetString(11)); player.inteligence_item = reader.GetString(11); } Console.WriteLine(count); if (count != 0) { Console.WriteLine("count!=0"); if (password.Equals(request.password)) { Console.WriteLine("Comparing yes"); ClientTipInfo(channel, "Entering"); response.exist_or_not = true; channel.Send(response); } else { Console.WriteLine("Comparing no"); ClientTipInfo(channel, "Wrong password"); channel.Send(response); } } else { ClientTipInfo(channel, "Wrong username"); channel.Send(response); } DEntity dentity = World.Instance.EntityData["Ellen"]; player.FromDEntity(dentity); player.forClone = false; reader.Close(); }
private void OnRecvLogin(IChannel channel, Message message) { CLogin request = message as CLogin; SPlayerEnter response = new SPlayerEnter(); var hasUser = GameDataBase.SQLQueryScalar(string.Format( "Select player_id from Player Where account_id IN (Select account_id from Account Where username='******' and password='******');", request.user, request.password )); if (hasUser == null) { response.status = SPlayerEnter.Status.Fail; channel.Send(response); Console.WriteLine("Login Fail : {0} {1}", request.user, request.password); return; } else if (World.Instance.OnlinePlayers.ContainsKey((int)hasUser)) { response.status = SPlayerEnter.Status.Error; channel.Send(response); Console.WriteLine("Player {0} {1} relogin.", request.user, hasUser); return; } Player player = new Player(channel); player.player_id = (int)hasUser; string scene = "Level1"; using (var conn = DataBase.GameDataBase.GetConnection()) { using (var cmd = conn.CreateCommand()) { cmd.CommandText = "Select scene From Player Where player_id = @player_id"; cmd.Parameters.AddWithValue("player_id", player.player_id); var res = cmd.ExecuteScalar(); if (res == null) { return; } scene = (string)res; } } response.user = request.user; response.token = request.user; response.id = player.entityId; response.scene = scene; response.status = SPlayerEnter.Status.Success; channel.Send(response); World.Instance.AddPlayer(player); Console.WriteLine("User {0} login", request.user); player.scene = scene; // TODO read from database DEntity dentity = World.Instance.EntityData["Ellen"]; player.FromDEntity(dentity); player.forClone = false; player.token = response.user; player.user = response.user; }
private void OnRecvLogin(IChannel channel, Message message) { CLogin request = message as CLogin; SPlayerEnter response = new SPlayerEnter(); string scene = "Level1"; response.user = request.user; response.token = request.user; response.scene = scene; var conn = db.Instance.Connect(); if (db.Instance.LoginUser(request.user.ToString(), request.password.ToString(), conn)) { //response.id = db.GetID(request.user); ClientTipInfo(channel, "Successfully login :)"); //channel.Send(response); } else { ClientTipInfo(channel, "Sorry :("); return; } Player player = new Player(channel); player.scene = scene; player.user = request.user; player.id = response.id; player.dbid = db.Instance.GetID(request.user, conn); int k = player.entityId; response.id = k; response.dbid = player.dbid; ClientTipInfo(channel, string.Format("Backend:('name: {0}', 'entity_id: {1}','sql_id: {2});", player.user, player.entityId, player.dbid)); DEntity dentity = World.Instance.EntityData["Ellen"]; player.FromDEntity(dentity); player.forClone = false; SCommunity bm = new SCommunity(); bm.name = request.user; bm.id = k; bm.enter = true; response.inventory = db.Instance.GetInventory(player.dbid, conn); response.market = db.Instance.GetMyMarket(player.dbid, conn); response.silver = db.Instance.GetSilverCoins(player.dbid, conn); response.gold = db.Instance.GetGoldCoins(player.dbid, conn); response.teammate_id = db.Instance.getTeammate(player.dbid, conn); channel.Send(response); Scene scenes = World.Instance.GetScene(player.scene); List <int> myFriend = db.Instance.getMyFriend(player.dbid, conn); foreach (var kvp in scenes.Players) { if (myFriend.Contains(kvp.Value.dbid) == false) { continue; } SCommunity am = new SCommunity(); am.name = kvp.Value.user; am.id = kvp.Value.entityId; am.enter = true; channel.Send(am); kvp.Value.connection.Send(bm); } STemp snameresponse = new STemp(); snameresponse.name = request.user; snameresponse.entityid = player.entityId; World.Instance.Broundcast(snameresponse); Console.WriteLine(string.Format("send to backend sucess")); }