Ejemplo n.º 1
0
        private void gridCodes_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var item = gridCodes.SelectedItem;

            if (item != null && item is SingleEntry)
            {
                SingleEntry entry = item as SingleEntry;
                txtAddress.Text        = entry.Address.ToString("x8");
                txtValue.Text          = entry.Value.ToString("x8");
                chkRandomUcm.IsChecked = entry.IsRandomUCM;
                RandomizerValue eR = entry.eRand;
                switch (eR)
                {
                case RandomizerValue.Enemy:
                    rdEnemy.IsChecked = true;
                    break;

                case RandomizerValue.Boss:
                    rdBoss.IsChecked = true;
                    break;

                case RandomizerValue.Any:
                    rdAny.IsChecked = true;
                    break;

                default:
                    break;
                }
            }
        }
Ejemplo n.º 2
0
 public SingleEntry(SerializationInfo info, StreamingContext ctxt)
 {
     Address     = (int)info.GetValue("Address", typeof(int));
     Value       = (int)info.GetValue("Value", typeof(int));
     IsRandomUCM = (bool)info.GetValue("RandomUcm", typeof(bool));
     eRand       = (RandomizerValue)info.GetValue("RandomizerType", typeof(RandomizerValue));
 }
Ejemplo n.º 3
0
        public void Add(int address, int value, bool bRandom, RandomizerValue eRand)
        {
            SingleEntry en = new SingleEntry();

            en.Address     = address;
            en.Value       = value;
            en.IsRandomUCM = bRandom;
            en.eRand       = eRand;
            _entries.Add(en);
        }
Ejemplo n.º 4
0
        private void btnAddCode_Click(object sender, RoutedEventArgs e)
        {
            if (_trigger == null)
            {
                _trigger = new Trigger();
            }
            if (txtAddress.Text == string.Empty)
            {
                return;
            }
            int             addr  = Convert.ToInt32(txtAddress.Text, 16);
            int             val   = 0;
            RandomizerValue eRand = RandomizerValue.Undefined;

            if (chkRandomUcm.IsChecked == true)
            {
                if (rdEnemy.IsChecked == true)
                {
                    eRand = RandomizerValue.Enemy;
                }
                else if (rdBoss.IsChecked == true)
                {
                    eRand = RandomizerValue.Boss;
                }
                else if (rdAny.IsChecked == true)
                {
                    eRand = RandomizerValue.Any;
                }

                val = GetRandomUCM(eRand);
            }
            else
            {
                if (txtValue.Text == string.Empty)
                {
                    return;
                }
                val = Convert.ToInt32(txtValue.Text, 16);
            }

            if (chkRandomUcm.IsChecked == true)
            {
                _trigger.CodeEntries.Add(addr, val, chkRandomUcm.IsChecked ?? false, eRand);
            }
            else
            {
                _trigger.CodeEntries.Add(addr, val, chkRandomUcm.IsChecked ?? false);
            }
            Update();
        }
Ejemplo n.º 5
0
        private List <GameObject> FromTable(EncounterData data)
        {
            var table = new RandomizerTable(data.UnitTable.Count);

            foreach (var episodeUnitData in data.UnitTable.Units)
            {
                var value = new RandomizerValue <int>(
                    episodeUnitData.UnitId,
                    episodeUnitData.Probability,
                    episodeUnitData.IsUnique,
                    episodeUnitData.IsGuaranteed,
                    episodeUnitData.IsEnabled
                    );

                table.Add(value);
            }

            return(table.Evaluate()
                   .OfType <RandomizerValue <int> >()
                   .Select(value => value.Value)
                   .Select(unitId => this.unitRepository.Find(unitId))
                   .ToList());
        }
Ejemplo n.º 6
0
        private int GetRandomUCM(RandomizerValue eRand)
        {
            Random rnd = new Random();

            switch (eRand)
            {
            case RandomizerValue.Boss:
                goto getBoss;

            case RandomizerValue.Enemy:
                goto getEnemy;

            case RandomizerValue.Any:
                int x = rnd.Next(0, 2);
                if (x == 0)
                {
                    goto getBoss;
                }
                else
                {
                    goto getEnemy;
                }

            default:
                return(0);
            }
getBoss:
            int i = rnd.Next(0, WorldInfo.dictBosses.Count);

            return(WorldInfo.dictBosses.ElementAt(i).Key);

getEnemy:
            int j = rnd.Next(0, WorldInfo.dictEnemies.Count);

            return(WorldInfo.dictEnemies.ElementAt(j).Key);
        }