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); }
/// <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; }
public SyncTask request(int playerId, EventContext requestContext, float timeout, SyncAction onTimeout, SyncFunc <bool> isValidResponse) { return(request(new int[] { playerId }, requestContext, timeout, onTimeout, isValidResponse, false)); }
public SyncTask requestAny(int[] playersId, EventContext requestContext, float timeout, SyncAction onTimeout, SyncFunc <bool> isValidResponse = null) { return(request(playersId, requestContext, timeout, onTimeout, isValidResponse, true)); }
/// <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; }