private async Task Pagination(DiscordMessage message, int pageNum) { var result = await Interactivity.WaitForReactionAsync(react => { if (react.Message.Id != message.Id) { return(false); } if (!LeftRightStop().Contains(react.Emoji.Name)) { return(false); } return(IsValidUser(react.User, react.Guild)); }, Timeout); if (result.TimedOut) { FinalAction?.Invoke(message); return; } var newPageNum = pageNum; var e = result.Result.Emoji.Name; if (e == Left) { if (newPageNum > 1) { newPageNum--; } } else if (e == Right) { if (newPageNum < Pages) { newPageNum++; } } else if (e == Stop) { FinalAction?.Invoke(message); return; } await result.Result.Message.DeleteReactionAsync(result.Result.Emoji, result.Result.User); var m = await message.ModifyAsync(embed : RenderPage(newPageNum)); await Pagination(m, newPageNum); }
IEnumerator Anim(FinalAction finalAction, Object[] args) { if (sl.IsEmpty() == false) { for (float i = 0; i <= actionTime; i += frameRate) { tilemap.SetTile(tilemap.WorldToCell(mb.transform.position), sl.GetNext()); yield return(new WaitForSeconds(frameRate)); } sl.Reset(); } else { yield return(new WaitForSeconds(actionTime)); } finalAction(args); }
public new System.Object Clone() { var baseDecomp = base.Clone() as Decomposition; var newSubsteps = new List <CamPlanStep>(); foreach (var substep in discourseSubSteps) { var newsubstep = substep.Clone() as CamPlanStep; newsubstep.Action = substep.Action.Clone() as Operator; newSubsteps.Add(newsubstep); } return(new TimelineDecomposition(baseDecomp, fabCntgs.ToList(), discCntgs.ToList(), newSubsteps, fabConstraints.ToList(), discConstraints.ToList(), discOrderings.ToList(), discLinks.ToList(), fabulaActionNameMap.ToDictionary(x => x.Key, x => x.Value)) { InitialActionSeg = InitialActionSeg.Clone(), FinalActionSeg = FinalActionSeg.Clone(), InitialAction = InitialAction.Clone() as IPlanStep, FinalAction = FinalAction.Clone() as IPlanStep, InitialCamAction = InitialCamAction.Clone() as CamPlanStep, FinalCamAction = FinalCamAction.Clone() as CamPlanStep }); }
// Token: 0x06000377 RID: 887 RVA: 0x0001142A File Offset: 0x0000F62A public RetrySchedule(FinalAction finalAction, TimeSpan timeToGiveUp, params TimeSpan[] retryIntervals) { this.finalAction = finalAction; this.timeToGiveUp = timeToGiveUp; this.retryIntervals = retryIntervals; }
private async Task Pagination(DiscordMessage message, int pageNum) { var result = await Interactivity.WaitForReactionAsync(react => { if (react.Message.Id != message.Id) { return(false); } if (LeftRightStop().Contains(react.Emoji.Name)) { return(IsValidUser(react.User, react.Guild)); } if (BigLeftRight().Contains(react.Emoji.Name)) { return(BulkSkipNumber > 1 && IsValidUser(react.User, react.Guild)); } return(false); }, Timeout); if (result.TimedOut) { FinalAction?.Invoke(message); return; } var newPageNum = pageNum; var e = result.Result.Emoji.Name; if (e == Left) { if (newPageNum == 1 && WrapPageEnds) { newPageNum = Pages + 1; } if (newPageNum > 1) { newPageNum--; } } else if (e == Right) { if (newPageNum == Pages && WrapPageEnds) { newPageNum = 0; } if (newPageNum < Pages) { newPageNum++; } } else if (e == BigLeft) { if (newPageNum > 1 || WrapPageEnds) { for (int i = 1; (newPageNum > 1 || WrapPageEnds) && i < BulkSkipNumber; i++) { if (newPageNum == 1 && WrapPageEnds) { newPageNum = Pages + 1; } newPageNum--; } } } else if (e == BigRight) { if (newPageNum < Pages || WrapPageEnds) { for (int i = 1; (newPageNum < Pages || WrapPageEnds) && i < BulkSkipNumber; i++) { if (newPageNum == Pages && WrapPageEnds) { newPageNum = 0; } newPageNum++; } } } else if (e == Stop) { FinalAction?.Invoke(message); return; } await result.Result.Message.DeleteReactionAsync(result.Result.Emoji, result.Result.User); var m = await message.ModifyAsync(content : Text?.Invoke(pageNum, Pages), embed : RenderPage(newPageNum)); await Pagination(m, newPageNum); }
public void StartAnim(FinalAction finalAction, Object[] args) { mb.StartCoroutine(Anim(finalAction, args)); }