void PrizeManage(AwardCard card) { if (card.prizeID == 1)//dice { AwardDice(card.diceID, card.prizeAmount); } }
void DisplayCard(AwardCard card) { Debug.Log("in display " + card.prizeID); canShow = false; awardAmount.text = card.prizeAmount.ToString(); if (card.prizeID == 0) { DisplayCoin(); } if (card.prizeID == 1) { DisplayDice(card.diceID); } if (card.prizeID == 2) { DisplayGem(); } cardsToDisplay.RemoveAt(0); // cardPanel.SetActive(false); }
void CheckPrize(AwardCard card) { if (card.prizeID == 2) { UpdateGemAMount(card.prizeAmount); } }
void CheckPrize(AwardCard card) { if (card.prizeID == 0) { CoinAMountChange(card.prizeAmount); } }
/// <summary> /// Method overridden to send card in team after awarding badge. /// </summary> /// <param name="turnContext">Context object containing information cached for a single turn of conversation with a user.</param> /// <param name="action">Messaging extension action commands.</param> /// <param name="cancellationToken">Propagates notification that operations should be canceled.</param> /// <returns>A task that represents the work queued to execute.</returns> protected override async Task <MessagingExtensionActionResponse> OnTeamsMessagingExtensionSubmitActionAsync( ITurnContext <IInvokeActivity> turnContext, MessagingExtensionAction action, CancellationToken cancellationToken) { var activity = turnContext.Activity as Activity; var badgeDetails = JsonConvert.DeserializeObject <ViewBadge>(action.Data.ToString()); var awardRecipients = badgeDetails.AwardRecipients.ToList(); var awardedBy = badgeDetails.AwardedBy; // Get team members in Team. var teamsDetails = turnContext.Activity.TeamsGetTeamInfo(); var channelMembers = await TeamsInfo.GetTeamMembersAsync(turnContext, teamsDetails.Id, cancellationToken); for (var recipientCount = 0; recipientCount < badgeDetails.AwardRecipients.Count; recipientCount++) { var memberEmail = badgeDetails.AwardRecipients[recipientCount]; badgeDetails.AwardRecipients[recipientCount] = channelMembers.Where(member => member.Email == memberEmail).Select(member => member.Name).FirstOrDefault(); } badgeDetails.AwardedBy = channelMembers.Where(member => member.Email == badgeDetails.AwardedBy).Select(member => member.Name).FirstOrDefault(); var channelData = activity.GetChannelData <TeamsChannelData>(); var conversationParameters = new ConversationParameters { Activity = (Activity)MessageFactory.Attachment(AwardCard.GetAwardBadgeAttachment(badgeDetails)), Bot = activity.Recipient, IsGroup = true, ChannelData = channelData, TenantId = channelData.Tenant.Id, }; // Get activity for mentioning members who are awarded with badge. var mentionActivity = await this.GetMentionActivityAsync(awardRecipients, awardedBy, turnContext, cancellationToken); await this.botAdapter.CreateConversationAsync( "msteams", turnContext.Activity.ServiceUrl, this.microsoftAppCredentials, conversationParameters, async (newTurnContext, newCancellationToken) => { await this.botAdapter.ContinueConversationAsync( this.microsoftAppCredentials.MicrosoftAppId, newTurnContext.Activity.GetConversationReference(), async(conversationTurnContext, conversationCancellationToken) => { mentionActivity.ApplyConversationReference(conversationTurnContext.Activity.GetConversationReference()); await conversationTurnContext.SendActivityAsync(mentionActivity, conversationCancellationToken); }, newCancellationToken); }, cancellationToken).ConfigureAwait(false); return(default);
void AddToCards(AwardCard card) { Debug.Log("card addd: " + card.prizeID); cardsToDisplay.Add(card); if (startedDisplay == false) { DisplayCard(cardsToDisplay[0]); cardPanel.SetActive(true); startedDisplay = true; } }
List <AwardCard> GenerateDice(int diceNum, int cardNum, List <DiceFullDesign> diceList, DiceRareness rareness) { List <AwardCard> newCards = new List <AwardCard>(); if (diceNum > 0 && cardNum > 0) { for (int i = 0; i < cardNum; i++) { AwardCard temp = new AwardCard(); temp.prizeID = 1; temp.diceRareness = rareness; int index = Random.Range(0, diceList.Count); temp.diceID = diceList[index].diceID; diceList.RemoveAt(index); temp.prizeAmount = 1; newCards.Add(temp); } diceNum -= cardNum; while (diceNum > 0) { foreach (var item in newCards) { int rand = Random.Range(0, 2); if (rand > 0) { item.prizeAmount++; diceNum--; } if (diceNum <= 0) { break; } } } } return(newCards); }
void GenerateChestAward(SaveableChest chest) { ChestType chestType = chest.chestType; Prize prize = new Prize(); prize.awardCards = new List <AwardCard>(); int normalDiceNum = Random.Range(awardGenerate.lowerNormalDiceNum[(int)chestType], awardGenerate.higherNormalDiceNum[(int)chestType] + 1); int rareDiceNum = Random.Range(awardGenerate.lowerRareDiceNum[(int)chestType], awardGenerate.higherRareDiceNum[(int)chestType] + 1); int talismDiceNum = Random.Range(awardGenerate.lowerTalismDiceNum[(int)chestType], awardGenerate.higherTalismDiceNum[(int)chestType] + 1); int coinNum = Random.Range(awardGenerate.lowerCoinNum[(int)chestType], awardGenerate.higherCoinNum[(int)chestType] + 1); int gemNum = Random.Range(awardGenerate.lowerGemNum[(int)chestType], awardGenerate.higherGemNum[(int)chestType] + 1); int normalCardNum = Random.Range(awardGenerate.normalLowDiceCard[(int)chestType], awardGenerate.normalHighDiceCard[(int)chestType] + 1); int rareCardNum = Random.Range(awardGenerate.rareLowDiceCard[(int)chestType], awardGenerate.rareHighDiceCard[(int)chestType] + 1); int talismCardNum = Random.Range(awardGenerate.talismLowDiceCard[(int)chestType], awardGenerate.talismHighDiceCard[(int)chestType] + 1); if (coinNum > 0) { AwardCard temp = new AwardCard(); temp.prizeID = 0; temp.prizeAmount = coinNum; prize.awardCards.Add(temp); OnAwardReceived(temp); } List <DiceFullDesign> dicesTemp = new List <DiceFullDesign>(); foreach (var item in normalDices.diceFullDesigns) { dicesTemp.Add(item); } List <AwardCard> temp2 = (GenerateDice(normalDiceNum, normalCardNum, dicesTemp, DiceRareness.Normal)); foreach (var item in temp2) { prize.awardCards.Add(item); OnAwardReceived(item); } dicesTemp = new List <DiceFullDesign>(); foreach (var item in rareDices.diceFullDesigns) { dicesTemp.Add(item); } temp2 = (GenerateDice(rareDiceNum, rareCardNum, dicesTemp, DiceRareness.Rare)); foreach (var item in temp2) { OnAwardReceived(item); prize.awardCards.Add(item); } dicesTemp = new List <DiceFullDesign>(); foreach (var item in talismanDices.diceFullDesigns) { dicesTemp.Add(item); } temp2 = (GenerateDice(talismDiceNum, talismCardNum, dicesTemp, DiceRareness.Talisman)); foreach (var item in temp2) { OnAwardReceived(item); prize.awardCards.Add(item); } if (gemNum > 0) { AwardCard temp = new AwardCard(); temp.prizeID = 2; temp.prizeAmount = gemNum; prize.awardCards.Add(temp); OnAwardReceived(temp); } }