Exemplo n.º 1
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
Exemplo n.º 2
0
    public static void RegisterAbility(SpecialAbility ability)
    {
        //abiliites.Add(ability);

        AbilityHolder holder = new AbilityHolder(ability, ability.targets, ability.source.owner);

        savedAbilities.Add(holder);

        //Debug.Log(savedAbilities.Count + " is the list count");
    }
Exemplo n.º 3
0
    private void RemoveAbilityEffect(AbilityHolder savedAbility, Player owner)
    {
        if (savedAbility.owner != owner)
        {
            return;
        }


        savedAbility.ability.ExternalRemoval(savedAbility.targets);

        savedAbilities.Remove(savedAbility);
    }
Exemplo n.º 4
0
        public Vector2 DrawItemState(Vector2 pos, AbilityHolder ability, Vector2 maxSize, Color color)
        {
            var abilityState = ability.AbilityState;
            var bottletype   = ability.Ability as Bottle;
            var itemSize     = new Vector2(maxSize.X * 1.5f, maxSize.Y);

            if (bottletype != null && bottletype.StoredRune != RuneType.None)
            {
                var itemTexture =
                    Textures.GetTexture(
                        $"materials/ensage_ui/items/{ability.Name.Replace("item_", "") + "_" + bottletype.StoredRune}.vmat");
                Drawing.DrawRect(pos, itemSize, itemTexture);
            }
            else
            {
                Drawing.DrawRect(pos, itemSize, Textures.GetItemTexture(ability.Name));
            }

            //Drawing.DrawRect(pos, new Vector2(maxSize.X * 70 / 100f, maxSize.Y / 2f), Color.White, true);
            switch (abilityState)
            {
            case AbilityState.Ready:
                if (ItemDrawCharges)
                {
                    var chrages = ability.Item.CurrentCharges;
                    if (chrages > 0)
                    {
                        DrawItemCharge(chrages, pos, maxSize);
                    }
                }

                break;

            case AbilityState.NotEnoughMana:
                var mana     = ability.Ability.ManaCost - ability.Owner.Mana;
                var manaText = ((int)mana).ToString();
                DrawAbilityMana(manaText, pos, maxSize);
                break;

            case AbilityState.OnCooldown:
                var cooldown = Math.Min(99, ability.Cooldown + 1);
                var cdText   = ((int)cooldown).ToString();
                DrawItemCooldown(cdText, pos, maxSize);
                break;
            }

            Drawing.DrawRect(pos, new Vector2(maxSize.X, maxSize.Y), color, true);
            return(pos + new Vector2(maxSize.X - 1, 0));
        }
Exemplo n.º 5
0
    public void CreateAbilityBar(List <Ability> abilities)
    {
        foreach (Ability ability in abilities)
        {
            GameObject abilityHolderGO = Instantiate(abilityHolder);
            abilityHolderGO.GetComponent <Image>().sprite = ability.abilityData.abilityImage;
            AbilityHolder aHolder = abilityHolderGO.GetComponent <AbilityHolder>();
            aHolder.abilityName = ability.abilityData.abilityName;
            abilityHolders.Add(aHolder);
            abilityHolderGO.transform.SetParent(abilityBar.transform);

            abilityHolder.transform.localPosition = Vector3.zero;
            abilityHolder.transform.localRotation = Quaternion.identity;
            abilityHolder.transform.localScale    = Vector3.one;
        }
    }
Exemplo n.º 6
0
    private void Update()
    {
        for (int i = 0; i < statSlots.Length; i++)
        {
            statSlots[i].GetComponent <Image>().color = Color.white;
            Image img = statSlots[i].GetComponent <Image>();
            if (i == 0)
            {
                setIcon(img, AbilitySlot.One);
            }
            else if (i == 1)
            {
                setIcon(img, AbilitySlot.Two);
            }
            else if (i == 2)
            {
                setIcon(img, AbilitySlot.Three);
            }
            else if (i == 3)
            {
                setIcon(img, AbilitySlot.Four);
            }
            else if (i == 4)
            {
                setIcon(img, AbilitySlot.Five);
            }
            else if (i == 5)
            {
                setIcon(img, AbilitySlot.Six);
            }
        }
        if (selected >= 1)
        {
            statSlots[selected - 1].GetComponent <Image>().color = Color.red;
        }
        int count = 0;

        foreach (KeyValuePair <string, Ability> abil in fullSet.Set)
        {
            GameObject store = storedAbils.transform.GetChild(count).gameObject;
            store.GetComponent <Image>().sprite = dict.AbilityIconsAssetBundle.LoadAsset <Sprite>(abil.Value.SpriteFilename);
            AbilityHolder x = store.GetComponent <AbilityHolder>();
            x.ability = abil.Value;
            count++;
        }
    }
Exemplo n.º 7
0
    public void Add(Ability newAbility)
    {
        //Create new ability
        AbilityHolder newAbilityHolder = new AbilityHolder();

        newAbilityHolder.ability         = newAbility;
        newAbilityHolder.abilityUIButton = InstantiateButton();
        newAbilityHolder.abilityUIButton.onClick.AddListener(delegate { TaskOnClick(newAbility); });

        //Set button
        Text[] buttonTxt = newAbilityHolder.abilityUIButton.GetComponentsInChildren <Text>() as Text[];
        buttonTxt[0].text = newAbility.GetName();
        buttonTxt[1].text = newAbility.GetInfo();


        //Add new ability to the abilitiys list
        abilitys.Add(newAbilityHolder);
        abilityCount++;
    }
Exemplo n.º 8
0
        private Vector2 DrawAbilityState(Vector2 pos, AbilityHolder ability, Vector2 maxSize)
        {
            var abilityState = ability.AbilityState;
            var level        = ability.Ability.Level;

            Drawing.DrawRect(pos, maxSize, ability.Texture);
            if (level > 0)
            {
                switch (abilityState)
                {
                case AbilityState.Ready:
                    if (ability.Ability.IsInAbilityPhase)
                    {
                        Drawing.DrawRect(pos, maxSize, new Color(255, 255, 0, 50));
                    }
                    break;

                case AbilityState.NotEnoughMana:
                    var mana     = ability.Ability.ManaCost - ability.Owner.Mana;
                    var manaText = ((int)mana).ToString();
                    DrawAbilityMana(manaText, pos, maxSize);
                    break;

                case AbilityState.OnCooldown:
                    var cooldown = ability.Cooldown + 1;
                    var cdText   = ((int)cooldown).ToString();
                    DrawAbilityCooldown(cdText, pos, maxSize);
                    break;
                }

                if (ability.MaximumLevel > 1)
                {
                    DrawAbilityLevel(level, pos, maxSize);
                }
            }
            else
            {
                Drawing.DrawRect(pos, maxSize, new Color(0, 0, 0, 125));
            }

            Drawing.DrawRect(pos, maxSize, Color.Black, true);
            return(pos + new Vector2(maxSize.X, 0));
        }
Exemplo n.º 9
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();
        AbilityHolder abilities = (AbilityHolder)target;


        GUILayout.Space(4);

        // Static Abilities
        static_abilities = serializedObject.FindProperty("static_abilities");

        // Triggered Ailities
        triggered_abilities = serializedObject.FindProperty("triggered_abilities");

        EditorGUILayout.PropertyField(static_abilities, true);

        EditorGUILayout.PropertyField(triggered_abilities, true);

        serializedObject.ApplyModifiedProperties();

        GUILayout.Space(4);
    }
Exemplo n.º 10
0
        private void DrawingOnOnDraw(EventArgs args)
        {
            var pos           = new Vector2(PosX.Value.Value, PosY.Value.Value);
            var startPosition = pos;
            var size          = new Vector2(SizeX * 10, SizeY * 10);

            if (CanMove)
            {
                if (CanMoveWindow(ref pos, size, true))
                {
                    PosX.Item.SetValue(new Slider((int)pos.X, 1, 2500));
                    PosY.Item.SetValue(new Slider((int)pos.Y, 1, 2500));
                }
            }

            var stageSize    = new Vector2(size.X / 7f, size.Y / 5f);
            var itemSize     = new Vector2(stageSize.X / .7f, stageSize.Y);
            var emptyTexture = Textures.GetTexture("materials/ensage_ui/items/emptyitembg.vmat");

            foreach (var heroC in Config.Main.Updater.EnemyHeroes)
            {
                if (heroC.DontDraw)
                {
                    continue;
                }
                var hero     = heroC.Hero;
                var startPos = new Vector2(pos.X, pos.Y);
                Drawing.DrawRect(pos, stageSize, Textures.GetHeroTexture(hero.StoredName()));
                pos += new Vector2(stageSize.X, 0);
                for (var i = 0; i < 6; i++)
                {
                    AbilityHolder item = null;
                    try
                    {
                        item = heroC.Items[i];
                    }
                    catch (Exception)
                    {
                        // ignored
                    }
                    if (item == null || !item.IsValid)
                    {
                        Drawing.DrawRect(pos, itemSize, emptyTexture);
                    }
                    else
                    {
                        if (DrawOnlyAntiInvisItems)
                        {
                            if (item.Id != AbilityId.item_dust && item.Id != AbilityId.item_gem &&
                                item.Id != AbilityId.item_ward_sentry && item.Id != AbilityId.item_ward_dispenser)
                            {
                                Drawing.DrawRect(pos, itemSize, emptyTexture);
                                Drawing.DrawRect(pos, stageSize, Color.White, true);
                                pos += new Vector2(stageSize.X, 0);
                                continue;
                            }
                        }
                        var bottletype = item.Item as Bottle;
                        if (bottletype != null && bottletype.StoredRune != RuneType.None)
                        {
                            var itemTexture =
                                Textures.GetTexture(
                                    $"materials/ensage_ui/items/{item.Name.Replace("item_", "") + "_" + bottletype.StoredRune}.vmat");
                            Drawing.DrawRect(pos, itemSize, itemTexture);
                        }
                        else
                        {
                            Drawing.DrawRect(pos, itemSize, Textures.GetItemTexture(item.Name));
                        }

                        if (item.AbilityState == AbilityState.OnCooldown)
                        {
                            var cooldown = item.Cooldown + 1;
                            var cdText   = ((int)cooldown).ToString();
                            DrawItemCooldown(cdText, pos, stageSize);
                        }
                    }
                    if (HighLightAntiInvisItems && !DrawOnlyAntiInvisItems && item != null)
                    {
                        if (item.Id == AbilityId.item_dust || item.Id == AbilityId.item_gem ||
                            item.Id == AbilityId.item_ward_sentry || item.Id == AbilityId.item_ward_dispenser)
                        {
                            Drawing.DrawRect(pos, stageSize, Color.Red, true);
                            Drawing.DrawRect(pos + new Vector2(1), stageSize - new Vector2(2), Color.Red, true);
                        }
                        else
                        {
                            Drawing.DrawRect(pos, stageSize, Color.White, true);
                        }
                    }
                    else
                    {
                        Drawing.DrawRect(pos, stageSize, Color.White, true);
                    }

                    pos += new Vector2(stageSize.X, 0);
                }
                pos = new Vector2(startPos.X, startPos.Y + itemSize.Y);
            }
            Drawing.DrawRect(startPosition, size, Color.White, true);
        }
Exemplo n.º 11
0
 private void Start() => _abilityHolder = GetComponent <AbilityHolder>();