Exemple #1
0
        public SyncTask request(int[] playersId, EventContext requestContext,
                                float timeout, SyncAction onTimeout,
                                SyncFunc <bool> isValidResponse, bool isAny)
        {
            Timer timer = game.time.startTimer(timeout) as Timer;

            requestContext[nameof(timer)]           = timer;
            requestContext[nameof(isValidResponse)] = isValidResponse;
            requestContext[nameof(isAny)]           = isAny;
            requestContext[nameof(playersId)]       = playersId;
            SyncTask reqTask = doTask(requestContext,
                                      game => game.trigger.pauseTask(game.trigger.currentTask)
                                      );

            timer.onExpired += () => {
                onTimeout.execute(game);
                stopTask(reqTask);
            };
            return(reqTask);
        }
Exemple #2
0
 /// <summary>
 /// Sync up elements in the project files tree with their corresponding
 /// elements in the project temporary settings file tree
 /// </summary>
 /// <param name="nodeType">Type of elements to synchronize</param>
 /// <param name="comparer">Comparer function</param>
 /// <param name="syncFunc">Synchronizer function</param>
 public DomNodeTypeSync(DomNodeType nodeType, IEqualityComparer <DomNode> comparer, SyncFunc syncFunc)
 {
     m_nodeType = nodeType;
     m_comparer = comparer;
     m_syncFunc = syncFunc;
 }
Exemple #3
0
 public SyncTask request(int playerId, EventContext requestContext,
                         float timeout, SyncAction onTimeout, SyncFunc <bool> isValidResponse)
 {
     return(request(new int[] { playerId }, requestContext, timeout, onTimeout, isValidResponse, false));
 }
Exemple #4
0
 public SyncTask requestAny(int[] playersId, EventContext requestContext,
                            float timeout, SyncAction onTimeout,
                            SyncFunc <bool> isValidResponse = null)
 {
     return(request(playersId, requestContext, timeout, onTimeout, isValidResponse, true));
 }
Exemple #5
0
 /// <summary>
 /// Sync up elements in the project files tree with their corresponding
 /// elements in the project temporary settings file tree
 /// </summary>
 /// <param name="nodeType">Type of elements to synchronize</param>
 /// <param name="comparer">Comparer function</param>
 /// <param name="syncFunc">Synchronizer function</param>
 public DomNodeTypeSync(DomNodeType nodeType, IEqualityComparer<DomNode> comparer, SyncFunc syncFunc)
 {
     m_nodeType = nodeType;
     m_comparer = comparer;
     m_syncFunc = syncFunc;
 }