示例#1
0
    private void DrawSingleItem(ImageCard imageCard, System.Action callback)
    {
        string key = this._fileUtility.GetCompanykeyByIndex(CompanyIndex);

        FileUtility.ImageData picked_imageData = this._fileUtility.GetRandomImageByTag(key, true);

        if (FileUtility.IsImageValid(picked_imageData))
        {
            _fileUtility.MarkPrizeDrawPrivilege(picked_imageData, true);

            int   total_generate_num = _settingData.draw_flip_num;
            float period             = _settingData.draw_flip_period;

            float totalTime = (total_generate_num * period) + period;

            RandomGenerateImage(imageCard, key, total_generate_num, period, 0);

            _ = UtilityMethod.DoDelayWork(totalTime, () =>
            {
                SetImageCard(imageCard, picked_imageData);
                callback();
            });
        }
        else
        {
            callback();
        }
    }
示例#2
0
 private void FlipCard(ImageCard cardClicked)
 {
     try
     {
         _numberOfMovementsAllowed--;
         int cardIndex = _imageCards.IndexOf(cardClicked);
         _cardsFlippedInCurrentTurn.Add(cardClicked);
         PlayerMovementDto playerMovementDto = new PlayerMovementDto()
         {
             Host           = MatchHost,
             Username       = Sesion.GetSesion.Username,
             CardIndex      = cardIndex,
             MovementsLeft  = _numberOfMovementsAllowed,
             HasFormedAPair = _playerHasFormedAPair
         };
         if (_numberOfMovementsAllowed == 0 && HasFormedAPair())
         {
             playerMovementDto.HasFormedAPair = true;
         }
         _matchServiceClient.NotifyCardWasUncoveredd(playerMovementDto);
     }
     catch (EndpointNotFoundException)
     {
         MessageBox.Show(Properties.Langs.Resources.ServerConnectionLost);
     }
     catch (TimeoutException)
     {
         MessageBox.Show(Properties.Langs.Resources.ServerTimeoutError);
     }
     catch (CommunicationException)
     {
         MessageBox.Show(Properties.Langs.Resources.CommunicationInterrupted);
     }
 }
示例#3
0
    private ImageCard GetImageCard()
    {
        ImageCard imageCard = PoolManager.instance.ReuseObject(PoolingID.ImageCard).GetComponent <ImageCard>();

        UtilityMethod.InsertObjectToParent(transform, imageCard.gameObject);

        return(imageCard);
    }
示例#4
0
        private void GetClickedCard(object sender, EventArgs e)
        {
            ImageCard cardClicked             = ((ImageCard)sender);
            bool      cardHasNotBeenFlipped   = cardClicked.Source != cardClicked.FrontImage;
            bool      playerStillHasMovements = _numberOfMovementsAllowed > 0;

            if (cardHasNotBeenFlipped && playerStillHasMovements)
            {
                FlipCard(cardClicked);
                EndMovement();
            }
        }
示例#5
0
        private void AddImage_Click(object sender, RoutedEventArgs e)
        {
            var c = new ImageCard();

            ImageCards.Add(c);
            c.Show();
            c.OnClosedCalled += (s, args) =>
            {
                ImageCard card = (ImageCard)s;
                ImageCards.Remove(card);
                card.Close();
            };
        }
示例#6
0
    private void GenerateImageWall()
    {
        if (!isEnable)
        {
            return;
        }

        //Find if any new image is being added
        fileUtility.LoadAllImagesFromFolder();

        //_ScreenSize = new Vector2(Screen.width, Screen.height );
        Vector2 cardSize = new Vector2(card_width, card_height);

        Debug.Log("_ScreenSize " + _ScreenSize);

        int maxCardCol = Mathf.FloorToInt((_ScreenSize.x + LineSpace) / cardSize.x) - 1;
        int maxCardRow = Mathf.FloorToInt((_ScreenSize.y + LineSpace) / cardSize.y);

        maxCardCol = Mathf.Clamp(maxCardCol, maxCardCol, this.MaxColumn);
        maxCardRow = Mathf.Clamp(maxCardRow, maxCardRow, this.MaxRow);

        float centerX = 0, centerY = 0;
        float startX = centerX - ((maxCardCol - 1) * cardSize.x * 0.5f + ((maxCardCol - 1) * LineSpace * 0.5f)),
              startY = centerY + ((maxCardRow - 1) * cardSize.y * 0.5f + ((maxCardRow - 1) * LineSpace * 0.5f));

        Debug.Log("maxCardCol " + maxCardCol + ", maxCardRow" + maxCardRow);
        Debug.Log("maxCardWidth " + (maxCardCol * cardSize.x) + ", maxCardHeight" + (maxCardRow * cardSize.y));

        for (int x = 0; x < maxCardCol; x++)
        {
            for (int y = 0; y < maxCardRow; y++)
            {
                ImageCard             g_card = GetImageCard();
                float                 delayTime = Random.Range(0.1f, maxPerImageDelayTime);
                float                 posX = startX + (cardSize.x * x) + (x * LineSpace), posY = startY - (cardSize.y * y) - (y * LineSpace);
                FileUtility.ImageData randomImage = fileUtility.GetRandomImage(true);

                if (FileUtility.IsImageValid(randomImage))
                {
                    //imagecard_list.Add(g_card);
                    g_card.imageData = randomImage;
                    PrintImageOnScreen(delayTime, posX, posY, randomImage, g_card);
                }
            }
        }

        var task = UtilityMethod.DoDelayWork(maxPerImageDelayTime + 0.1f, () =>
        {
            OnImageWallShowComplete();
        }, cancelToken.Token);
    }
示例#7
0
    private async void FadeSingleImage(float delayTime, ImageCard imageCard)
    {
        Vector2 targetPos = Vector2.zero;

        await UtilityMethod.DoDelayWork(delayTime, () =>
        {
            imageCard.DORestart();
            imageCard.background.DOFade(0, fadeInOutTime);
            imageCard.rawImage.DOFade(0, fadeInOutTime);
            imageCard.rectTransform.DOAnchorPos(targetPos, fadeInOutTime).OnComplete(() => {
                imageCard.rawImage.enabled = false;

                PoolManager.instance.Destroy(imageCard.gameObject);
            });
        }, cancelToken.Token);
    }
示例#8
0
    private void SetImageCard(ImageCard imageCard, FileUtility.ImageData imageData)
    {
        _textureUtility.GetTexture(imageData.url, (Sprite texture) =>
        {
            if (texture == null)
            {
                return;
            }
            imageCard.rawImage.preserveAspect = true;
            imageCard.rawImage.enabled        = true;
            imageCard.rawImage.sprite         = texture;
        });

        imageCard.company_title.text   = GetCompanyFullName(imageData.company_name);
        imageCard.personnel_title.text = imageData.title_name;
    }
示例#9
0
    private void RandomGenerateImage(ImageCard imageCard, string company_key, int total_generate_num, float period, int current_generate_num)
    {
        if (current_generate_num >= total_generate_num)
        {
            return;
        }

        FileUtility.ImageData imageData = this._fileUtility.GetRandomImageByTag(company_key, false);

        if (FileUtility.IsImageValid(imageData))
        {
            SetImageCard(imageCard, imageData);

            current_generate_num += 1;

            _ = UtilityMethod.DoDelayWork(period, () =>
            {
                RandomGenerateImage(imageCard, company_key, total_generate_num, period, current_generate_num);
            });
        }
    }
示例#10
0
        /*
         * Sort the deserialized cards to a randomized list in the
         * order 'Social -> Image -> Social -> Quote' (if possible)
         */
        private List <BaseCard> SortCards(Cards cards)
        {
            cards.Socials = cards.Socials.OrderBy(a => Guid.NewGuid()).ToList();
            cards.Quotes  = cards.Quotes.OrderBy(a => Guid.NewGuid()).ToList();
            cards.Images  = cards.Images.OrderBy(a => Guid.NewGuid()).ToList();

            List <BaseCard> sortedCards = new List <BaseCard>();

            while (cards.Images.Count + cards.Quotes.Count + cards.Socials.Count > 0)
            {
                if (cards.Socials.Count > 0)
                {
                    SocialCard social = cards.Socials[0];
                    sortedCards.Add(social);
                    cards.Socials.Remove(social);
                }
                if (cards.Images.Count > 0)
                {
                    ImageCard image = cards.Images[0];
                    sortedCards.Add(image);
                    cards.Images.Remove(image);
                }
                if (cards.Socials.Count > 0)
                {
                    SocialCard social = cards.Socials[0];
                    sortedCards.Add(social);
                    cards.Socials.Remove(social);
                }
                if (cards.Quotes.Count > 0)
                {
                    QuoteCard quote = cards.Quotes[0];
                    sortedCards.Add(quote);
                    cards.Quotes.Remove(quote);
                }
            }
            return(sortedCards);
        }
示例#11
0
    private async void PrintImageOnScreen(float delayTime, float posX, float posY, FileUtility.ImageData imageData, ImageCard imageCard)
    {
        imageCard.rectTransform.anchoredPosition = new Vector2(posX, posY);
        imageCard.rawImage.enabled = false;
        imageCard.rawImage.color   = new Color(1, 1, 1, 0);
        imageCard.background.color = new Color(imageCard.background.color.r, imageCard.background.color.g, imageCard.background.color.b, 0);

        await UtilityMethod.DoDelayWork(delayTime, () =>
        {
            textureUtility.GetTexture(imageData.url, (Sprite texture) =>
            {
                if (imageCard == null)
                {
                    return;
                }
                imageCard.background.enabled      = true;
                imageCard.rawImage.enabled        = true;
                imageCard.rawImage.sprite         = texture;
                imageCard.rawImage.preserveAspect = true;

                imageCard.rawImage.DOFade(1, fadeInOutTime);
                imageCard.background.DOFade(1, fadeInOutTime);

                fileUtility.MarkImageVisibility(imageCard.imageData, false);
            });
        }, cancelToken.Token);
    }
示例#12
0
        public MainWindow()
        {
            InitializeComponent();

            try
            {
                ImageCards = JsonConvert.DeserializeObject <List <ImageCard.Properties> >(File.ReadAllText("Images.json")).Select(p => new ImageCard()
                {
                    CardProperties = p
                }).ToList();
            }
            catch
            {
                ImageCards = new List <ImageCard>();
            }
            try
            {
                ModelCards = JsonConvert.DeserializeObject <List <ModelCard.Properties> >(File.ReadAllText("Models.json")).Select(p => new ModelCard()
                {
                    CardProperties = p
                }).ToList();
            }
            catch
            {
                ModelCards = new List <ModelCard>();
            }
            try
            {
                NoteCards = JsonConvert.DeserializeObject <List <NoteCard.Properties> >(File.ReadAllText("Notes.json")).Select(p => new NoteCard()
                {
                    CardProperties = p
                }).ToList();
            }
            catch
            {
                NoteCards = new List <NoteCard>();
            }
            try
            {
                AlarmCards = JsonConvert.DeserializeObject <List <AlarmCard.Properties> >(File.ReadAllText("Alarms.json")).Select(p => new AlarmCard()
                {
                    CardProperties = p
                }).ToList();
            }
            catch
            {
                AlarmCards = new List <AlarmCard>();
            }
            try
            {
                CheckListCards = JsonConvert.DeserializeObject <List <CheckListCard.Properties> >(File.ReadAllText("CheckLists.json")).Select(p => new CheckListCard()
                {
                    CardProperties = p
                }).ToList();
            }
            catch
            {
                CheckListCards = new List <CheckListCard>();
            }

            ImageCards.ForEach((c) => {
                c.Show(); c.OnClosedCalled += (s, e) =>
                {
                    ImageCard card = (ImageCard)s;
                    ImageCards.Remove(card);
                    card.Close();
                };
            });
            ModelCards.ForEach((c) => {
                c.Show(); c.OnClosedCalled += (s, e) =>
                {
                    ModelCard card = (ModelCard)s;
                    ModelCards.Remove(card);
                    card.Close();
                };
            });
            NoteCards.ForEach((c) => {
                c.Show(); c.OnClosedCalled += (s, e) =>
                {
                    NoteCard card = (NoteCard)s;
                    NoteCards.Remove(card);
                    card.Close();
                };
            });
            AlarmCards.ForEach((c) => {
                c.Show(); c.OnClosedCalled += (s, e) =>
                {
                    AlarmCard card = (AlarmCard)s;
                    AlarmCards.Remove(card);
                    card.Close();
                };
            });
            CheckListCards.ForEach((c) => {
                c.Show(); c.OnClosedCalled += (s, e) =>
                {
                    CheckListCard card = (CheckListCard)s;
                    CheckListCards.Remove(card);
                    card.Close();
                };
            });

            Notifier.MouseDown += Notifier_MouseDown;;
            Notifier.Icon       = System.Drawing.SystemIcons.Application;

            Notifier.Text = "VCards";

            Notifier.Visible = true;

            try
            {
                Theme theme = JsonConvert.DeserializeObject <Theme>(File.ReadAllText("Theme.json"));

                dark = theme.NightMode;

                ThemeOpacity = theme.Opacity;

                new PaletteHelper().SetLightDark(dark);
                new PaletteHelper().ReplacePalette(theme.Pallete);

                OnOpacityChanged(ThemeOpacity);
            }
            catch { }
        }
        public async Task GetTask(IDialogContext context, IAwaitable <IMessageActivity> result)
        {
            try
            {
                var userResponse = await result;

                var channel = context.Activity.ChannelId;

                var shoppingListId = context.UserData.GetValue <Guid>("CurrentShoppingListId");

                var shoppingItems = new List <ShoppingItemDto>()
                {
                    new ShoppingItemDto()
                    {
                        CategoryId  = 3034,
                        Color       = Pin.Gray,
                        Description = "pasta",
                        Id          = context.UserData.Get <Guid>("CurrentShoppingListId")
                    },
                    new ShoppingItemDto()
                    {
                        CategoryId  = 3034,
                        Color       = Pin.Gray,
                        Description = "vino",
                        Id          = context.UserData.Get <Guid>("CurrentShoppingListId")
                    },
                    new ShoppingItemDto()
                    {
                        CategoryId  = 3034,
                        Color       = Pin.Gray,
                        Description = "pizza",
                        Id          = context.UserData.Get <Guid>("CurrentShoppingListId")
                    }
                };

                var luisResult = await LuisHelper.GetIntentAndEntitiesFromLUIS(userResponse.Text);

                var showLabel = false;

                switch (luisResult.TopScoringIntent.Intent)
                {
                case LuisIntent.Yes:
                case LuisIntent.No:
                {
                    if (luisResult.TopScoringIntent.Intent == LuisIntent.Yes)
                    {
                        showLabel = true;

                        switch (channel)
                        {
                        case "facebook":
                            var facebookSender        = new SendFacebookTemplate(context);
                            var imageFacebookTemplate = new ImageFacebookTemplate($"image.jpeg", false).GetTemplate();
                            await facebookSender.Send(imageFacebookTemplate);

                            break;

                        default:
                            var defaultSender = new SendCardToConversation(context);
                            var imageCard     = new ImageCard($"image.jpeg");
                            await defaultSender.SendCard(imageCard);

                            break;
                        }
                    }

                    if (shoppingItems.Count == 0)
                    {
                        await context.PostAsync(MessagesResource.EmptyShoppingList);
                    }
                    else
                    {
                        await context.PostAsync(MessagesResource.ShowShoppingListReview);

                        var sb = new StringBuilder();

                        foreach (var item in shoppingItems)
                        {
                            var label = $"{(!string.IsNullOrEmpty(item.Label) ? "[" + item.Label + "] " : string.Empty)}";

                            sb.Append($"{(showLabel ? label : string.Empty)}{item.Description}" + "\n\n");
                        }

                        await context.PostAsync(sb.ToString());
                    }

                    context.Call(_dialogFactory.Create <OpeningHoursDialog>(), Callback);

                    break;
                }

                default:
                {
                    var handler = new HandleUserIncorrectInput(context);

                    if (handler.CheckCounterErrors())
                    {
                        await handler.UserErrorLimitExceeded();

                        context.Call(_dialogFactory.Create <GreetingDialog>(), Callback);
                    }
                    else
                    {
                        await context.PostAsync(MessagesResource.CourtesyChooseError);

                        var sender = new SendCorrectYesOrNoCard(context);
                        await sender.Send(MessagesResource.AskIfWantSeePosition);

                        context.Wait(GetTask);
                    }
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                await context.PostAsync(MessagesResource.CourtesyError);

                context.Call(_dialogFactory.Create <GreetingDialog>(), Callback);
            }
        }