Exemple #1
0
        public ActionResult BuyField(string id, string returnUrl)
        {
            Character      character      = db.Characters.Where(x => x.ApplicationUserID == id).FirstOrDefault();
            CharacterField characterField = new CharacterField {
                CharacterID = character.CharacterID, FinishDate = DateTime.MaxValue, isFinished = false, IsEmpty = true
            };

            character.CharacterMoney -= 300;
            db.CharacterFields.Add(characterField);
            db.SaveChanges();

            return(Redirect(returnUrl));
        }
    /// <summary>
    /// Get the player to edit and set slot fields.
    /// </summary>
    private void GetPlayer(Player player)
    {
        this.player       = player;
        interactText.text = interactionText;

        for (int i = 0; i < (int)PlayerParts.Count; i++)
        {
            CharacterField field = fields.Find(x => (int)x.GetPart() == i);
            if (field != null)
            {
                field.SetTarget(player.GetPart((PlayerParts)i));
            }
        }
    }
Exemple #3
0
        /// <summary>
        /// キャラクター一覧のコンテキストメニューで削除を選択したとき
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DeleteCharacterMenu_Click(object sender, RoutedEventArgs e)
        {
            var item = (string)CharacterListView.SelectedItem;

            if (item == null)
            {
                return;
            }
            selectedTitle.Characters.Remove(item);
            CharacterListView.Items.Remove(item);
            CharacterField.Clear();
            selectedCharacter      = null;
            selectedCharacterIndex = -1;
        }
        public ActionResult HarvestField(int fieldID, int plantID, string returnUrl)
        {
            CharacterField field     = db.CharacterFields.Find(fieldID);
            Plant          plant     = db.Plants.Find(plantID);
            Character      character = db.Characters.Where(x => x.ApplicationUserID == User.Identity.Name).FirstOrDefault();

            field.PlantID    = 0;
            field.IsEmpty    = true;
            field.isFinished = false;

            character.CharacterMoney += plant.PlantRewardCoin;
            character.CharacterFood  += plant.PlantRewardFood;
            var result = new MissionsController().HarvestMission(plantID, User.Identity.Name);

            db.SaveChanges();

            return(Redirect(returnUrl));
        }
Exemple #5
0
        /// <summary>
        /// プリセットを開く
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OpenMenuClick(object sender, RoutedEventArgs e)
        {
            titleListView.Items.Clear();

            selectedTitle      = null;
            selectedTitleIndex = -1;
            selectedCharacter  = null;
            selectedTitleIndex = -1;

            // ダイアログを開く
            var dialog = new Microsoft.Win32.OpenFileDialog
            {
                // フィルタ
                Filter      = "JSONファイル(*.json)|*.json",
                FilterIndex = 1
            };

            if (dialog.ShowDialog() == true)
            {
                IsEnabled = false;
                ReadJson(dialog.FileName);
                IsEnabled = true;
            }

            if (presets == null)
            {
                return;
            }

            // タイトルバーに開いているファイル名を設定する
            Title = dialog.SafeFileName + " - PresetManager";

            // TextBoxをクリアする
            TitleField.Clear();
            ExplainField.Clear();
            CharacterField.Clear();

            foreach (var preset in presets)
            {
                titleListView.Items.Add(preset.Title);
            }
        }
        public ActionResult PlantOnField(int fieldID, int plantID)
        {
            CharacterField field     = db.CharacterFields.Find(fieldID);
            Inventory      invPlant  = db.Inventories.Where(x => x.ItemID == plantID).FirstOrDefault();
            Character      character = db.Characters.Where(x => x.ApplicationUserID == User.Identity.Name).FirstOrDefault();
            Plant          plant     = db.Plants.Find(plantID);

            if (invPlant.ItemPieces > 0)
            {
                field.PlantID    = plantID;
                field.isFinished = false;
                field.IsEmpty    = false;
                invPlant.ItemPieces--;
                field.FinishDate = DateTime.Now.AddSeconds(plant.PlantGrowTime);

                db.SaveChanges();
            }

            return(RedirectToAction("Details", "Characters", new { id = User.Identity.Name }));
        }
Exemple #7
0
        /// <summary>
        /// タイトル一覧の行が選択されたときの処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TitleListViewSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var index = titleListView.SelectedIndex;

            if (index < 0)
            {
                return;
            }
            // 選択項目を保持する
            selectedTitle      = presets[index];
            selectedTitleIndex = index;

            TitleField.Text   = selectedTitle.Title;
            ExplainField.Text = selectedTitle.Explain;
            CharacterField.Clear();

            // キャラクターの表示
            CharacterListView.Items.Clear();
            foreach (var character in selectedTitle.Characters)
            {
                CharacterListView.Items.Add(character);
            }
        }