示例#1
0
        public void DrawSkill(ItemNode node) //Vector2 pos, Texture2D tex,int state)
        {
            ItemSkillPanel basePanel = new ItemSkillPanel(ModContent.GetTexture("AnotherRpgMod/Textures/UI/skill_blank"));

            basePanel.SetPadding(0);
            basePanel.Width.Set(SKILL_SIZE * sizeMultplier, 0f);
            basePanel.Height.Set(SKILL_SIZE * sizeMultplier, 0f);
            ItemSkill skillIcon = new ItemSkill(ModContent.GetTexture("AnotherRpgMod/Textures/ItemTree/unknow"));

            if (node.GetState > 1)
            {
                skillIcon = new ItemSkill(ModContent.GetTexture(SkillTextures.GetItemTexture(node)));
            }

            skillIcon.Width.Set(SKILL_SIZE * sizeMultplier, 0f);
            skillIcon.Height.Set(SKILL_SIZE * sizeMultplier, 0f);


            switch (node.GetState)
            {
            case 1:
                basePanel.Hidden = false;
                skillIcon.Hidden = false;
                skillIcon.color  = new Color(255, 255, 255, 255);
                basePanel.color  = new Color(255, 255, 255, 255);
                break;

            case 2:
                skillIcon.color = new Color(220, 220, 120, 255);
                basePanel.color = new Color(160, 180, 50, 255);
                break;

            case 3:
                skillIcon.color = new Color(220, 220, 220, 255);
                basePanel.color = new Color(120, 120, 120, 255);
                break;

            case 0:
                basePanel.Hidden = true;
                skillIcon.Hidden = true;
                break;

            default:
                skillIcon.color = Color.White;
                basePanel.color = new Color(180, 220, 255, 255);
                break;
            }

            basePanel.basePos = new Vector2(node.GetPos.X, node.GetPos.Y);
            basePanel.node    = node;
            basePanel.skill   = skillIcon;
            ItemSkillText levelText = new ItemSkillText(node.GetLevel + " / " + node.GetMaxLevel, node, sizeMultplier, false);

            if (basePanel.Hidden)
            {
                levelText.SetText("");
            }
            levelText.Left.Set(SKILL_SIZE * 0.2f * sizeMultplier, 0);
            levelText.Top.Set(SKILL_SIZE * 0.5f * sizeMultplier, 0);
            allText.Add(levelText);
            allBasePanel.Add(basePanel);
            skillIcon.OnMouseOver  += new MouseEvent((UIMouseEvent, UIElement) => OpenToolTip(UIMouseEvent, UIElement, node, skillIcon.Hidden));
            skillIcon.OnClick      += new MouseEvent((UIMouseEvent, UIElement) => OnClickNode(UIMouseEvent, UIElement, node));
            skillIcon.OnRightClick += new MouseEvent((UIMouseEvent, UIElement) => OnRightClickNode(UIMouseEvent, UIElement, node));
            skillIcon.OnMouseOut   += new MouseEvent(CloseToolTip);
            basePanel.Append(skillIcon);
            basePanel.Append(levelText);
        }
示例#2
0
        public void UpdateValue()
        {
            int listSize = allConnection.Count;

            for (int i = 0; i < listSize; i++)
            {
                if (!allConnection[i].bg)
                {
                    allConnection[i].color = (m_itemSource.GetItemTree.GetNode(allConnection[i].neighboorID).GetState == 4 || m_itemSource.GetItemTree.GetNode(allConnection[i].nodeID).GetState == 4) ? Color.GreenYellow : Color.DarkRed;
                }

                allConnection[i].Hidden = (m_itemSource.GetItemTree.GetNode(allConnection[i].neighboorID).GetState == 0 || m_itemSource.GetItemTree.GetNode(allConnection[i].nodeID).GetState == 0);
            }
            listSize = allBasePanel.Count;

            for (int i = 0; i < listSize; i++)
            {
                if (allBasePanel[i].node.GetState > 1)
                {
                    allBasePanel[i].skill.SetTexture = ModContent.GetTexture(SkillTextures.GetItemTexture(allBasePanel[i].node));
                }
                allBasePanel[i].Hidden       = false;
                allBasePanel[i].skill.Hidden = false;
                switch (allBasePanel[i].node.GetState)
                {
                case 1:

                    allBasePanel[i].skill.color = new Color(255, 255, 255, 255);
                    allBasePanel[i].color       = new Color(255, 255, 255, 255);
                    break;

                case 2:
                    allBasePanel[i].skill.color = new Color(220, 220, 120, 255);
                    allBasePanel[i].color       = new Color(160, 180, 50, 255);
                    break;

                case 3:

                    allBasePanel[i].skill.color = new Color(220, 220, 220, 255);
                    allBasePanel[i].color       = new Color(120, 120, 120, 255);
                    break;

                case 0:
                    allBasePanel[i].Hidden       = true;
                    allBasePanel[i].skill.Hidden = true;
                    break;

                default:
                    allBasePanel[i].skill.color = Color.White;
                    allBasePanel[i].color       = new Color(180, 220, 255, 255);
                    break;
                }
            }

            listSize = allText.Count;
            for (int i = 0; i < listSize; i++)
            {
                if (allBasePanel[i].Hidden)
                {
                    allText[i].SetText("");
                }
                else
                {
                    allText[i].SetText(allText[i].node.GetLevel + " / " + allText[i].node.GetMaxLevel, sizeMultplier, false);
                }
            }
        }
示例#3
0
        public void DrawSkill(NodeParent node) //Vector2 pos, Texture2D tex,int state)
        {
            SkillPanel basePanel = new SkillPanel(ModContent.GetTexture("AnotherRpgMod/Textures/UI/skill_blank"));

            basePanel.SetPadding(0);
            basePanel.Width.Set(SKILL_SIZE * sizeMultplier, 0f);
            basePanel.Height.Set(SKILL_SIZE * sizeMultplier, 0f);
            Skill skillIcon = new Skill(ModContent.GetTexture(SkillTextures.GetTexture(node.GetNode)));

            skillIcon.Width.Set(SKILL_SIZE * sizeMultplier, 0f);
            skillIcon.Height.Set(SKILL_SIZE * sizeMultplier, 0f);

            int state = 0;      // disactivated and locked

            if (node.GetEnable) //if the node is enabled
            {
                state = 3;
            }
            else if (node.GetActivate && (node.GetNodeType == NodeType.Class || node.GetNodeType == NodeType.Perk))
            {
                state = 2; // if node is unlocked , activated but not enable (like perk or class skill)
            }
            else if (node.GetUnlock)
            {
                state = 1; // if node is just unlocked
            }
            switch (state)
            {
            case 0:
                skillIcon.color = new Color(255, 150, 150, 255);
                basePanel.color = new Color(255, 50, 50, 255);
                break;

            case 1:
                skillIcon.color = new Color(220, 220, 120, 255);
                basePanel.color = new Color(160, 180, 50, 255);
                break;

            case 2:
                skillIcon.color = new Color(220, 220, 220, 255);
                basePanel.color = new Color(120, 120, 120, 255);
                break;

            default:
                skillIcon.color = Color.White;
                basePanel.color = new Color(180, 220, 255, 255);
                break;
            }

            basePanel.basePos = new Vector2(node.menuPos.X, node.menuPos.Y);
            basePanel.node    = node;
            basePanel.skill   = skillIcon;
            SkillText levelText = new SkillText(node.GetLevel + " / " + node.GetMaxLevel, node, sizeMultplier, false);

            levelText.Left.Set(SKILL_SIZE * 0.2f * sizeMultplier, 0);
            levelText.Top.Set(SKILL_SIZE * 0.5f * sizeMultplier, 0);
            allText.Add(levelText);
            allBasePanel.Add(basePanel);
            skillIcon.OnMouseOver  += new MouseEvent((UIMouseEvent, UIElement) => OpenToolTip(UIMouseEvent, UIElement, node));
            skillIcon.OnClick      += new MouseEvent((UIMouseEvent, UIElement) => OnClickNode(UIMouseEvent, UIElement, node));
            skillIcon.OnRightClick += new MouseEvent((UIMouseEvent, UIElement) => OnRightClickNode(UIMouseEvent, UIElement, node));
            skillIcon.OnMouseOut   += new MouseEvent(CloseToolTip);
            basePanel.Append(skillIcon);
            basePanel.Append(levelText);
        }