Ejemplo n.º 1
0
        private void ExportMonster(MonsterViewModel monsterViewModel)
        {
            Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog.Filter   = "Word Document|*.docx|XML Document|*.xml";
            saveFileDialog.Title    = "Save Monster";
            saveFileDialog.FileName = monsterViewModel.Name;

            if (saveFileDialog.ShowDialog() == true)
            {
                try
                {
                    string ext = System.IO.Path.GetExtension(saveFileDialog.FileName);

                    if (ext == ".docx")
                    {
                        _documentService.CreateWordDoc(saveFileDialog.FileName, monsterViewModel.MonsterModel);
                    }
                    else if (ext == ".xml")
                    {
                        string xml = _xmlExporter.FormatXMLWithHeader(_xmlExporter.GetXML(monsterViewModel.MonsterModel));
                        System.IO.File.WriteAllText(saveFileDialog.FileName, xml, System.Text.Encoding.UTF8);
                    }
                    else
                    {
                        _dialogService.ShowConfirmationDialog("Unable To Export", "Invalid file extension.", "OK", null, null);
                    }
                }
                catch (Exception)
                {
                    _dialogService.ShowConfirmationDialog("Unable To Export", "An error occurred when attempting to export the monster.", "OK", null, null);
                }
            }
        }
    public void UpdateState(MonsterViewModel viewModel)
    {
        if (follower == null)
        {
            follower = GetComponent <PathFollower>();
        }
        if (attacher == null)
        {
            attacher = GetComponent <PrefabAttacher>();
            attacher.AttachPrefab();
            healthBar = attacher.GetInstance().GetComponent <Bar>();
            healthBar.pointsImage
                = attacher.
                  GetInstance().
                  transform.Find("Health").
                  GetComponent <Image>();
        }

        healthBar.UpdateState(viewModel.Health, viewModel.MaxHealth);

        follower.movementSpeed = viewModel.Speed;
        if (viewModel.IsDead)
        {
            FlyingTextSpawner.SpawnGoldEarned(viewModel.KillReward, gameObject);
            Destroy(gameObject);
        }
    }
Ejemplo n.º 3
0
        private void EditMonster(MonsterViewModel monster)
        {
            _editMonsterXML = monster.XML;

            OnPropertyChanged(nameof(EditingMonsterXML));
            OnPropertyChanged(nameof(IsEditingMonster));
        }
Ejemplo n.º 4
0
        private void SelectPrevious()
        {
            if (_monsters.Any())
            {
                MonsterListItemViewModel selected = _monsters.FirstOrDefault(x => x.IsSelected);

                foreach (MonsterListItemViewModel monster in _monsters)
                {
                    monster.IsSelected = false;
                }

                if (selected == null)
                {
                    _monsters[_monsters.Count - 1].IsSelected = true;
                    _selectedMonster = new MonsterViewModel(_monsters[_monsters.Count - 1].MonsterModel);
                }
                else
                {
                    int index = Math.Max(_monsters.IndexOf(selected) - 1, 0);
                    _monsters[index].IsSelected = true;
                    _selectedMonster            = new MonsterViewModel(_monsters[index].MonsterModel);
                }

                OnPropertyChanged(nameof(SelectedMonster));
            }
        }
        /// <summary>
        /// Constructor for Create makes a new model
        /// </summary>
        public MonCreatePage(MonsterViewModel data)
        {
            InitializeComponent();

            data.Data = new MonsterModel();

            BindingContext = this.ViewModel = data;
        }
Ejemplo n.º 6
0
        public void Setup()
        {
            // Initilize Xamarin Forms
            MockForms.Init();

            // Add each model here to warm up and load it.
            Game.Helpers.DataSetsHelper.WarmUp();

            ViewModel = MonsterViewModel.Instance;
        }
Ejemplo n.º 7
0
        public MonsterViewModel AddMonster(MonsterViewModel monster)
        {
            var monsterToAdd = MonsterMapper.MapModelToEntity(monster);

            monsterToAdd.CreatedBy = "Test";
            monsterToAdd.SeedData  = false;
            var addedMonster = _monsterRepository.Add(monsterToAdd);

            return(MonsterMapper.MapEntityToModel(addedMonster));
        }
Ejemplo n.º 8
0
        public MonsterViewModel UpdateMonster(int id, MonsterViewModel monster)
        {
            var originalMonster = _monsterRepository.GetById(id);

            MonsterMapper.MapModelToEntity(monster, originalMonster);
            originalMonster.ModifiedBy = "UpdateMonster";
            var updatedMonster = _monsterRepository.Update(originalMonster);

            return(MonsterMapper.MapEntityToModel(updatedMonster));
        }
Ejemplo n.º 9
0
 public ActionResult Edit(int id, MonsterViewModel monster)
 {
     try
     {
         // TODO: Add update logic here
         monsterLogic.EditMonster(MonsterViewModel.Map(monster));
         return(RedirectToAction("Index", new { id = id }));
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 10
0
 public ActionResult Create(MonsterViewModel monster)
 {
     try
     {
         // TODO: Add insert logic here
         monsterLogic.CreateMonster(MonsterViewModel.Map(monster));
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 11
0
 public ActionResult Delete(int id, MonsterViewModel monster)
 {
     try
     {
         // TODO: Add delete logic here
         monsterLogic.DeleteMonster(MonsterViewModel.Map(monster));
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Shows details dialog
        /// </summary>
        public void ShowDetailsDialog(MonsterViewModel monsterViewModel)
        {
            ModalDialog modalDialog = new ModalDialog();

            if (_parentWindow != null)
            {
                modalDialog.Owner = _parentWindow;
            }

            modalDialog.WindowTitle = monsterViewModel.Name;
            modalDialog.Body        = new DetailsView(monsterViewModel);

            ShowDialog(modalDialog);
        }
Ejemplo n.º 13
0
        private void SelectMonster(MonsterListItemViewModel monster)
        {
            bool selectMonster = true;

            if (_editMonsterXML != null)
            {
                if (_editHasUnsavedChanges)
                {
                    string body = String.Format("{0} has unsaved changes.{1}What would you like to do?",
                                                _selectedMonster.Name, Environment.NewLine + Environment.NewLine);
                    string accept = "Save and Continue";
                    string reject = "Discard Changes";
                    string cancel = "Cancel Navigation";
                    bool?  result = _dialogService.ShowConfirmationDialog("Unsaved Changes", body, accept, reject, cancel);

                    if (result == true)
                    {
                        if (!SaveEditMonster())
                        {
                            selectMonster = false;
                        }
                    }
                    else if (result == false)
                    {
                        CancelEditMonster();
                    }
                    else
                    {
                        selectMonster = false;
                    }
                }
                else
                {
                    CancelEditMonster();
                }
            }

            if (selectMonster)
            {
                foreach (MonsterListItemViewModel item in _monsters)
                {
                    item.IsSelected = false;
                }
                monster.IsSelected = true;

                _selectedMonster = new MonsterViewModel(monster.MonsterModel);
                OnPropertyChanged(nameof(SelectedMonster));
            }
        }
Ejemplo n.º 14
0
        public IActionResult Index()
        {
            var viewModel = new MonsterViewModel {
                CategorySelectListItems = Enum.GetValues(typeof(MonsterCategory))
                                          .OfType <MonsterCategory>()
                                          .Select(category => category.ToSelectListItem()),
                Form = new MonsterFormModel {
                    Id       = 1,
                    Category = MonsterCategory.Slime,
                    Name     = "スライム"
                },
            };

            return(View(viewModel));
        }
    public override void UpdateView()
    {
        MonsterViewModel viewModel = new MonsterViewModel();

        viewModel.Speed      = Model.MovementComp.Speed.Points;
        viewModel.IsDead     = Model.HealthComp.IsDead;
        viewModel.MaxHealth  = Model.HealthComp.Health.MaxPoints;
        viewModel.Health     = Model.HealthComp.Health.Points;
        viewModel.KillReward = (new RegularPriceList()).GetPrice(Model.Type);

        if (View != null)
        {
            View.UpdateState(viewModel);
        }
    }
Ejemplo n.º 16
0
 public void MonsterDialogForm_Load(object sender, EventArgs e)
 {
     MonsterVM = new MonsterViewModel(new Creature());
     setBindings();
 }
Ejemplo n.º 17
0
        private void Copy()
        {
            if (_selectedMonster != null)
            {
                bool copyMonster = true;

                if (_editMonsterXML != null)
                {
                    if (_editHasUnsavedChanges)
                    {
                        string body = String.Format("{0} has unsaved changes.{1}What would you like to do?",
                                                    _selectedMonster.Name, Environment.NewLine + Environment.NewLine);
                        string accept = "Save and Continue";
                        string reject = "Discard Changes";
                        string cancel = "Cancel Navigation";
                        bool?  result = _dialogService.ShowConfirmationDialog("Unsaved Changes", body, accept, reject, cancel);

                        if (result == true)
                        {
                            if (!SaveEditMonster())
                            {
                                copyMonster = false;
                            }
                        }
                        else if (result == false)
                        {
                            CancelEditMonster();
                        }
                        else
                        {
                            copyMonster = false;
                        }
                    }
                    else
                    {
                        CancelEditMonster();
                    }
                }

                if (copyMonster)
                {
                    MonsterModel newMonster = new MonsterModel(_selectedMonster.MonsterModel);
                    newMonster.Name += " (copy)";
                    newMonster.Id    = Guid.NewGuid();
                    newMonster.XML   = newMonster.XML.Replace("<name>" + _selectedMonster.MonsterModel.Name + "</name>",
                                                              "<name>" + newMonster.Name + "</name>");

                    _compendium.AddMonster(newMonster);

                    if (_monsterSearchService.SearchInputApplies(_monsterSearchInput, newMonster))
                    {
                        MonsterListItemViewModel listItem = new MonsterListItemViewModel(newMonster, _stringService);
                        _monsters.Add(listItem);
                        foreach (MonsterListItemViewModel item in _monsters)
                        {
                            item.IsSelected = false;
                        }
                        listItem.IsSelected = true;
                    }

                    _selectedMonster = new MonsterViewModel(newMonster);

                    SortMonsters();

                    _compendium.SaveMonsters();

                    OnPropertyChanged(nameof(SelectedMonster));
                }
            }
        }
Ejemplo n.º 18
0
        private bool SaveEditMonster()
        {
            bool saved = false;

            try
            {
                MonsterModel model = _xmlImporter.GetMonster(_editMonsterXML);

                if (model != null)
                {
                    model.Id = _selectedMonster.MonsterModel.Id;
                    _compendium.UpdateMonster(model);
                    _selectedMonster = new MonsterViewModel(model);

                    MonsterListItemViewModel oldListItem = _monsters.FirstOrDefault(x => x.MonsterModel.Id == model.Id);
                    if (oldListItem != null)
                    {
                        if (_monsterSearchService.SearchInputApplies(_monsterSearchInput, model))
                        {
                            oldListItem.UpdateModel(model);
                        }
                        else
                        {
                            _monsters.Remove(oldListItem);
                        }
                    }

                    _editMonsterXML        = null;
                    _editHasUnsavedChanges = false;

                    SortMonsters();

                    _compendium.SaveMonsters();

                    OnPropertyChanged(nameof(SelectedMonster));
                    OnPropertyChanged(nameof(EditingMonsterXML));
                    OnPropertyChanged(nameof(IsEditingMonster));
                    OnPropertyChanged(nameof(HasUnsavedChanges));

                    saved = true;
                }
                else
                {
                    string message = String.Format("Something went wrong...{0}{1}{2}{3}",
                                                   Environment.NewLine + Environment.NewLine,
                                                   "The following are required:",
                                                   Environment.NewLine,
                                                   "-name");
                    _dialogService.ShowConfirmationDialog("Unable To Save", message, "OK", null, null);
                }
            }
            catch (Exception ex)
            {
                string message = String.Format("Something went wrong...{0}{1}",
                                               Environment.NewLine + Environment.NewLine,
                                               ex.Message);
                _dialogService.ShowConfirmationDialog("Unable To Save", message, "OK", null, null);
            }

            return(saved);
        }
        // Constructor for Delete takes a view model of what to delete
        public MonDeletePage(MonsterViewModel data)
        {
            InitializeComponent();

            BindingContext = this.ViewModel = data;
        }
Ejemplo n.º 20
0
 // GET: Monster/Delete/5
 public ActionResult Delete(int id)
 {
     return(View(MonsterViewModel.Map(monsterLogic.GetMonsterById(id))));
 }
Ejemplo n.º 21
0
        // GET: Monster
        public ActionResult Index()
        {
            List <MonsterViewModel> monsters = MonsterViewModel.Map(monsterLogic.GetMonsters());

            return(View(monsters));
        }
Ejemplo n.º 22
0
 // GET: Monster/Compare
 public ActionResult Compare()
 {
     return(View(MonsterViewModel.Map(monsterLogic.GetMonsters())));
 }
 public MonstersInTheNextBattle()
 {
     InitializeComponent();
     BindingContext = ViewModel = MonsterViewModel.Instance;
 }
Ejemplo n.º 24
0
 public static Monster MapModelToEntity(MonsterViewModel monster)
 {
     return(Mapper.Map <Monster>(monster));
 }
Ejemplo n.º 25
0
 public static void MapModelToEntity(MonsterViewModel monster, Monster monsterEntity)
 {
     Mapper.Map(monster, monsterEntity);
 }
Ejemplo n.º 26
0
        public async Task <IHttpActionResult> Post([FromBody] MonsterViewModel monster)
        {
            var addedMonster = await Task.Run(() => _monsterService.AddMonster(monster));

            return(CreatedAtRoute("GetMonsterById", new { id = addedMonster.Id }, monster));
        }
Ejemplo n.º 27
0
        private void Add()
        {
            bool addMonster = true;

            if (_editMonsterXML != null)
            {
                if (_editHasUnsavedChanges)
                {
                    string body = String.Format("{0} has unsaved changes.{1}What would you like to do?",
                                                _selectedMonster.Name, Environment.NewLine + Environment.NewLine);
                    string accept = "Save and Continue";
                    string reject = "Discard Changes";
                    string cancel = "Cancel Navigation";
                    bool?  result = _dialogService.ShowConfirmationDialog("Unsaved Changes", body, accept, reject, cancel);

                    if (result == true)
                    {
                        if (!SaveEditMonster())
                        {
                            addMonster = false;
                        }
                    }
                    else if (result == false)
                    {
                        CancelEditMonster();
                    }
                    else
                    {
                        addMonster = false;
                    }
                }
                else
                {
                    CancelEditMonster();
                }
            }

            if (addMonster)
            {
                string xml = @"<name>New Monster</name>
									<size></size>
									<type></type>
									<alignment></alignment>
									<ac></ac>
									<hp></hp>
									<speed></speed>
									<str></str>
									<dex></dex>
									<con></con>
									<int></int>
									<wis></wis>
									<cha></cha>
									<save></save>
									<skill></skill>
									<resist></resist>
									<vulnerable></vulnerable>
									<immune></immune>
									<conditionImmune></conditionImmune>
									<senses></senses>
									<passive></passive>
									<languages></languages>
									<cr></cr>
									<trait>
										 <name></name>
										 <text></text>
									</trait>
									<action>
										 <name></name>
										 <text></text>
										 <attack></attack>
									</action>
									<legendary>
										 <name></name>
										 <text></text>
									</legendary>
									<spells></spells>
									<slots></slots>
									<environment></environment>"                                    ;

                MonsterModel monsterModel = _xmlImporter.GetMonster(xml);

                _compendium.AddMonster(monsterModel);

                if (_monsterSearchService.SearchInputApplies(_monsterSearchInput, monsterModel))
                {
                    MonsterListItemViewModel listItem = new MonsterListItemViewModel(monsterModel, _stringService);
                    _monsters.Add(listItem);
                    foreach (MonsterListItemViewModel item in _monsters)
                    {
                        item.IsSelected = false;
                    }
                    listItem.IsSelected = true;
                }

                _selectedMonster = new MonsterViewModel(monsterModel);

                _editMonsterXML = monsterModel.XML;

                SortMonsters();

                _compendium.SaveMonsters();

                OnPropertyChanged(nameof(EditingMonsterXML));
                OnPropertyChanged(nameof(IsEditingMonster));
                OnPropertyChanged(nameof(SelectedMonster));
            }
        }
Ejemplo n.º 28
0
        public async Task <IHttpActionResult> Put(int id, [FromBody] MonsterViewModel monster)
        {
            var updatedMonster = await Task.Run(() => _monsterService.UpdateMonster(id, monster));

            return(Ok(updatedMonster));
        }
 /// <summary>
 /// Base Constructor for item index page
 /// </summary>
 public MonsterIndexPage()
 {
     InitializeComponent();
     BindingContext = ViewModel = MonsterViewModel.Instance;
 }
Ejemplo n.º 30
0
        private void Delete()
        {
            if (_selectedMonster != null)
            {
                bool canDelete = true;

                foreach (CharacterModel character in _compendium.Characters)
                {
                    foreach (CompanionModel companion in character.Companions)
                    {
                        if (companion.MonsterModel != null && companion.MonsterModel.Id == _selectedMonster.MonsterModel.Id)
                        {
                            canDelete = false;
                            break;
                        }
                    }

                    if (!canDelete)
                    {
                        break;
                    }
                }

                if (canDelete)
                {
                    foreach (EncounterModel encounter in _compendium.Encounters)
                    {
                        foreach (EncounterMonsterModel encounterMonster in encounter.Creatures.Where(x => x is EncounterMonsterModel))
                        {
                            if (encounterMonster.MonsterModel != null && encounterMonster.MonsterModel.Id == _selectedMonster.MonsterModel.Id)
                            {
                                canDelete = false;
                                break;
                            }
                        }

                        if (!canDelete)
                        {
                            break;
                        }
                    }
                }

                if (canDelete)
                {
                    string message = String.Format("Are you sure you want to delete {0}?",
                                                   _selectedMonster.Name);

                    bool?result = _dialogService.ShowConfirmationDialog("Delete Monster", message, "Yes", "No", null);

                    if (result == true)
                    {
                        _compendium.DeleteMonster(_selectedMonster.MonsterModel.Id);

                        MonsterListItemViewModel listItem = _monsters.FirstOrDefault(x => x.MonsterModel.Id == _selectedMonster.MonsterModel.Id);
                        if (listItem != null)
                        {
                            _monsters.Remove(listItem);
                        }

                        _selectedMonster = null;

                        _compendium.SaveMonsters();

                        OnPropertyChanged(nameof(SelectedMonster));

                        if (_editMonsterXML != null)
                        {
                            CancelEditMonster();
                        }
                    }
                }
                else
                {
                    _dialogService.ShowConfirmationDialog("Unable Delete Monster", "Monster is in use by a character or encounter.", "OK", null, null);
                }
            }
        }