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; } }
// 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; } }
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>(); }
/// <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(); }
public CatCommand(CatGenerator generator, TextWriter writer) : base("cat", "cat <directoryPath> # downloads cat") { this.generator = generator; this.writer = writer; }