コード例 #1
0
ファイル: OnlineStatus.cs プロジェクト: EEmulator/EEmulator
 public static void GetOnlineStatus(Client c, string[] connectUserId, Callback <OnlineStatus[]> callback)
 {
     c.BigDB.LoadKeysOrCreate(OnlineStatusTable, connectUserId, delegate(DatabaseObject[] result)
     {
         var rtn = new OnlineStatus[result.Length];
         for (var i = 0; i < result.Length; i++)
         {
             if (result[i].GetString("name", "") != "")
             {
                 rtn[i] = new OnlineStatus(c, result[i]);
             }
             else
             {
                 rtn[i] = new OnlineStatus();
             }
         }
         callback.Invoke(rtn);
     });
 }
コード例 #2
0
ファイル: Player.cs プロジェクト: EEmulator/EEmulator
        public void Init(Client c, Callback successCallback)
        {
            if (this.IsInitializing)
            {
                return;
            }
            this.IsInitializing = true;

            OnlineStatus.GetOnlineStatus(c, this.ConnectUserId, delegate(OnlineStatus os)
            {
                this.onlineStatusObject            = os;
                this.onlineStatusObject.Name       = this.Name;
                this.onlineStatusObject.IpAddress  = this.IPAddress.ToString();
                this.onlineStatusObject.LastUpdate = DateTime.Now;

                c.BigDB.LoadOrCreate("friends", this.ConnectUserId, delegate(DatabaseObject friendslist)
                {
                    this.friends = new Hashtable();
                    foreach (var key in friendslist.Properties)
                    {
                        if (friendslist.GetBool(key))
                        {
                            this.friends.Add(key, true);
                        }
                    }

                    Console.WriteLine("check player init: " + (this.onlineStatusObject != null) + ", " +
                                      (this.friends != null));
                    if (this.onlineStatusObject != null && this.friends != null)
                    {
                        if (!this.AllowSaveSmiley(this.Smiley))
                        {
                            this.Smiley = 0;
                        }

                        this.IsInitializingDone = true;
                        this.IsInitializing     = false;
                        successCallback.Invoke();
                    }
                });
            });
        }