private async Task <DialogTurnResult> FindEvents(WaterfallStepContext sc, CancellationToken cancellationToken) { var userState = await UserAccessor.GetAsync(sc.Context, () => new EventSkillUserState()); var location = userState.Location; List <Event> events = await _eventbriteService.GetEventsAsync(location); List <Card> cards = new List <Card>(); foreach (var item in events) { var eventCardData = new EventCardData() { Title = item.Name.Text, ImageUrl = item?.Logo?.Url ?? " ", StartDate = item.Start.Local.ToString("dddd, MMMM dd, h:mm tt"), Location = GetVenueLocation(item), Price = item.IsFree ? "Free" : "Starts at " + Convert.ToDouble(item.TicketAvailability.MinTicketPrice.MajorValue) .ToString("C", System.Globalization.CultureInfo.GetCultureInfo(item.Locale.Replace("_", "-"))), Url = item.Url }; cards.Add(new Card(GetCardName(sc.Context, "EventCard"), eventCardData)); } await sc.Context.SendActivityAsync(ResponseManager.GetCardResponse(FindEventsResponses.FoundEvents, cards, null)); return(await sc.EndDialogAsync()); }
private void LoadEventCardsXml(string pathName, List <EventCardData> list) { string path = "Config"; string text = ResourcesManager.Instance.LoadConfig(path, pathName).text; XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(text); XmlNode root = xmlDoc.SelectSingleNode("Card"); XmlNodeList nodeList = root.ChildNodes; foreach (XmlNode node in nodeList) { XmlNode id = node.SelectSingleNode("id"); XmlNode name = node.SelectSingleNode("name"); XmlNode Des = node.SelectSingleNode("Des"); XmlNode spriteName = node.SelectSingleNode("spriteName"); EventCardData data = new EventCardData(); data.id = CommonHelper.Str2Int(id.InnerText); data.name = name.InnerText; data.Des = Des.InnerText; data.spriteName = spriteName.InnerText; list.Add(data); } }
public void NewChance(GamePlayer gplayer) { EventCardData temp = LocalKansData[0]; this.EventNotification = gplayer.MyPlayer.PlayerName + " trekt een kans kaart"; this.EventNotification = gplayer.MyPlayer.PlayerName + " : " + temp.Description; this._activeEventCard = temp; GameFunctions.HandleCardEvent(gplayer, LocalKansData[0]); LocalKansData.Remove(temp); LocalKansData.Add(temp); }
public EventCardData GetlistDataById(int id) { EventCardData data = null; for (int i = 0; i < CollectionCardList.Count; i++) { if (CollectionCardList[i].id == id) { data = CollectionCardList[i]; break; } } return(data); }
public static void HandleCardEvent(GamePlayer gPlayer, EventCardData Card) { if (Card.IsPrison) { toJail(gPlayer); } else if (Card.IsEscapePrison) { if (Card.Type == "kans") { gPlayer.HasEscapePrisonCh = true; gPlayer.MyState.ModifyPrisonCard(true, false); } else { gPlayer.HasEscapePrisonCo = true; gPlayer.MyState.ModifyPrisonCard(false, false); } } else if (Card.IsLocationChangeBW) { if (Card.SoftLocation > 0) { gPlayer.Location -= (byte)Card.SoftLocation; BoardEffect(gPlayer, gPlayer.MyState); } else { updateLocation(gPlayer, (int)Card.HardLocation, true); } } else if (Card.IsLocationChangeFW) { if (Card.SoftLocation > 0) { updateLocation(gPlayer, (int)Card.SoftLocation); } else { if (gPlayer.Location > (int)Card.HardLocation) { int temp = (40 - gPlayer.Location) + (int)Card.HardLocation; updateLocation(gPlayer, temp); } else { updateLocation(gPlayer, (int)Card.HardLocation, true); } } } else if (Card.IsChanceChoice) { gPlayer.MyState.ChanceChoice = true; } else if (Card.CashChange != 0) { if (Card.IsGlobal) { foreach (var item in gPlayer.MyState.PlayerList) { item.Cash -= Card.CashChange; gPlayer.Cash += Card.CashChange; } } else if (Card.IsPayHouse) { int temp = 0; foreach (var item in gPlayer.PlayerProperty) { temp += item.HouseLevel; } gPlayer.Cash -= temp * Card.CashChange; } else { gPlayer.Cash += Card.CashChange; } } }