Beispiel #1
0
 void ReAddUnits(List <Unit> units, Side side, UnitUIType permitedUnits = (UnitUIType)7)
 {
     foreach (var unit in units)
     {
         if ((unit.unityUIType & permitedUnits) == permitedUnits)
         {
             if (allUnits[unit].IsEnabled())
             {
                 if (side == Side.Blue)
                 {
                     blueCount[unit.unityUIType] -= 1;
                 }
                 else
                 {
                     redCount[unit.unityUIType] -= 1;
                 }
             }
             allUnits[unit].Disable();
             continue;
         }
         if (!allUnits[unit].IsEnabled())
         {
             if (side == Side.Blue)
             {
                 blueCount[unit.unityUIType] += 1;
             }
             else
             {
                 redCount[unit.unityUIType] += 1;
             }
         }
         allUnits[unit].Enable();
     }
 }
Beispiel #2
0
 private void AddUnits(List <Unit> units, Side side, UnitUIType permitedUnits = (UnitUIType)7)
 {
     foreach (var unit in units)
     {
         if ((unit.unityUIType & permitedUnits) == permitedUnits)
         {
             continue;
         }
         Transform parent = null;
         if (side == Side.Blue)
         {
             parent = blueCanvases[unit.unityUIType].transform;
             blueCount[unit.unityUIType] += 1;
         }
         else
         {
             parent = redCanvases[unit.unityUIType].transform;
             redCount[unit.unityUIType] += 1;
         }
         GameObject slot = Instantiate(unitSlot.gameObject, parent);
         UnitIcon   icon = slot.GetComponent <UnitIcon>();
         icon.UnitSelected += () => BuyingController.SelectUnit(unit);
         icon.SetStats(unit.name, unit.icon, unit.hitPoints, unit.movement, unit.damage, unit.secondaryDamage, unit.range, unit.capacity, unit.price);
         allUnits.Add(unit, icon);
     }
 }
Beispiel #3
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        var        pos   = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
        UnitUIType value = (UnitUIType)property.intValue;

        value             = (UnitUIType)EditorGUI.EnumPopup(pos, value);
        property.intValue = (int)value;
        //_property.intValue = EditorGUI.MaskField(_position, _label, _property.intValue, _property.enumNames);
    }
Beispiel #4
0
 public void AddUnits(List <Unit> blueUnits, List <Unit> redUnits, UnitUIType permitedUnits = (UnitUIType)7)
 {
     if (allUnits != null)
     {
         ReAddUnits(blueUnits, Side.Blue, permitedUnits);
         ReAddUnits(redUnits, Side.Red, permitedUnits);
     }
     else
     {
         allUnits = new Dictionary <Unit, UnitIcon>();
         AddUnits(blueUnits, Side.Blue, permitedUnits);
         AddUnits(redUnits, Side.Blue, permitedUnits);
     }
     this.permitedUnits = permitedUnits;
     RecalculateSize();
 }
Beispiel #5
0
    public void ShowCanvas(UnitUIType type, Side side)
    {
        HideAll();

        if (side == Side.Blue)
        {
            blueCanvases[type].enabled = true;
            size.y = verticalBlueSize[type];
        }
        else
        {
            redCanvases[type].enabled = true;
            size.y = verticalRedSize[type];
        }

        backgroundImage.sizeDelta = size;
        unitBuyingCanvas.enabled  = true;
    }