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