/// <summary> /// Gets the area change process. /// </summary> /// <param name="type">The type.</param> /// <param name="flags">The flags.</param> /// <param name="party">The party.</param> /// <param name="previous">The previous.</param> /// <returns></returns> private Process GetAreaChangeProcess(AreaType type, Flags flags, Party party, Page previous) { return(new Process( type.GetDescription(), "Move to this area.", () => { flags.CurrentArea = type; previous.Invoke(); previous.AddText(string.Format("Moved to {0}.", type.GetDescription())); } )); }
/// <summary> /// Gets the area change process. /// </summary> /// <param name="type">The type.</param> /// <param name="flags">The flags.</param> /// <param name="party">The party.</param> /// <param name="previous">The previous.</param> /// <returns></returns> private Process GetAreaChangeProcess(AreaType type, Flags flags, Party party, Page previous) { return(new Process( type.GetDescription(), AreaList.AREA_SPRITES[type], "Move to this area.", () => { flags.ShouldAdvanceTimeInCamp = true; flags.CurrentArea = type; // Manually update camp details previous.Icon = AreaList.AREA_SPRITES[type]; // Won't update soon enough previous.Location = type.GetDescription(); Battle.DoPageTransition(previous); previous.AddText(string.Format("Moved to {0}.", type.GetDescription())); } )); }
public override Page GetPage(int dungeonIndex, int areaTotalStageCount, Flags flags, IEnumerable <Character> party, Page camp, Page quests, AreaType type) { return(new Dungeon( party, camp, quests, camp, StageName, string.Format("Selected stage {0} of {1}:\n{2}.\n\nEnter?", (int)type, type.GetDescription(), StageName ), Encounters, () => { flags.ShouldAdvanceTimeInCamp = true; OnStageClear(areaTotalStageCount, type, flags, dungeonIndex); } ).Root); }