Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4. using System;
  5.  
  6. namespace Verdun.UI
  7. {
  8. public class GUI_Menu_Squad_Progression_AbilitiesRow : MonoBehaviour
  9. {
  10. [SerializeField]
  11. private SquadAbilityImage_Progression abilityImagePrefab;
  12. [SerializeField]
  13. private RectTransform rectTransform, lineTransform;
  14.  
  15. private List<SquadAbilityImage_Progression> images = new List<SquadAbilityImage_Progression>();
  16.  
  17. [SerializeField]
  18. private int level;
  19.  
  20. private const float circleOffset = 1.065f;
  21. private const float lineScale = .9f;
  22.  
  23. public void SetInfo(LeveledAbility[] abilities)
  24. {
  25. clearImages();
  26. if (abilities == null || abilities.Length <= 0)
  27. {
  28. gameObject.SetActive(false);
  29. return;
  30. }
  31. gameObject.SetActive(true);
  32.  
  33. Vector2 parentSize = rectTransform.sizeDelta,
  34. lineSize = lineTransform.sizeDelta;
  35.  
  36. float ballsize = 0;
  37.  
  38. var lastLevel = abilities.Last().level;
  39. level = lastLevel;
  40. var ltr = lineTransform.rect;
  41. lineTransform.sizeDelta = new Vector2((rectTransform.rect.width - ltr.x) * ((float)lastLevel/100f) * lineScale, ltr.height);
  42.  
  43.  
  44. foreach (var leveledAbility in abilities)
  45. {
  46. SquadAbilityImage_Progression img = Instantiate(abilityImagePrefab, transform);
  47. var anchorX = parentSize.x * ((float) leveledAbility.level / 100f);
  48. img.RectTransform.anchoredPosition = new Vector2(anchorX, 0);
  49. img.SetInfo(leveledAbility);
  50.  
  51. images.Add(img);
  52. //set inactive
  53. }
  54.  
  55.  
  56. }
  57.  
  58. private void clearImages()
  59. {
  60. foreach (var i in images)
  61. Destroy(i.gameObject);
  62. images.Clear();
  63. }
  64.  
  65. public void SelectItem()
  66. {
  67. if (images.Count > 0)
  68. images[0].SelectItem();
  69. }
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement