コード例 #1
0
    /// <summary>
    /// Function that will be called to draw each visible element on screen
    /// The occupied area calculation will be made in another place to separate the logic to show one menu element of the rest
    /// </summary>
    /// <param name="rect">Area to draw your menu element</param>
    /// <param name="elementIndex">Index of the element that should be drawn</param>
    /// <param name="isActive">True if that element is active. False otherwise</param>
    public override void DrawElement(Rect rect, int elementIndex, bool isActive)
    {
        switch (numOfSlotsAvailable)
        {
        case 1:
            if (elementIndex > 0)
            {
                return;
            }
            break;

        case 2:
            if (elementIndex % 2 == 0)
            {
                return;
            }
            elementIndex--;
            break;

        case 3:
            if (elementIndex == 2)
            {
                return;
            }
            break;
        }

        if (abilityBorder)
        {
            GUI.DrawTexture(elementBorder.GetRect(rect), abilityBorder, ScaleMode.ScaleToFit);
        }
        Area ultAnimalFull = new Area(elementContent.GetRect(rect));

        float percent = CoolDownManager.RemainingTimePercent(abilities[elementIndex].description.id.ToString());

        if (isActive && this.isActive)
        {
            GUI.DrawTexture(ultAnimalFull.GetRect(), selectedImage.GetTexture(), ScaleMode.ScaleToFit);
        }
        else
        {
            GUI.DrawTexture(ultAnimalFull.GetRect(), abilities[elementIndex].texture, ScaleMode.ScaleToFit);
        }
        if (percent > 0)
        {
            percent = percent / 2;
            GUIMethods.DrawOverlayTexture(elementBorder.GetRect(rect), null, cdOverlayTexture, percent, Options.UP);

            GUIMethods.DrawOverlayTexture(elementBorder.GetRect(rect), null, cdOverlayTexture, percent, Options.DOWN);

            GUIMethods.DrawOverlayTexture(elementBorder.GetRect(rect), null, cdOverlayTexture, percent, Options.LEFT);

            GUIMethods.DrawOverlayTexture(elementBorder.GetRect(rect), null, cdOverlayTexture, percent, Options.RIGHT);
        }

        if ((abilities[elementIndex].description.id != Ability.AbilityId.NONE) && ButtonManager.Get(ButtonManager.ButtonID.L2))
        {
            GUI.DrawTexture(buttonArea.GetRect(rect), ButtonManager.GetButtonTexture((ButtonManager.ButtonID)elementIndex));
        }
    }
コード例 #2
0
    public override void DrawElement(Rect rect, int element, bool isActive)
    {
        if ((element >= elements.Count) || (element < 0))
        {
            return;
        }

        if (isActive)
        {
            GUI.DrawTexture(elementImage.GetRect(rect), selectedImage.GetTexture(), ScaleMode.ScaleToFit);
            //styleTitle.normal.textColor = Color.blue;
            //DrawTextResizing(elementText.GetRect(rect), elements[element].text, styleTitle, (int)(fontSize * menuArea.GetPercentSizeWidth()));
            //styleTitle.normal.textColor = Color.white;
        }
        else
        {
            GUI.DrawTexture(elementImage.GetRect(rect), elements[element].texture, ScaleMode.ScaleToFit);
            //DrawTextResizing(elementText.GetRect(rect), elements[element].text, styleTitle, (int)(fontSize * menuArea.GetPercentSizeWidth()));
        }
    }
コード例 #3
0
    public override void DrawElement(Rect rect, int elementIndex, bool isActive)
    {
        elementIndex -= (maxSlots - numberOfSlots) / 2;

        if (elementIndex < 0)
        {
            return;
        }
        if (elementIndex >= numberOfSlots)
        {
            return;
        }

        if (numberOfSlots % 2 != 0)
        {
            rect.x += rect.width / 2;
        }

        if (abilityBorder)
        {
            GUI.DrawTexture(elementBorder.GetRect(rect), abilityBorder, ScaleMode.ScaleToFit);
        }

        if (elementIndex >= abilities.Count)
        {
            GUI.DrawTexture(elementContent.GetRect(rect), nullAbilityTexture, ScaleMode.ScaleToFit);
        }
        else if ((elementIndex == menuIndex.Get()) && this.isActive)
        {
            GUI.DrawTexture(elementContent.GetRect(rect), selectedImage.GetTexture(), ScaleMode.ScaleToFit);
        }
        else
        {
            GUI.DrawTexture(elementContent.GetRect(rect), abilities[elementIndex].texture, ScaleMode.ScaleToFit);
        }
    }
コード例 #4
0
    /// <summary>
    /// Function that will be called to draw each visible element on screen
    /// The occupied area calculation will be made in another place to separate the logic to show one menu element of the rest
    /// </summary>
    /// <param name="rect">Area to draw your menu element</param>
    /// <param name="elementIndex">Index of the element that should be drawn</param>
    /// <param name="isActive">True if that element is active. False otherwise</param>
    public override void DrawElement(Rect rect, int elementIndex, bool isActive)
    {
        if (elementBorderTexture)
        {
            GUI.DrawTexture(elementBorder.GetRect(rect), elementBorderTexture, ScaleMode.ScaleToFit);
        }

        if (isActive)
        {
            GUI.DrawTexture(elementContent.GetRect(rect), selectedImage.GetTexture(), ScaleMode.ScaleToFit);
        }
        else
        {
            if (weapons.GetWeapon((Commandments.Weapon)elementIndex).obtained)
            {
                GUI.DrawTexture(elementContent.GetRect(rect), weapons.GetWeapon((Commandments.Weapon)elementIndex).elementActivated, ScaleMode.ScaleToFit);
            }
            else
            {
                GUI.DrawTexture(elementContent.GetRect(rect), elementBorderTexture, ScaleMode.ScaleToFit);
                GUI.DrawTexture(elementContent.GetRect(rect), weapons.GetWeapon((Commandments.Weapon)elementIndex).elementDeactivated, ScaleMode.ScaleToFit);
            }
        }
    }