示例#1
0
    GameObject CreateIcon(Entity unit)
    {
        GameObject unitSelected = Instantiate(groupSelectedPrefab, groupSelect.transform);

        foreach (Transform child in unitSelected.transform)
        {
            if (child.name == "Icon")
            {
                child.GetComponent <Image>().sprite = spriteBank.GetSprite(unit.Type);
            }
        }
        return(unitSelected);
    }
示例#2
0
        public async Task ChatTestAsync()
        {
            try
            {
                MessageCollector collector = new MessageCollector(Context.Client);
                SpriteBank       bank      = SpriteBank.FromDirectory("../assets/npcs/noname/");
                Character        test      = new Character
                {
                    Id          = "npc0",
                    Name        = "No-Name",
                    Personality = new Personality
                    {
                        Mind     = MindType.Extravert,
                        Energy   = EnergyType.Intuitive,
                        Nature   = NatureType.Thinking,
                        Tactics  = TacticType.Judging,
                        Identity = IdentityType.Assertive
                    },
                    Affinity = new List <AffinityData>
                    {
                        new AffinityData("npc1", 0.2f)
                    },
                    Model = new CharacterModel
                    {
                        Body = new AppearanceNode(bank.GetSprite("noname_body"), 20, 16),
                        Head = new AppearanceNode(bank.GetSprite("noname_head"), 28, 5),
                        DefaultFaceOffset = new Point(28, 5),
                        Expressions       = new Dictionary <DialogTone, AppearanceNode>
                        {
                            [DialogTone.Neutral]  = new AppearanceNode(bank.GetSprite("noname_neutral")),
                            [DialogTone.Happy]    = new AppearanceNode(bank.GetSprite("noname_happy")),
                            [DialogTone.Sad]      = new AppearanceNode(bank.GetSprite("noname_sad")),
                            [DialogTone.Confused] = new AppearanceNode(bank.GetSprite("noname_confused")),
                            [DialogTone.Shocked]  = new AppearanceNode(bank.GetSprite("noname_shocked"))
                        }
                    }
                };

                var action = new ChatHandler(Context, test, Engine.GetTree("test"));

                var options = new SessionOptions
                {
                    ResetTimeoutOnAttempt = true,
                    Timeout = TimeSpan.FromSeconds(20),
                    Session = action
                };

                bool Filter(SocketMessage message, int index)
                {
                    return((message.Author.Id == Context.User.Id) && (message.Channel.Id == Context.Channel.Id));
                }

                await collector.MatchAsync(Filter, options);
            }
            catch (Exception e)
            {
                await Context.Channel.CatchAsync(e);
            }
        }
示例#3
0
        public EnemyPool(int damage, int maxHP, int order, string sprt, string anim, string deathEffect, Vector2 colliderOffset, ColliderBase[] colliders, int initialCount) : base(initialCount)
        {
            _damage = damage;
            _maxHP  = maxHP;
            _order  = order;

            _sprt = SpriteBank.GetSprite(sprt);
            _anim = SpriteBank.GetAnimation(anim);

            _collOffset = colliderOffset;

            _colliders = colliders;

            _effect = Program.PoolManager.GetPool <EffectPool>(deathEffect);
            GenerateInitial(initialCount);
        }