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