コード例 #1
0
 public RaqnApiSession() : base()
 {
     id      = "L$" + System.Guid.NewGuid();
     started = RaqnTime.LocalNow();
     expires = RaqnTime.FOREVER;
     logins  = new List <RaqnLogin>();
 }
コード例 #2
0
        public Coroutine SyncPlaySession(RaqnPlaySession _ps, Action <RaqnPlaySession> OnReady = null, Action <string> OnError = null)
        {
            RaqnRequest _req = new RaqnRequest("/play/sync");

            _req.SetField <RaqnPlaySession>("playsession", _ps);
            _req.SetField <string>("time", RaqnTime.LocalNow());
            if (OnReady != null)
            {
                _req.OnSuccess += RaqnUtils.ComposeAction <RaqnResponse, RaqnPlaySession>(OnReady, _ResponseParser <RaqnPlaySession>("_playsession"));
            }
            if (OnError != null)
            {
                _req.OnError += OnError;
            }
            return(Raqn.Instance.StartCoroutine(SendRequest(_req)));
        }
コード例 #3
0
 public void End(Action OnReady = null, Action <string> OnError = null)
 {
     if (IsOffline())
     {
         end = RaqnTime.LocalNow();
         Sync(OnReady, OnError);
     }
     else
     {
         Raqn.Api.OnPlayEndSuccess += () =>
         {
             Sync(OnReady, OnError);
         };
         Raqn.Api.OnPlayEndError += (_err) =>
         {
             Sync(OnReady, OnError);
         };
         Raqn.Api.EndPlay();
     }
 }
コード例 #4
0
 public float SessionTimeNow()
 {
     return(RaqnTime.LocalEngineNow() - local_engine_start);
 }
コード例 #5
0
 public RaqnPlaySession() : base()
 {
     id    = "L$" + System.Guid.NewGuid();
     start = RaqnTime.LocalNow();
     local_engine_start = RaqnTime.LocalEngineNow();
 }
コード例 #6
0
 public bool IsExpired()
 {
     return(RaqnTime.ServerNow().CompareTo(expires) > 0);
 }