示例#1
0
        //________________NEW CHARACTERS____________________________________________________
        //New character to dataset, sort by initiative
        public void NewCharacters()
        {
            DatasetCharacter.Clear(); //clear DatasetCharacter even if blank

            var datasett = CharactersViewModel.Instance.Dataset;

            List <Character> SortedCharacterList = new List <Character>();

            foreach (var data in datasett) //place current partylist created into a list for sorting
            {
                if (DatasetCharacter.Count < 6)
                {
                    Character _character = new Character(data); //character copy
                    _character.Id = Guid.NewGuid().ToString();  //sets new ID for coppy character
                    SortedCharacterList.Add(_character);        //sorts character to lst for sorting
                }
            }
            var newlist = SortedCharacterList.OrderByDescending(s => s.Speed).ThenByDescending(n => n.Name).ToList(); //sort character

            foreach (var _character in newlist)                                                                       //loop to add sortedlistcharacters to dataset
            {
                _character.Id = Guid.NewGuid().ToString();
                DatasetCharacter.Add(_character);
                Debug.WriteLine(_character.Name + " added in  Battle view newcharacters()");         //shows inserts
            }
            Debug.WriteLine(DatasetCharacter.Count.ToString() + " current cout of datsetcharacter"); //debug display
        }
示例#2
0
        //execute manual
        private async Task  ExecuteLoadDataCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                DatasetMonster.Clear();
                DatasetCharacter.Clear();
                MonstersViewModel.Instance.newRoundMonsters(); // call new instance of monster

                var datasett = CharactersViewModel.Instance.Dataset;

                battleInstance.setViewModel();
                refreshMonster();//adds new monsters

                //Load Characters from party
                List <Character> SortedCharacterList = new List <Character>();
                foreach (var data in PartyList) //place current partylist created into a list for sorting
                {
                    var mydata = datasett.FirstOrDefault(arg => arg.Id == data);

                    if (mydata.Id == data)
                    {
                        Character _character = new Character(mydata); //character copy
                        _character.Id = Guid.NewGuid().ToString();    //sets new ID for coppy character
                        SortedCharacterList.Add(_character);          //sorts character to lst for sorting
                    }
                }
                var newlist = SortedCharacterList.OrderByDescending(s => s.Speed + s.StatModifier(AttributeEnum.Speed)).ThenByDescending(n => n.Name).ToList(); //sort character
                DatasetCharacter.Clear();                                                                                                                       //clear DatasetCharacter even if blank
                foreach (var _character in newlist)                                                                                                             //loop to add sortedlistcharacters to dataset
                {
                    DatasetCharacter.Add(_character);
                }
                //Load Characters and Monster turns
                battleInstance.GetMonsters();
                Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getmonsters");
                battleInstance.GetCharacters();
                Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getcharacters");
                battleInstance.LoadTurnOrder(); //at start of execution load battle turns for initial battle
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#3
0
        //______________________SPEED COMPARE___________________________________________________
        //Checks sorted character speed
        public void SpeedCheck()
        {
            List <Character> SortedCharacterList = new List <Character>();

            foreach (var data in DatasetCharacter)
            {
                SortedCharacterList.Add(data);
                Debug.WriteLine(data.Name + " <--name  speed->> " + data.Speed + "  " + data.StatModifier(AttributeEnum.Speed) + " <--speed modifier");
            }
            var newlist = SortedCharacterList.OrderByDescending(s => s.Speed + s.StatModifier(AttributeEnum.Speed)).ThenByDescending(n => n.Name).ToList(); //sort character

            DatasetCharacter.Clear();                                                                                                                       //clear DatasetCharacter even if blank
            foreach (var _character in newlist)                                                                                                             //loop to add sortedlistcharacters to dataset
            {
                DatasetCharacter.Add(_character);
            }
        }
示例#4
0
        private async Task ExecuteLoadDataCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                Dataset.Clear();
                DatasetCharacter.Clear();
                var dataset  = BattleViewModel.Instance.Pool;
                var datasett = BattleViewModel.Instance.DatasetCharacter;

                foreach (var data in datasett)
                {
                    DatasetCharacter.Add(data);
                }

                foreach (var data in dataset)
                {
                    Dataset.Add(data);
                }

                Dataset = new ObservableCollection <Item>(Dataset.OrderBy(a => a.Name)
                                                          .ThenBy(a => a.Value)
                                                          .ThenBy(a => a.Attribute)
                                                          .ThenByDescending(a => a.Range)
                                                          .ToList());
            }

            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }

            finally
            {
                IsBusy = false;
            }
        }
示例#5
0
        //execute auto
        private async Task ExecuteLoadDataCommandAuto()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                DatasetMonster.Clear();
                DatasetCharacter.Clear();;

                MonstersViewModel.Instance.newRoundMonsters(); // call new instance of monster
                CharactersViewModel.Instance.FillParty();      //fill party with new characters

                battleInstance.setAutoViewModel();             //auto set of VM
                await Task.Delay(1000);

                NewCharacters();
                Debug.WriteLineIf(DatasetCharacter.Count == 0, "Datset on load is empty for character");

                refreshMonster();//adds new monsters
                Debug.WriteLineIf(DatasetMonster.Count == 0, "Datset on load is empty for Monster");
                await Task.Delay(1000);

                //Load Characters and Monster turns
                battleInstance.GetMonsters();
                Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getmonsters");
                battleInstance.GetCharacters();
                Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getcharacters");
                battleInstance.LoadTurnOrder(); //at start of execution load battle turns for initial battle
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#6
0
        private async Task ExecuteLoadDataCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                DatasetMonster.Clear();
                DatasetCharacter.Clear();

                var dataset = await DataStore.GetPartyAsync_Monster(true);

                var datasett = await DataStore.GetPartyAsync_Character(true);

                foreach (var data in dataset)
                {
                    DatasetMonster.Add(data);
                }
                foreach (var data in datasett)
                {
                    DatasetCharacter.Add(data);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }