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); }
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); } } }
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); }