public EzGetRoomResult(
     GetRoomResult result
     )
 {
     if (result.item != null)
     {
         Item = new EzRoom(result.item);
     }
 }
示例#2
0
 public EzDeleteRoomResult(
     DeleteRoomResult result
     )
 {
     if (result.item != null)
     {
         Item = new EzRoom(result.item);
     }
 }
示例#3
0
 public EzCreateRoomResult(
     CreateRoomResult result
     )
 {
     if (result.item != null)
     {
         Item = new EzRoom(result.item);
     }
 }
        /// <summary>
        /// GS2-Realtime のルーム情報を取得
        /// </summary>
        /// <param name="animator"></param>
        /// <returns></returns>
        private IEnumerator GetRoom(
            Animator animator
            )
        {
            var request = Gs2Util.LoadGlobalGameObject <RealtimeRequest>("RealtimeRequest");

            if (!string.IsNullOrEmpty(request.ipAddress))
            {
                room = new EzRoom
                {
                    Name          = request.gatheringId,
                    IpAddress     = request.ipAddress,
                    Port          = request.port,
                    EncryptionKey = request.encryptionKey,
                };
                animator.SetTrigger(Trigger.GetRoomSucceed.ToString());
                yield break;
            }
            while (true)
            {
                yield return(new WaitForSeconds(0.5f));

                AsyncResult <EzGetRoomResult> result = null;
                yield return(controller.GetRoom(
                                 r => { result = r; }
                                 ));

                if (result.Error != null)
                {
                    animator.SetTrigger(Trigger.GetRoomFailed.ToString());
                    yield break;
                }

                if (!string.IsNullOrEmpty(result.Result.Item.IpAddress))
                {
                    room = result.Result.Item;
                    break;
                }
            }

            animator.SetTrigger(Trigger.GetRoomSucceed.ToString());
        }