Inheritance: MonoBehaviour
Exemplo n.º 1
0
 // Use this for initialization
 void Start()
 {
     creatureList      = new CreatureList();
     UIPanelDictionary = new Dictionary <Creature, GameObject>();
     PopulateStore(creatureList);
     uiManager = GameObject.FindGameObjectWithTag("UIManager").GetComponent <UIManager>();
 }
Exemplo n.º 2
0
 public void RemoveCreaturFromWorld(Entities entity)
 {
     if (CreatureList.Count > 0 && CreatureList.Count != 0)
     {
         CreatureList.Remove(entity);
     }
 }
Exemplo n.º 3
0
        void Window_Loaded(object sender, RoutedEventArgs e)
        {
            using (var conn = new MySqlConnection(Settings.Default.ConnectionString))
            {
                conn.Open();
                using (var command = new MySqlCommand("select entry, name from creature_template", conn))
                {
                    var reader = command.ExecuteReader();
                    CreatureList.Clear();

                    while (reader.Read())
                    {
                        CreatureList.Add(new CreatureEntry {
                            Id   = reader.GetInt32(0),
                            Name = reader.GetString(1)
                        });
                    }

                    if (Id != 0)
                    {
                        var entry = CreatureList.FirstOrDefault(x => x.Id == Id);
                        list.SelectedItem = entry;
                        list.ScrollIntoView(entry);
                    }
                }
            }
        }
Exemplo n.º 4
0
        public void Update()
        {
            foreach (Creature newParent in ParentList)
            {
                CreatureList.Add(new Creature(this, newParent));
            }
            ParentList.Clear();

            // 当たり判定用にどこにいるかを登録
            foreach (Creature creature in CreatureList.Where(x => x.Existence == true))
            {
                Land.AddCList(creature.Position, creature);
            }

            // Creatureの更新
            bool isTimeToUpdate = (++timer % timerMax) == 0;

            if (isTimeToUpdate)
            {
                foreach (Creature creature in CreatureList.Where(x => x.Existence == true))
                {
                    creature.Update();
                }
            }
            foreach (Creature creature in CreatureList.Where(x => x.Existence == true))
            {
                creature.Move();
            }
            hasTimerUpdated = false;

            // 消去フラグの立った生物は削除
            CreatureList.RemoveAll(x => x.Existence == false);

            TimeCount++;
        }
        public CreatureListDTO(CreatureList source)
        {
            creatures = new List <CreatureDTO>();

            foreach (Creature creature in source)
            {
                creatures.Add(new CreatureDTO(creature));
            }
        }
        void update_list()
        {
            CreatureList.BeginUpdate();

            CreatureList.Groups.Clear();
            CreatureList.Items.Clear();

            List <Creature> creatures = Session.Creatures;

            BinarySearchTree <string> bst = new BinarySearchTree <string>();

            foreach (Creature c in creatures)
            {
                bst.Add(c.Category);
            }

            List <string> cats = bst.SortedList;

            cats.Add("Miscellaneous Creatures");
            foreach (string cat in cats)
            {
                CreatureList.Groups.Add(cat, cat);
            }

            List <ListViewItem> items = new List <ListViewItem>();

            foreach (Creature c in creatures)
            {
                if (!match(c, NameBox.Text))
                {
                    continue;
                }

                if (fCreatures.Contains(c))
                {
                    continue;
                }

                ListViewItem lvi = new ListViewItem(c.Name);
                lvi.SubItems.Add(c.Info);
                lvi.Tag = c;

                if ((c.Category != null) && (c.Category != ""))
                {
                    lvi.Group = CreatureList.Groups[c.Category];
                }
                else
                {
                    lvi.Group = CreatureList.Groups["Miscellaneous Creatures"];
                }

                items.Add(lvi);
            }

            CreatureList.Items.AddRange(items.ToArray());
            CreatureList.EndUpdate();
        }
Exemplo n.º 7
0
        public void WhatIsCreatureDmg()
        {
            var emmy = CreatureList.Select(x => x.Weapon.Damage);

            foreach (var e in emmy)
            {
                Console.WriteLine($"All creatures dmg: {e}");
            }
        }
Exemplo n.º 8
0
 //Experimental
 public void DecreaseAllCreaturesHP(int hp)
 {
     try
     {
         CreatureList.Where(x => x.hitPoints > 0).ToList().ForEach(s => s.hitPoints = hp);
     }
     catch (NullReferenceException e)
     {
         Console.WriteLine(e.Message);
     }
 }
Exemplo n.º 9
0
 void Awake()
 {
     ac           = GetComponent <ActionList>();
     cl           = GetComponent <CreatureList>();
     cmbs         = GetComponent <ComboList>();
     canAddAction = true;
     combosforcheck.Add(deepBreath);
     combosforcheck.Add(standYourGround);
     combosforcheck.Add(flyingKick);
     combosforcheck.Add(uppercut);
 }
Exemplo n.º 10
0
    // Use this for initialization
    void Start()
    {
        creature     = new GameObject();
        textToColors = GetComponentInParent <TextToColors>();
        averageColor = new TextToColors.ColorAverages();

        player      = GameObject.FindGameObjectWithTag("Player");
        dialogueBox = player.GetComponentInChildren <DialogueBox>();

        creatureTypes = GetComponentInParent <CreatureList>();

        //creatureName = "Ratcher";
    }
Exemplo n.º 11
0
        public void Draw()
        {
            foreach (Creature creature in CreatureList.Where(x => x.Existence == true))
            {
                creature.Draw(timer, 1 + TimerMax / 4);
            }
            DX.SetDrawBright(255, 255, 255);

            //生物数を表示
            DX.DrawString(4, Program.Window_Y - 20, (CreatureList.Where(x => x.Alive == true)).Count().ToString() + "/" + CreatureList.Count.ToString(), DX.GetColor(255, 255, 255));

            DX.DrawString(0, 0, (TimeCount / 3600 + 1).ToString() + "年目", DX.GetColor(255, 255, 255));
        }
Exemplo n.º 12
0
    public void AddCreature(CreatureList cList)
    {
        // Check if monster is already in the list.
        foreach (CreatureList creature in activeCreatures)
        {
            if (creature.name == cList.name)
            {
                return;
            }
        }

        // Monster doesn't exist, so add it to the stack.
        activeCreatures.Add(cList);
        SortCreatures();
    }
    public void SetupHealthBar(CreatureList cList, Creature c, int i)
    {
        gameController = GameObject.Find("Game Controller").GetComponent <GameController>();
        creatureList   = cList;
        creature       = c;
        title.text     = creatureList.name;
        num.text       = (i + 1).ToString();
        avatar.sprite  = creatureList.image;

        // Make all conditions visible.
        for (int x = 0; x < allConditions.Length; x++)
        {
            allConditions[x].SetActive(false);
        }
    }
Exemplo n.º 14
0
        void update_creatures()
        {
            CreatureList.Items.Clear();

            foreach (CustomCreature cc in Session.Project.CustomCreatures)
            {
                if (cc == null)
                {
                    return;
                }

                ListViewItem lvi = CreatureList.Items.Add(cc.Name);
                lvi.SubItems.Add("Level " + cc.Level + " " + cc.Role);
                lvi.SubItems.Add(cc.HP + " HP; AC " + cc.AC + ", Fort " + cc.Fortitude + ", Ref " + cc.Reflex + ", Will " + cc.Will);
                lvi.Group = CreatureList.Groups[0];
                lvi.Tag   = cc;
            }

            foreach (NPC npc in Session.Project.NPCs)
            {
                if (npc == null)
                {
                    return;
                }

                ListViewItem lvi = CreatureList.Items.Add(npc.Name);
                lvi.SubItems.Add("Level " + npc.Level + " " + npc.Role);
                lvi.SubItems.Add(npc.HP + " HP; AC " + npc.AC + ", Fort " + npc.Fortitude + ", Ref " + npc.Reflex + ", Will " + npc.Will);
                lvi.Group = CreatureList.Groups[1];
                lvi.Tag   = npc;
            }

            if (CreatureList.Groups[0].Items.Count == 0)
            {
                ListViewItem lvi = CreatureList.Items.Add("(no custom creatures)");
                lvi.Group     = CreatureList.Groups[0];
                lvi.ForeColor = SystemColors.GrayText;
            }

            if (CreatureList.Groups[1].Items.Count == 0)
            {
                ListViewItem lvi = CreatureList.Items.Add("(no NPCs)");
                lvi.Group     = CreatureList.Groups[1];
                lvi.ForeColor = SystemColors.GrayText;
            }

            CreatureList.Sort();
        }
Exemplo n.º 15
0
        public void AddDemonForm()
        {
            Random          rand   = new Random();
            CreautureStates state  = new CreautureStates();
            string          sDemon = "Demon";

            foreach (var c in CreatureList)
            {
                if (c.Description == "Demon")
                {
                    ICreature demon = state.SPawnDemon(rand.Next(0, 9), rand.Next(0, 9));
                    CreatureList.Add(demon);
                }
                throw new ArgumentException("No demons");
            }
        }
Exemplo n.º 16
0
    private void PopulateStore(CreatureList list)
    {
        if (list.Creatures.Count < creatureCount)
        {
            //Fill the list with random creatures of the type we want
            for (int i = 0; i < creatureCount; i++)
            {
                list.AddCreature(CreatureManager.Manager.GetRandomCreature());
            }
        }

        foreach (var creature in creatureList.Creatures)
        {
            GameObject newCreaturePanel = GetCreaturePanel(creature);
            newCreaturePanel.transform.SetParent(StoreListFrame.transform, false);
        }
    }
Exemplo n.º 17
0
        public void Initialize(Land ptrLand, Drawer ptrDrawer)
        {
            Land = ptrLand;

            //ActクラスにCreateCreature用インターフェースポインタを登録
            Act.CreatureMgr = this;
            Act.Land        = Land;

            //仮 Creatureのグラフィックを読み込み
            Creature.LoadGraphic(ptrDrawer);


            //Creatureの登録
            for (int i = 0; i < Program.MaxCreature; i++)
            {
                CreatureList.Add(new Creature(this));
            }
        }
    void SetupRightPage(CreatureList creatureList)
    {
        for (int i = 0; i < 5; i++)
        {
            clone = (GameObject)Instantiate(checkMark, container1);
            clone.GetComponent <CheckMarkGroupController>().num.text       = (i + 1).ToString();
            clone.GetComponent <CheckMarkGroupController>().linkedCreature = creatureList.creature[i];
            clone.GetComponent <CheckMarkGroupController>().creatureList   = creatureList;
            clone.GetComponent <CheckMarkGroupController>().UpdateStatus(creatureList.creature[i].status);
            if (creatureList.stats.isNPC || creatureList.stats.isBoss)
            {
                eliteText.SetActive(false);
                clone.GetComponent <CheckMarkGroupController>().ShowElite(false);
            }
            else
            {
                eliteText.SetActive(true);
                clone.GetComponent <CheckMarkGroupController>().ShowElite(true);
            }
            clone.tag  = "Clone";
            clone.name = "Creature" + (i + 1).ToString();
        }

        for (int j = 5; j < creatureList.creature.Length; j++)
        {
            clone = (GameObject)Instantiate(checkMark, container2);
            clone.GetComponent <CheckMarkGroupController>().num.text       = (j + 1).ToString();
            clone.GetComponent <CheckMarkGroupController>().linkedCreature = creatureList.creature[j];
            clone.GetComponent <CheckMarkGroupController>().creatureList   = creatureList;
            clone.GetComponent <CheckMarkGroupController>().UpdateStatus(creatureList.creature[j].status);
            if (creatureList.stats.isNPC || creatureList.stats.isBoss)
            {
                rightEliteText.SetActive(false);
                clone.GetComponent <CheckMarkGroupController>().ShowElite(false);
            }
            else
            {
                rightEliteText.SetActive(true);
                clone.GetComponent <CheckMarkGroupController>().ShowElite(true);
            }
            clone.tag  = "Clone";
            clone.name = "Creature" + (j + 1).ToString();
        }
    }
Exemplo n.º 19
0
    private void PopulatePlayerInventory(CreatureList list)
    {
        list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Slime));
        list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Slime));

        /*
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Arachnid));
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Avian));
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Canine));
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Demon));
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Dragon));
         * list.AddCreature(CreatureManager.Manager.GetCreatureOfType(CreatureType.Equine));
         */
        foreach (var creature in creatureList.Creatures)
        {
            GameObject newCreaturePanel = CreateCreatureObject(creature);
            newCreaturePanel.transform.SetParent(inventoryList.transform, false);
        }
    }
Exemplo n.º 20
0
        public void PrintCreaturesWithName(string name)
        {
            if (name != null)
            {
                //Obeserver pattern experimental
                _notify($"Checking '{name}'...");
                var selectedCreatures = CreatureList.Where(x => x.Description == name).ToList();

                if (selectedCreatures.Count > 0)
                {
                    _notify($"We found a match!");
                    foreach (var s in selectedCreatures)
                    {
                        Console.WriteLine("Creature names: " + s.Description);
                    }
                }
                throw new ArgumentException("Something went wrong bro");
            }
            throw new NullReferenceException("Name cannot be empty");
        }
Exemplo n.º 21
0
    public void RemoveCreature(CreatureList cList)
    {
        // Pull the list of creatures in creature list, and check if they all have status dead.
        foreach (Creature c in cList.creature)
        {
            if (c.status != Creature.Status.Dead)
            {
                return;
            }
        }

        // if they are, then remove them from the initiative pile.
        for (int i = 0; i < activeCreatures.Count; i++)
        {
            if (activeCreatures[i].name == cList.name)
            {
                activeCreatures.RemoveAt(i);
                SortCreatures();
                return;
            }
        }
    }
    public void SetMonsterList(CreatureList cList)
    {
        creatureList = cList;

        titleL.text = creatureList.name;
        titleR.text = creatureList.name;
        img.GetComponent <Image>().sprite = creatureList.image;

        creatureLevel.currentValue = creatureList.creatureLevel;

        if (creatureList.creature.Length > 6)
        {
            rightPage.SetActive(true);
            img.SetActive(false);
            SetupRightPage(creatureList);
        }
        else
        {
            rightPage.SetActive(false);
            img.SetActive(true);
            SetupLeftPage(creatureList.creature.Length, creatureList);
        }
    }
 public MainWindowViewModel()
 {
     LoadDataFile();
     ViewableCreatures = new ObservableCollection <NPCSpawnModel>(CreatureList.Where(x => !string.IsNullOrEmpty(x.Description)).OrderBy(x => x.Description));
 }
Exemplo n.º 24
0
        public static CreatureList ParseCreatureList(string text)
        {
            // Remove redundant text
            text = text.Replace("unequip item.", "");
            text = text.Replace("equip new item.", "");

            List<string> creatures = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();
            creatures.RemoveAll(s => s.Replace(" ", "").Length < 10); // Remove dummy lines

            CreatureList creatureList = new CreatureList();
            foreach (string creature in creatures)
            {
                try
                {
                    creatureList.Add(ParseCreature(creature));
                }
                catch
                {
                    // Ignore parsing errors
                }
            }

            return creatureList;
        }
Exemplo n.º 25
0
 // Use this for initialization
 void Start()
 {
     instance     = this;
     creatureList = new CreatureList();
     PopulatePlayerInventory(creatureList);
 }
    public void UpdateMonsterStats(CreatureList cList)
    {
        creatureList = cList;

        // CreatureStat normalStats = creatureList.normalStats[gameController.scenarioLevel];

        StatGroup normalStats = creatureList.stats.level[creatureList.creatureLevel].statGroup[0];

        Debug.Log(creatureList.stats.isBoss);

        // Fill stats
        creatureName.text = creatureList.name;
        img.sprite        = creatureList.image;


        // BOSS
        if (creatureList.stats.isBoss || creatureList.stats.isNPC)
        {
            bossPanel.SetActive(true);
            monsterPanel.SetActive(false);

            /*
             * bossWalk.SetActive(!creatureList.stats.canFly);
             * bossFly.SetActive(creatureList.stats.canFly);
             *
             * bossHpTxt.text = (normalStats.health * gameController.numOfCharacters).ToString();
             * bossMpTxt.text = normalStats.move.ToString();
             * // To take into consideration the stupid inox bodyguards...
             * if (normalStats.attack == -1)
             * {
             *  int atk = 0;
             *  switch (creatureList.creatureLevel)
             *  {
             *      case 0:
             *          atk = gameController.numOfCharacters;
             *          break;
             *      case 1:
             *          atk = gameController.numOfCharacters + 1;
             *          break;
             *      case 2:
             *          atk = gameController.numOfCharacters + 1;
             *          break;
             *      case 3:
             *          atk = gameController.numOfCharacters + 2;
             *          break;
             *      case 4:
             *          atk = gameController.numOfCharacters + 2;
             *          break;
             *      case 5:
             *          atk = gameController.numOfCharacters + 3;
             *          break;
             *      case 6:
             *          atk = gameController.numOfCharacters + 3;
             *          break;
             *      case 7:
             *          atk = gameController.numOfCharacters + 4;
             *          break;
             *  }
             *  bossAtkTxt.text = atk.ToString();
             * }
             * else
             * {
             *  bossAtkTxt.text = normalStats.attack.ToString();
             * }
             * bossRngTxt.text = normalStats.range.ToString();
             *
             * Immunity im = creatureList.stats.immunity;
             * // Section for imunity
             * bossCurse.SetActive(im.curse);
             * bossDisarm.SetActive(im.disarm);
             * bossImmobilize.SetActive(im.immobilize);
             * bossPoison.SetActive(im.poison);
             * bossPull.SetActive(im.pull);
             * bossPush.SetActive(im.push);
             * bossStun.SetActive(im.stun);
             * bossWound.SetActive(im.wound);
             *
             * // Section for special card.
             * //bossSpecial.sprite = normalStats.specialAbilities;
             *
             */
            return;
        }

        // NORMAL
        bossPanel.SetActive(false);
        monsterPanel.SetActive(true);

        walkingIcon.SetActive(!creatureList.stats.canFly);
        flyingIcon.SetActive(creatureList.stats.canFly);

        normalHpTxt.text  = normalStats.health.ToString();
        normalMpTxt.text  = normalStats.move.ToString();
        normalAtkTxt.text = normalStats.attack.ToString();
        normalRngTxt.text = normalStats.range.ToString();

        if (normalStats.shield > 0)
        {
            nShield.SetActive(true);
            nShieldTxt.text = normalStats.shield.ToString();
        }
        else
        {
            nShield.SetActive(false);
        }

        if (normalStats.retaliate > 0)
        {
            nRetaliate.SetActive(true);
            nRetaliateTxt.text = normalStats.retaliate.ToString();
            if (normalStats.retaliateRange > 0)
            {
                nRetaliateRange.SetActive(true);
                nRetaliateRangeTxt.text = normalStats.retaliateRange.ToString();
            }
            else
            {
                nRetaliateRange.SetActive(false);
            }
        }
        else
        {
            nRetaliate.SetActive(false);
        }

        if (normalStats.pierce > 0)
        {
            nPierce.SetActive(true);
            nPierceTxt.text = normalStats.pierce.ToString();
        }
        else
        {
            nPierce.SetActive(false);
        }

        nPoison.SetActive(normalStats.poison);
        nWound.SetActive(normalStats.wound);
        nMuddle.SetActive(normalStats.muddle);
        nDisarm.SetActive(normalStats.disarm);

        if (normalStats.target > 0)
        {
            nTarget.SetActive(true);
            nTargetTxt.text = normalStats.target.ToString();
        }
        else
        {
            nTarget.SetActive(false);
        }
        nAdvantage.SetActive(normalStats.advantage);
        nDisadvantage.SetActive(normalStats.disadvantage);



        StatGroup eliteStats = creatureList.stats.level[creatureList.creatureLevel].statGroup[1];

        eliteHpTxt.text  = eliteStats.health.ToString();
        eliteMpTxt.text  = eliteStats.move.ToString();
        eliteAtkTxt.text = eliteStats.attack.ToString();
        eliteRngTxt.text = eliteStats.range.ToString();

        if (eliteStats.shield > 0)
        {
            eShield.SetActive(true);
            eShieldTxt.text = eliteStats.shield.ToString();
        }
        else
        {
            eShield.SetActive(false);
        }

        if (eliteStats.retaliate > 0)
        {
            eRetaliate.SetActive(true);
            eRetaliateTxt.text = eliteStats.retaliate.ToString();
            if (eliteStats.retaliateRange > 0)
            {
                eRetaliateRange.SetActive(true);
                eRetaliateRangeTxt.text = eliteStats.retaliateRange.ToString();
            }
            else
            {
                eRetaliateRange.SetActive(false);
            }
        }
        else
        {
            eRetaliate.SetActive(false);
        }

        if (eliteStats.pierce > 0)
        {
            ePierce.SetActive(true);
            ePierceTxt.text = eliteStats.pierce.ToString();
        }
        else
        {
            ePierce.SetActive(false);
        }

        ePoison.SetActive(eliteStats.poison);
        eWound.SetActive(eliteStats.wound);
        eMuddle.SetActive(eliteStats.muddle);
        eDisarm.SetActive(eliteStats.disarm);

        if (eliteStats.target > 0)
        {
            eTarget.SetActive(true);
            eTargetTxt.text = eliteStats.target.ToString();
        }
        else
        {
            eTarget.SetActive(false);
        }
        eAdvantage.SetActive(eliteStats.advantage);
        eDisadvantage.SetActive(eliteStats.disadvantage);
    }
Exemplo n.º 27
0
 private void CustomCreatureListForm_Shown(object sender, EventArgs e)
 {
     // XP bug
     CreatureList.Invalidate();
 }
    public void UpdatePanel(Creature c, CreatureList cList)
    {
        creature = c;

        // Make all conditions visible.
        for (int i = 0; i < allConditions.Length; i++)
        {
            allConditions[i].SetActive(true);
        }

        // Hide currently active conditions.
        for (int i = 0; i < creature.conditions.Count; i++)
        {
            switch (creature.conditions[i])
            {
            case Creature.Conditions.Disarm:
                disarm.SetActive(false);
                break;

            case Creature.Conditions.Doomed:
                doomed.SetActive(false);
                break;

            case Creature.Conditions.Immobilize:
                immobilize.SetActive(false);
                break;

            case Creature.Conditions.Invisible:
                invisible.SetActive(false);
                break;

            case Creature.Conditions.Muddle:
                muddle.SetActive(false);
                break;

            case Creature.Conditions.Poison:
                poison.SetActive(false);
                break;

            case Creature.Conditions.Strengthen:
                strengthen.SetActive(false);
                break;

            case Creature.Conditions.Stun:
                stun.SetActive(false);
                break;

            case Creature.Conditions.Summon:
                summon.SetActive(false);
                break;

            case Creature.Conditions.Wound:
                wound.SetActive(false);
                break;
            }
        }

        // For boss, hide conditions that it is immune to.
        if (cList.stats.isBoss)
        {
            Immunity im = cList.stats.immunity;
            // Then Go through all immunities.

            disarm.SetActive(!im.disarm);
            doomed.SetActive(true);
            immobilize.SetActive(!im.immobilize);
            invisible.SetActive(true);
            muddle.SetActive(!im.muddle);
            poison.SetActive(!im.poison);
            strengthen.SetActive(true);
            stun.SetActive(!im.stun);
            summon.SetActive(false);
            wound.SetActive(!im.wound);
        }
    }
Exemplo n.º 29
0
        private void txtYourCreatures_TextChanged(object sender, EventArgs e)
        {
            try
            {
                _yourCreatures = CreatureParser.ParseCreatureList(txtYourCreatures.Text);
                txtYourCritCount.Text = _yourCreatures.Count.ToString();

                toolTipYourCreatures.SetToolTip(lblYourCreatures, _yourCreatures.ToString());
                toolTipYourCreatures.SetToolTip(txtYourCreatures, _yourCreatures.ToString());
            }
            catch
            {
                // Ignore parsing errors.
            }

            CalculateAndSetResult();
        }
Exemplo n.º 30
0
 public void AddCreaturesToWorld(Entities entity, Weapon weapon, Armor armor,
                                 TypeOfAttack attackType, int positionX, int positionY, double hitPoints, string name)
 {
     CreatureList.Add(CreatureFactory.makeCreature(positionX, positionY, weapon, armor, attackType, hitPoints, name));
 }
Exemplo n.º 31
0
        void update_creature_list()
        {
            CreatureList.BeginUpdate();

            List <ICreature> creatures     = new List <ICreature>();
            List <Creature>  all_creatures = Session.Creatures;

            foreach (ICreature c in all_creatures)
            {
                creatures.Add(c);
            }
            if (Session.Project != null)
            {
                foreach (ICreature c in Session.Project.CustomCreatures)
                {
                    creatures.Add(c);
                }
                foreach (ICreature c in Session.Project.NPCs)
                {
                    creatures.Add(c);
                }
            }

            BinarySearchTree <string> categories = new BinarySearchTree <string>();

            foreach (ICreature c in creatures)
            {
                if (c.Category != "")
                {
                    categories.Add(c.Category);
                }
            }

            List <string> cats = categories.SortedList;

            cats.Insert(0, "Custom Creatures");
            cats.Insert(1, "NPCs");
            cats.Add("Miscellaneous Creatures");

            CreatureList.Groups.Clear();
            foreach (string cat in cats)
            {
                CreatureList.Groups.Add(cat, cat);
            }
            CreatureList.ShowGroups = true;

            List <ListViewItem> item_list = new List <ListViewItem>();

            foreach (ICreature c in creatures)
            {
                if (c == null)
                {
                    continue;
                }

                Difficulty diff;
                if (!FilterPanel.AllowItem(c, out diff))
                {
                    continue;
                }

                ListViewItem lvi = new ListViewItem(c.Name);
                lvi.SubItems.Add(c.Info);
                lvi.Tag = c;

                if (c.Category != "")
                {
                    lvi.Group = CreatureList.Groups[c.Category];
                }
                else
                {
                    lvi.Group = CreatureList.Groups["Miscellaneous Creatures"];
                }

                item_list.Add(lvi);
            }

            CreatureList.Items.Clear();
            CreatureList.Items.AddRange(item_list.ToArray());

            if (CreatureList.Items.Count == 0)
            {
                CreatureList.ShowGroups = false;

                ListViewItem lvi = CreatureList.Items.Add("(no creatures)");
                lvi.ForeColor = SystemColors.GrayText;
            }

            CreatureList.EndUpdate();
        }
    public void SetMonster(CreatureList cList)
    {
        creatureList = cList;

        if (eliteContainer.childCount > 0)
        {
            foreach (Transform child in eliteContainer)
            {
                GameObject.Destroy(child.gameObject);
            }
        }
        if (normalContainer.childCount > 0)
        {
            foreach (Transform child in normalContainer)
            {
                GameObject.Destroy(child.gameObject);
            }
        }

        roundCheck(gameController.round);

        // Fill stats
        creatureName.text = creatureList.name;
        img.sprite        = creatureList.image;

        AoE1.SetActive(false);
        AoE2.SetActive(false);

        // Set everything to false...
        foreach (GameObject item in monsterAssets)
        {
            item.SetActive(false);
        }
        foreach (GameObject item in npcAssets)
        {
            item.SetActive(false);
        }
        foreach (GameObject item in bossAssets)
        {
            item.SetActive(false);
        }

        if (creatureList.stats.isBoss)
        {
            mainBannerName.text       = "Actions";
            mainBannerNameShadow.text = "Actions";
            // Setup Boss Items
            foreach (GameObject item in bossAssets)
            {
                item.SetActive(true);
            }
            immunityContainer.poison.SetActive(creatureList.stats.immunity.poison);
            immunityContainer.wound.SetActive(creatureList.stats.immunity.wound);
            immunityContainer.stun.SetActive(creatureList.stats.immunity.stun);
            immunityContainer.muddle.SetActive(creatureList.stats.immunity.muddle);
            immunityContainer.immobilize.SetActive(creatureList.stats.immunity.immobilize);
            immunityContainer.disarm.SetActive(creatureList.stats.immunity.disarm);
            immunityContainer.push.SetActive(creatureList.stats.immunity.push);
            immunityContainer.pull.SetActive(creatureList.stats.immunity.pull);
            immunityContainer.curse.SetActive(creatureList.stats.immunity.curse);

            for (int i = 0; i < creatureList.creatureDeck[0].line.Length; i++)
            {
                SetupLine(creatureList.creatureDeck[0].line[i], "boss");
            }
        }
        else if (creatureList.stats.isNPC)
        {
            mainBannerName.text       = "Actions";
            mainBannerNameShadow.text = "Actions";
            foreach (GameObject item in npcAssets)
            {
                item.SetActive(true);
            }

            for (int i = 0; i < creatureList.creatureDeck[0].line.Length; i++)
            {
                SetupLine(creatureList.creatureDeck[0].line[i], "boss");
            }
        }
        else
        {
            foreach (GameObject item in monsterAssets)
            {
                item.SetActive(true);
            }

            mainBannerName.text       = "Elite Actions";
            mainBannerNameShadow.text = "Elite Actions";
            for (int i = 0; i < creatureList.creatureDeck[0].line.Length; i++)
            {
                SetupLine(creatureList.creatureDeck[0].line[i], "normal");
                SetupLine(creatureList.creatureDeck[0].line[i], "elite");
            }
        }
    }
Exemplo n.º 33
0
        private void txtTravelCreatures_TextChanged(object sender, EventArgs e)
        {
            try
            {
                _travelEncounter = CreatureParser.ParseCreatureList(txtTravelCreatures.Text);
                txtTravelCritCount.Text = _travelEncounter.Count.ToString();

                toolTipTravelEncounter.SetToolTip(lblTravelCreatures, _travelEncounter.ToString());
                toolTipTravelEncounter.SetToolTip(txtTravelCreatures, _travelEncounter.ToString());
            }
            catch
            {
                // Ignore parsing errors.
            }

            CalculateAndSetResult();
        }