Beispiel #1
0
 new void Awake()
 {
     base.Awake();
     isPlayer = true;
     if (self)
     {
         I_PlayerMessenger   = self.GetComponent <PlayerMessenger>();
         I_PlayerDataManager = self.GetComponent <PlayerDataManager>();
         I_PlayerController  = self.GetComponent <PlayerController>();
     }
     I_PlayerData = PlayerData.Instance;
 }
Beispiel #2
0
 void Awake()
 {
     I_PlayerData      = PlayerData.Instance;
     I_PlayerMessenger = transform.GetComponentInParent <PlayerMessenger>();
     foreach (string tag in targetTags)
     {
         GameObject[] tagTargets = GameObject.FindGameObjectsWithTag(tag);
         for (int i = 0; i < tagTargets.Length; ++i)
         {
             targets.Add(tagTargets[i].transform);
         }
     }
     foreach (Transform target in targets)
     {
         outRangeTargets.Add(target);
     }
 }
Beispiel #3
0
        private void LoadMessenger()
        {
            using (var mysqlConnection = Sahara.GetServer().GetMySql().GetConnection())
            {
                mysqlConnection.OpenConnection();

                try
                {
                    if (_playerMessenger != null)
                    {
                        return;
                    }

                    mysqlConnection.AddParameter("userTwoId", _playerId);
                    mysqlConnection.AddParameter("userOneId", _playerId);
                    mysqlConnection.SetQuery(@"SELECT users.id,users.username,users.motto,users.look,users.last_online,users.hide_inroom,users.hide_online FROM users JOIN messenger_friendships ON users.id = messenger_friendships.user_one_id WHERE messenger_friendships.user_two_id = @userTwoId UNION ALL SELECT users.id,users.username,users.motto,users.look,users.last_online,users.hide_inroom,users.hide_online FROM users JOIN messenger_friendships ON users.id = messenger_friendships.user_two_id WHERE messenger_friendships.user_one_id = @userOneId");
                    var friendsTable = mysqlConnection.GetTable();

                    if (friendsTable != null)
                    {
                        foreach (DataRow friend in friendsTable.Rows)
                        {
                            var friendUserId = Convert.ToInt32(friend["id"]);

                            if (friendUserId == _playerId)
                            {
                                continue;
                            }

                            if (_playerBuddies.ContainsKey(friendUserId))
                            {
                                continue;
                            }

                            var friendUsername       = Convert.ToString(friend["username"]);
                            var friendClothing       = Convert.ToString(friend["look"]);
                            var friendMotto          = Convert.ToString(friend["motto"]);
                            var friendLastOnline     = Convert.ToInt32(friend["last_online"]);
                            var friendMessengerState = Convert.ToInt32(friend["hide_online"]).ToString() == "1" ? MessengerState.Offline : MessengerState.Online;
                            var friendHideInRoom     = Convert.ToInt32(friend["hide_inroom"]).ToString() == "1";

                            _playerBuddies.Add(friendUserId,
                                               new MessengerBuddy(friendUserId, friendUsername, friendClothing, friendMotto,
                                                                  friendLastOnline, friendMessengerState, friendHideInRoom));
                        }
                    }

                    mysqlConnection.SetQuery("SELECT messenger_requests.from_id,messenger_requests.to_id,users.username FROM users JOIN messenger_requests ON users.id = messenger_requests.from_id WHERE messenger_requests.to_id = " + _playerId);
                    var requestsTable = mysqlConnection.GetTable();

                    if (requestsTable != null)
                    {
                        var requests = new Dictionary <int, MessengerBuddyRequest>();

                        foreach (DataRow dRow in requestsTable.Rows)
                        {
                            var receiverId      = Convert.ToInt32(dRow["from_id"]);
                            var senderId        = Convert.ToInt32(dRow["to_id"]);
                            var requestUsername = Convert.ToString(dRow["username"]);

                            if (receiverId != _playerId)
                            {
                                if (!requests.ContainsKey(receiverId))
                                {
                                    requests.Add(receiverId, new MessengerBuddyRequest(_playerId, receiverId, requestUsername));
                                }
                            }
                            else
                            {
                                if (!requests.ContainsKey(senderId))
                                {
                                    requests.Add(senderId, new MessengerBuddyRequest(_playerId, senderId, requestUsername));
                                }
                            }
                        }
                    }

                    _playerMessenger = new PlayerMessenger(_player, null, _playerBuddies, 0);
                }
                catch (Exception exception)
                {
                    var method = System.Reflection.MethodBase.GetCurrentMethod().Name;
                    _logManager.Log($"Error in {method}: {exception.Message}", LogType.Error);
                    _logManager.Log(exception.StackTrace, LogType.Error);
                }
                finally
                {
                    mysqlConnection.CloseConnection();
                }
            }
        }