Example #1
0
    void Start()
    {
        cc2d         = GetComponent <CapsuleCollider2D>();
        catgene      = GameObject.Find("CatGenerator").GetComponent <CatGenerator>();
        GameDirector = GameObject.Find("GameDirector").GetComponent <GameDirector>();
        sr           = GetComponent <SpriteRenderer>();
        sr.color     = new Color(1.0f, 1.0f, 1.0f, 0f);
        //猫の速度判定
        GameObject gameDirector = GameObject.Find("GameDirector");
        int        catC         = gameDirector.GetComponent <GameDirector>().catCount;

        if (catC == 3)
        {
            catLife = 1f;
            catTransparencySpeed = 1f;
        }
        else if (catC == 2)
        {
            catLife = 0.75f;
            catTransparencySpeed = 1.3f;
        }
        else
        {
            catLife = 0.6f;
            catTransparencySpeed = 1.6f;
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        CatGenerator cg       = gaugeButton.GetComponent <CatGenerator>();
        int          genGauge = cg.getGenGauge();

        if (genGauge == cg.getMaxGauge())
        {
            GetComponent <Slider>().value = 1f;
        }
        else
        {
            GetComponent <Slider>().value = (float)(genGauge % 100) / 100;
        }
    }
Example #3
0
 public string DownloadCatTo(string directoryPath)
 => CatGenerator.DownloadCatTo(directoryPath);
 public CatGenerateHandler(CatGenerator generator)
 {
     this.generator = generator;
 }
 // Use this for initialization
 void Start()
 {
     platformWidth     = thePlatform.GetComponent <BoxCollider2D>().size.x;
     thePizzaGenerator = FindObjectOfType <PizzaGenerator> ();
     theCatGenerator   = FindObjectOfType <CatGenerator>();
 }
Example #6
0
        /// <summary>
        ///     Подія, яка додає певну кількість елементів у БД
        ///     Кількість елементів береться із текстового поля
        /// </summary>
        /// <param name="sender">Кнопка, яка згенерувала подію</param>
        /// <param name="e">Параметри обєкта</param>
        private async void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            //  Метод, який скидає налаштування обєкту ManualResetEvent
            this.Resume();
            //  Асинхронний делегат, який додає елементи у БД
            await Task.Run(() => {
                //  Використання обєкту транзакцій
                //  Цей обєкт записує усі зміни БД у одну транзакцію
                //  Завдяки цьому обєкту можна скасувати транзакцію
                //  після викликання SaveChanges(), завдяки методу Rollback(),
                //  який скасовує транзакцію
                using (IDbContextTransaction t = this._context.Database.BeginTransaction())
                {
                    //  Створення прапорця, який повідомляє чи коректно введені дані
                    bool isCorrect = false;
                    Dispatcher.Invoke(() => {
                        //  Встановлення значення. Чи валідні дані
                        isCorrect = string.IsNullOrEmpty((this.DataContext as WindowElement).Error);
                    });
                    //  Якщо дані валідні
                    if (isCorrect)
                    {
                        //  Отримання кількості елементів, що необхідно додати
                        int count = int.Parse(_windowElement.Count);
                        //  Встановлення блокування кнопки і максимального значення для ProgressBar
                        //  за допомогою Dispatcher, оскільки елементи вікна привязані до одного потоку
                        //  і не можуть бути змінені з другого потоку
                        Dispatcher.Invoke(() => {
                            this.btnAdd.IsEnabled = false;
                            this.pbCats.Maximum   = count;
                        });
                        //  Цикл, який додає дані у БД
                        for (int i = 0; i < count; i++)
                        {
                            //  Перевірка чи не скасована операція
                            if (this.IsCancel)
                            {
                                break;
                            }
                            //  Викликання методу WaitOne(), який очікує
                            //  метода Set(), що відновлює роботу потоку
                            //  По замовчанню викликаєтсья метод Set()
                            resetEvent.WaitOne();
                            //  Встановлення значення кнопки і значення для ProgressBar
                            //  за допомогою Dispatcher, оскільки елементи вікна привязані до одного потоку
                            //  і не можуть бути змінені з другого потоку
                            Dispatcher.Invoke(() => {
                                this.btnAdd.Content = (i + 1).ToString();
                                this.pbCats.Value   = (i + 1);
                            });


                            /// Додавання кота у БД
                            //  Генерація кота за допомогою Bogus
                            CatModel cat = CatGenerator.GetCat();
                            //  Формування обєкту AppCat, для подільшого додавання у БД
                            var dbCat = new EFEntities.AppCat
                            {
                                Name     = cat.Name,
                                Birthday = cat.Birthday,
                                ImgUrl   = cat.ImgUrl
                            };
                            //  Додавання нового обєкту у БД (Дані привязуються до транзакцію)
                            this._context.Cats.Add(dbCat);
                            ///

                            /// Додавання ціни у БД
                            //  Додавання ціни для нового кота і додавання його у БД (Дані привязуються до транзакції)
                            this._context.CatPrices.Add(new EFEntities.AppPrice {
                                DateCreate = DateTime.Now,
                                Cat        = dbCat,
                                Price      = cat.Price
                            });
                            ///
                            //  Зупинка потоку на 0.2 секунди
                            Thread.Sleep(200);
                        }
                        //  Встановлення розблокування кнопки і тексту для кнопки (відновлення поперднього тексту)
                        //  за допомогою Dispatcher, оскільки елементи вікна привязані до одного потоку
                        //  і не можуть бути змінені з другого потоку
                        Dispatcher.Invoke(() => {
                            this.btnAdd.IsEnabled = true;
                            this.btnAdd.Content   = "Додати котів";
                        });
                    }
                    //  Збереження даних однією транзакцією у БД
                    _context.SaveChanges();
                    //  Дані налаштування викликаються лише після SaveChanges() (Після проведення операції)
                    if (!this.IsCancel)
                    {
                        //  Метод, який зберігає усі зміни БД
                        t.Commit();
                    }
                    else
                    {
                        //  Метод, який скасовує транзакцію
                        t.Rollback();
                    }
                    //  Скидання прапорця, який відповідає за скасування
                    //  додавання котів у БД
                    this.IsCancel = false;
                }
            });

            //  Асинхронний метод який заповнює DataGrid даними
            await FillDataGrid();
        }
Example #7
0
 public CatCommand(CatGenerator generator, TextWriter writer)
     : base("cat", "cat <directoryPath>      # downloads cat")
 {
     this.generator = generator;
     this.writer    = writer;
 }