Example #1
0
        protected HeroCharacter AddHeroFor(Player player)
        {
            if (player == null)
            {
                throw new ArgumentNullException("player", "Player should not be null");
            }

            if (player.Hero != null && !player.Hero.Dying)
            {
                player.Hero.RemoveFromParent();
            }

            CGPoint       spawnPos = DefaultSpawnCGPoint;
            HeroCharacter hero     = CreateHeroBy(player.HeroType, spawnPos, player);

            if (hero != null)
            {
                var emitter = (SKEmitterNode)SharedSpawnEmitter.Copy();
                emitter.Position = spawnPos;
                AddNode(emitter, WorldLayer.AboveCharacter);
                GraphicsUtilities.RunOneShotEmitter(emitter, 0.15f);

                hero.FadeIn(2f);
                hero.AddToScene(this);
                Heroes.Add(hero);
            }
            player.Hero = hero;

            return(hero);
        }
Example #2
0
        public void ChooseHeroes()
        {
            logger.Print($"{Name} is choosing heroes!");
            for (int i = 0; i < 4; i++)
            {
                logger.Print($"Choose {i + 1} hero");
                logger.Print("1.Swordsman\n2.Knight\n3.Defender\n4.Wizzard");
                int hero = logger.Parse(1, 4);
                switch (hero)
                {
                case 1:
                    Heroes.Add(new Swordsman(this));
                    break;

                case 2:
                    Heroes.Add(new Knight(this));
                    break;

                case 3:
                    Heroes.Add(new Defender(this));
                    break;

                case 4:
                    Heroes.Add(new Wizzard(this));
                    break;
                }
            }
        }
Example #3
0
        public void ChooseHeroes()
        {
            Message msg1 = new Message($"{Name} is choosing heroes!");

            Logger.Print(msg1);
            for (int i = 0; i < 4; i++)
            {
                Message heroes = new Message("1.Swordsman\n2.Knight\n3.Defender\n4.Wizzard");
                Logger.Print(heroes);
                int hero = Logger.Parse(1, 4, $"Choose {i + 1} hero: ");
                switch (hero)
                {
                case 1:
                    Heroes.Add(new Swordsman(this));
                    break;

                case 2:
                    Heroes.Add(new Knight(this));
                    break;

                case 3:
                    Heroes.Add(new Defender(this));
                    break;

                case 4:
                    Heroes.Add(new Wizzard(this));
                    break;
                }
            }
        }
Example #4
0
 public void AddHero(HeroEntity entity)
 {
     if (entity != null)
     {
         Heroes.Add(entity);
     }
 }
Example #5
0
        /// <summary>
        /// Reorder heroes
        /// </summary>
        public void ReorderHeroes()
        {
            Heroes.RemoveAll(item => item == null);

            while (Heroes.Count < 6)
            {
                Heroes.Add(null);
            }
        }
Example #6
0
        private void OnNewHero(object sender, Hero hero)
        {
            DelayAction.Add(350, () =>
            {
                if (hero == null || !hero.IsValid)
                {
                    return;
                }
                if (hero.IsIllusion)
                {
                    return;
                }
                if (Heroes.Any(x => x.Hero.Equals(hero)))
                {
                    Log.Error($"Cant init New Hero -> {hero.GetDisplayName()} [{hero.Handle}]");
                    return;
                }

                if (hero.HeroId == HeroId.npc_dota_hero_monkey_king)
                {
                    if (!hero.Spellbook.Spells.Any())
                    {
                        Log.Error($"Monkey king bugisoft (ubishit) -> [{hero.Handle}]");
                        return;
                    }
                }

                var myTeam     = Main.Context.Value.Owner.Team;
                var targetTeam = hero.Team;
                var isAlly     = myTeam == targetTeam;

                var newHero = new HeroContainer(hero, isAlly, Main);
                if (hero.HeroId == HeroId.npc_dota_hero_phantom_assassin && !isAlly)
                {
                    Main.Config.ShowMeMore.InitPhantomAssiasin(newHero);
                }
                try
                {
                    Heroes.Add(newHero);

                    if (isAlly)
                    {
                        AllyHeroes.Add(newHero);
                    }
                    else
                    {
                        EnemyHeroes.Add(newHero);
                    }

                    Log.Info($"New Hero -> {hero.GetDisplayName()} [{hero.Handle}] [{(isAlly ? "Ally" : "Enemy")}]");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });
        }
    public void AddToken(Token token)
    {
        Type listType;

        listType = Heroes.GetListType();
        if (listType.IsCompatibleWith(token.GetType()))
        {
            AllTokens.Add(token);
            Heroes.Add((Hero)token);
            return;
        }

        listType = Enemies.GetListType();
        if (listType.IsCompatibleWith(token.GetType()))
        {
            AllTokens.Add(token);
            Enemies.Add((Enemy)token);
            return;
        }

        listType = Farmers.GetListType();
        if (listType.IsCompatibleWith(token.GetType()))
        {
            AllTokens.Add(token);
            Farmers.Add((Farmer)token);
            return;
        }

        if (token is Fog)
        {
            AllTokens.Add(token);
            return;
        }

        if (token is Well)
        {
            AllTokens.Add(token);
            Well = (Well)token;
            return;
        }

        if (token is Witch)
        {
            AllTokens.Add(token);
            return;
        }

        if (token is Thorald)
        {
            AllTokens.Add(token);
            return;
        }

        // if none of these options means its an item
        AddItem(token);
    }
        public void Add(Type type)
        {
            Type pretype = type;
            Type parent  = type;

            while (parent.BaseType != typeof(object))
            {
                pretype = parent;
                parent  = parent.BaseType;
            }

            if (parent == typeof(Card))
            {
                if (pretype == typeof(Spell))
                {
                    Spells.Add(type);
                    Registry.Spells.Reg(type);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
            else if (parent == typeof(Creature))
            {
                if (pretype == typeof(Minion))
                {
                    Minions.Add(type);
                    Registry.Minions.Reg(type);
                }
                else if (pretype == typeof(Hero))
                {
                    Heroes.Add(type);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
            else if (parent == typeof(RandomEvent))
            {
                RandomEvents.Add(type);
                Registry.RandomEvents.Reg(type);
            }
            else if (parent == typeof(Player))
            {
                Players.Add(type);
            }
            else if (parent == typeof(Hero.HeroPower))
            {
            }
            else
            {
                throw new NotImplementedException();
            }
        }
        private void AddHeroButton_Click(object sender, RoutedEventArgs e)
        {
            var hero = new Hero()
            {
                Name = "basic " + DateTime.Now.Millisecond
            };

            Heroes.Add(hero);
            CharacterSelectionList.SelectedItem = hero;
        }
Example #10
0
        public void SpawnHero(Hero hero)
        {
            int x = hero.PosX;
            int y = hero.PosY;

            if (IsValidTile(x, y) && Tiles[x][y].Occuptant == null)
            {
                Heroes.Add(hero);
                Tiles[x][y].Occuptant = hero;
            }
        }
Example #11
0
        private void OnNewHero(object sender, Hero hero)
        {
            DelayAction.Add(100, () =>
            {
                if (hero == null || !hero.IsValid)
                {
                    return;
                }
                if (hero.IsIllusion)
                {
                    return;
                }
                if (Heroes.Any(x => x.Hero.Equals(hero)))
                {
                    Log.Error($"Cant init New Hero -> {hero.GetDisplayName()} [{hero.Handle}]");
                    return;
                }
                if (hero.ClassId == ClassId.CDOTA_Unit_Hero_MonkeyKing)
                {
                    if (!hero.Spellbook.Spells.Any())
                    {
                        Log.Error($"Monkey king bugisoft (ubishit) -> [{hero.Handle}]");
                        return;
                    }
                }
                var myTeam     = Main.Context.Value.Owner.Team;
                var targetTeam = hero.Team;
                var isAlly     = myTeam == targetTeam;
                var newHero    = new HeroContainer(hero, isAlly, Main);
                try
                {
                    Heroes.Add(newHero);

                    if (isAlly)
                    {
                        AllyHeroes.Add(newHero);
                    }
                    else
                    {
                        EnemyHeroes.Add(newHero);
                    }

                    Log.Info($"New Hero -> {hero.GetDisplayName()} [{hero.Handle}] [{(isAlly ? "Ally" : "Enemy")}]");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });
        }
Example #12
0
        public void OnSearchHero(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
        {
            sender.IsSuggestionListOpen = false;
            if (string.IsNullOrWhiteSpace(sender.Text))
            {
                ResetHeroesList();
                return;
            }

            var list = allHeroes.Where(hero => hero.Name.ToLower().Contains(sender.Text.ToLower())).ToList();

            Heroes.Clear();
            list.ForEach(hero => Heroes.Add(hero));
        }
Example #13
0
        private async System.Threading.Tasks.Task LoadHeroUrl(string heroName, int heroIndex)
        {
            bool isInvalid = false;

            if (string.IsNullOrEmpty(heroName) || heroName == "0")
            {
                isInvalid = true;
            }

            string url = await m_client.GetCardArtUrlAsync(heroName, ArtType.Ingame);

            if (string.IsNullOrEmpty(url))
            {
                Logger.OutputError($"Cannot find URL for '{heroName}'");
            }

            if (Heroes == null)
            {
                Heroes = new List <string>();
            }

            string blankHeroImgPath = "/Images/unknown_hero.png";

            if (Heroes.Count - 1 > heroIndex)
            {
                if (isInvalid)
                {
                    Heroes.Insert(heroIndex, blankHeroImgPath);
                }
                else
                {
                    Heroes.Insert(heroIndex, url);
                }
            }
            else
            {
                if (isInvalid)
                {
                    Heroes.Add(blankHeroImgPath);
                }
                else
                {
                    Heroes.Add(url);
                }
            }
        }
Example #14
0
        private async Task Init()
        {
            LoadingHeroes = InitLoading = true;

            var filter = new ApiFilters();

            Heroes.Clear();

            var data = await GetCharactersDataAsync(filter);

            while (data.Count > 0)
            {
                data.ForEach(hero => Heroes.Add(hero));
                data.ForEach(hero => allHeroes.Add(hero));
                LoadingHeroes  = false;
                filter.Offset += 50;
                data           = await GetCharactersDataAsync(filter);
            }
            InitLoading = false;
        }
Example #15
0
        public void GetHeroes()
        {
            try
            {
                var timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds().ToString();
                var request   = new RestRequest("v1/public/characters", Method.GET);
                request.AddHeader("Accept", "*/*");

                request.AddParameter("apikey", _PUBLIC_KEY);
                request.AddParameter("ts", timestamp);
                request.AddParameter("hash", GetHashApi(timestamp));
                request.AddParameter("offset", _offset);
                request.AddParameter("limit", _LIMIT);

                _restClient.ExecuteAsync(request, async(response) =>
                {
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        var objResponse = await Task.Run(() => JsonConvert.DeserializeObject <Response>(response.Content));

                        if (objResponse.Data.Count > 0)
                        {
                            foreach (var result in objResponse.Data.Results)
                            {
                                Heroes.Add(result);
                            }
                            _offset = Heroes.Count;
                        }
                    }
                    else
                    {
                        Debug.WriteLine("ERRO - " + response.ErrorMessage);
                    }
                });
            }
            catch (Exception ex)
            {
                Debug.WriteLine("ERRO - " + ex.ToString());
            }
        }
Example #16
0
        private void GetHeroes()
        {
            Heroes.Add(new Character()
            {
                personName  = "Peter Parker",
                name        = "Homem Aranha",
                age         = 30,
                weight      = 78,
                height      = 1.80,
                universe    = "Terra 616",
                description = "Em Forest Hills, Queens, Nova York, o estudante de ensino médio, Peter Parker, é um cientista orfão que vive com seu tio Ben e tia May. Ele é mordido por uma aranha radioativa em uma exposição científica e adquire a agilidade e a força proporcional de um aracnídeo. Junto com a super força, Parker ganha a capacidade de andar nas paredes e tetos.\n\nAtravés de sua habilidade nativa para a ciência, ele desenvolve um aparelho que o permitir lançar teias artificiais.Inicialmente buscando capitalizar suas novas habilidades, Parker cria um traje e, como Homem Aranha, torna - se uma estrela de televisão.",
                image       = "spider_man_background",
                ability     = new Ability()
                {
                    strength     = 40,
                    intelligence = 35,
                    agility      = 40,
                    resistance   = 30,
                    velocity     = 40
                },
                movies = new List <Movie>()
                {
                    new Movie()
                    {
                        image = "captain_america_3"
                    },
                    new Movie()
                    {
                        image = "spiderman_homecoming"
                    },
                    new Movie()
                    {
                        image = "avengers4"
                    },
                }
            });

            Heroes.Add(new Character()
            {
                personName  = "T'challa",
                name        = "Pantera Negra",
                age         = 47,
                weight      = 91,
                height      = 1.83,
                universe    = "Terra 616",
                description = "O Pantera Negra é o título cerimonial atribuído ao chefe da Tribo Pantera da avançada nação africana de Wakanda. Além de governar o país, ele também é chefe de suas várias tribos (coletivamente conhecida como Wakandas). O uniforme do Pantera é um símbolo oficial (chefe de estado) e é usado mesmo durante missões diplomáticas. O Pantera é um título hereditário, mas ainda é preciso ganhar um desafio.\n\nNo passado distante, um enorme meteorito maciço composto de vibranium - elemento que absorve o som, entre outras propriedades especiais - caiu em Wakanda, e é desenterrado uma geração antes dos eventos do presente.",
                image       = "black_panther_background",
                ability     = new Ability()
                {
                    strength     = 30,
                    intelligence = 28,
                    agility      = 49,
                    resistance   = 28,
                    velocity     = 45
                },
                movies = new List <Movie>()
                {
                    new Movie()
                    {
                        image = "black_panther"
                    },
                    new Movie()
                    {
                        image = "captain_america_3"
                    },
                    new Movie()
                    {
                        image = "avengers4"
                    },
                }
            });

            Heroes.Add(new Character()
            {
                personName  = "Tony Stark",
                name        = "Homem de Ferro",
                age         = 50,
                weight      = 102,
                height      = 1.85,
                universe    = "Terra 616",
                description = "Durante a guerra do Vietnã, o inventor e empresário Tony Stark foi vítima de uma explosão de granada. Stark sobreviveu à explosão mas estilhaços do explosivo se alojaram próximo ao seu coração, ameaçando sua vida. Ele foi capturado e levado até o líder Wong Chu, que o forçou a criar uma poderosa arma, mas ele criou algo que o mantivesse vivo e permitisse derrotar os captores.\n\nO Homem de Ferro enfrentou os soldados e os derrotou.Sua armadura resistia aos disparos contra ele.Wong Chu tentou fugir e o Homem de Ferro incendiou o galpão de munições fazendo com que a explosão o matasse.",
                image       = "iron_man_background",
                ability     = new Ability()
                {
                    strength     = 40,
                    intelligence = 45,
                    agility      = 38,
                    resistance   = 30,
                    velocity     = 42
                },
                movies = new List <Movie>()
                {
                    new Movie()
                    {
                        image = "iron_man1"
                    },
                    new Movie()
                    {
                        image = "iron_man2"
                    },
                    new Movie()
                    {
                        image = "captain_america_3"
                    },
                    new Movie()
                    {
                        image = "avengers4"
                    },
                }
            });
        }
Example #17
0
 public void AddHero(Hero hero)
 {
     Heroes.Add(hero);
 }
 public void PlaceHero(HeroController hero)
 {
     CapturedBy = hero.Player;
     this.GetComponent <SpriteRenderer>().sprite = _capturedCheckpointSprites[CapturedBy.Color];
     Heroes.Add(hero);
 }
Example #19
0
 public Fight(Hero Hero, Monster monster)
     : this()
 {
     Heroes.Add(Hero);
     Monsters.Add(monster);
 }
Example #20
0
 private void ResetHeroesList()
 {
     Heroes.Clear();
     allHeroes.ForEach(a => Heroes.Add(a));
 }