Browse Source

Some refactoring

master
laurids 2 years ago
parent
commit
641bf2f9fd
5 changed files with 57 additions and 42 deletions
  1. +29
    -15
      Assets/GWConquest/Scripts/UI/DistrictIcon.cs
  2. +2
    -2
      Assets/GWConquest/Scripts/UI/FormationIcon.cs
  3. +23
    -22
      Assets/GWConquest/Scripts/UI/PlanetViewUI.cs
  4. +2
    -2
      Assets/GWConquest/Scripts/UI/StickToFormation.cs
  5. +1
    -1
      Assets/GWConquest/Scripts/UI/TransportUIElement.cs

+ 29
- 15
Assets/GWConquest/Scripts/UI/DistrictIcon.cs View File

@ -29,21 +29,35 @@ namespace GWConquest
public Image CooldownCircle; public Image CooldownCircle;
public Image CooldownIcon; public Image CooldownIcon;
public District district { get; private set; }
public Zone zone { get; private set; }
public District district {get => zone?.GetComponent<District>();}
private bool isSelected = false; private bool isSelected = false;
public void SetDistrict(District d)
public void SetDistrict(Zone z)
{ {
district = d;
iconImage.sprite = d.GetCurrentSprite();
nameText.text = d.GetDistrictName();
zone = z;
if(district != null)
{
iconImage.sprite = district.GetCurrentSprite();
iconImage.enabled = true;
nameText.text = district.GetDistrictName();
}
else {
iconImage.sprite = null;
iconImage.enabled = false;
nameText.text = "Space";
}
} }
public void OnClicked() public void OnClicked()
{ {
animator.SetTrigger("Pressed"); animator.SetTrigger("Pressed");
isSelected = true;
FindObjectOfType<IngameUI>().PlanetView.SelectZone(district.Zone);
if(district != null)
{
isSelected = true;
FindObjectOfType<IngameUI>().PlanetView.SelectZone(zone);
}
} }
public void OnDeselected() public void OnDeselected()
@ -70,7 +84,7 @@ namespace GWConquest
public void UpdateIndicator(bool isPlanetContested) public void UpdateIndicator(bool isPlanetContested)
{ {
IEnumerable<Formation> formations = district.Zone.Formations;
IEnumerable<Formation> formations = zone.Formations;
var playerFormations = formations.Where(f => f.Player == Player.CurrentPlayer).ToList(); var playerFormations = formations.Where(f => f.Player == Player.CurrentPlayer).ToList();
float playerStrength = playerFormations.Sum(f => f.GetFormationStrength()); float playerStrength = playerFormations.Sum(f => f.GetFormationStrength());
var enemyFormations = formations.Where(f => f.Player != Player.CurrentPlayer).ToList(); var enemyFormations = formations.Where(f => f.Player != Player.CurrentPlayer).ToList();
@ -101,9 +115,9 @@ namespace GWConquest
EnemyIndicatorMask.enabled = false; EnemyIndicatorMask.enabled = false;
} }
var controllingPlayer = district.ControllingPlayer;
var controllingPlayer = district?.ControllingPlayer;
if(isPlanetContested && controllingPlayer != null && !district.Zone.HasBattle)
if(isPlanetContested && controllingPlayer != null && !zone.HasBattle)
{ {
FactionLogoGO.SetActive(true); FactionLogoGO.SetActive(true);
FactionLogo.sprite = controllingPlayer.Faction.FactionLogo; FactionLogo.sprite = controllingPlayer.Faction.FactionLogo;
@ -123,8 +137,8 @@ namespace GWConquest
} }
private void Update() { private void Update() {
var factory = district.GetComponent<DistrictFactory>();
if(factory != null)
var factory = zone.GetComponent<DistrictFactory>();
if(district != null && factory != null)
{ {
var producing = factory.IsProducing; var producing = factory.IsProducing;
if(animator.GetBool("Producing") != producing) if(animator.GetBool("Producing") != producing)
@ -159,14 +173,14 @@ namespace GWConquest
} }
} }
BattleIcon.SetActive(district.Zone.HasBattle);
BattleIcon.SetActive(zone.HasBattle);
} }
public void OpenBattleMenu() public void OpenBattleMenu()
{ {
if(district.Zone.HasBattle)
if(zone.HasBattle)
{ {
GetComponentInParent<PlanetViewUI>().ShowBattleUI(district.Zone.CurrentBattle);
GetComponentInParent<PlanetViewUI>().ShowBattleUI(zone.CurrentBattle);
} }
} }


+ 2
- 2
Assets/GWConquest/Scripts/UI/FormationIcon.cs View File

@ -122,8 +122,8 @@ namespace GWConquest {
{ {
if (RectTransformUtility.RectangleContainsScreenPoint(di.GetComponent<RectTransform>(), mousePos)) if (RectTransformUtility.RectangleContainsScreenPoint(di.GetComponent<RectTransform>(), mousePos))
{ {
CurrentFormation.TryMoveToZone(di.district.Zone);
BoltLog.Info("Moving formation {0} to zone {1}", CurrentFormation.name, di.district.Zone);
CurrentFormation.TryMoveToZone(di.zone);
BoltLog.Info("Moving formation {0} to zone {1}", CurrentFormation.name, di.zone);
break; break;
} }
} }


+ 23
- 22
Assets/GWConquest/Scripts/UI/PlanetViewUI.cs View File

@ -66,29 +66,30 @@ namespace GWConquest
DestroyAllIcons(); DestroyAllIcons();
District[] districts = planet.GetComponentsInChildren<District>();
foreach(District district in districts)
foreach(Zone zone in planet.GetComponentsInChildren<Zone>())
{ {
GameObject iconGO = Instantiate(DistrictIconPrefab);
iconGO.transform.SetParent(DistrictIcons);
iconGO.transform.Reset();
if(!zone.attackZone)
{
GameObject iconGO = Instantiate(DistrictIconPrefab);
iconGO.transform.SetParent(DistrictIcons);
iconGO.transform.Reset();
DistrictIcon iconComp = iconGO.GetComponent<DistrictIcon>();
iconComp.SetDistrict(district);
DistrictIcon iconComp = iconGO.GetComponent<DistrictIcon>();
iconComp.SetDistrict(zone);
StickUIToPlanet stick = iconGO.GetComponent<StickUIToPlanet>();
if(district.Zone.zoneType == ZoneType.Ground)
{
stick.target = district.transform;
}
else {
stick.enabled = false;
iconGO.transform.position = SpaceStationPositionClosed.position;
}
StickUIToPlanet stick = iconGO.GetComponent<StickUIToPlanet>();
if(zone.zoneType == ZoneType.Ground)
{
stick.target = zone.transform;
}
else {
stick.enabled = false;
iconGO.transform.position = SpaceStationPositionClosed.position;
}
DistrictIconList.Add(iconComp);
DistrictIconList.Add(iconComp);
}
} }
DistrictConnection[] districtConnections = planet.GetComponentsInChildren<DistrictConnection>(); DistrictConnection[] districtConnections = planet.GetComponentsInChildren<DistrictConnection>();
@ -127,12 +128,12 @@ namespace GWConquest
if (isLanding) if (isLanding)
{ {
startTrans = FleetIcons.FleetIcons.FirstOrDefault(i => i.formation == f.MovementOriginFormation).transform; startTrans = FleetIcons.FleetIcons.FirstOrDefault(i => i.formation == f.MovementOriginFormation).transform;
endTrans = DistrictIconList.FirstOrDefault(i => Zone.GetZoneId(i.district.Zone) == f.State.CurrentTransition.TargetZone).transform;
endTrans = DistrictIconList.FirstOrDefault(i => Zone.GetZoneId(i.zone) == f.State.CurrentTransition.TargetZone).transform;
} }
else else
{ {
endTrans = FleetIcons.FleetIcons.FirstOrDefault(i => i.formation == f.MovementTargetFormation).transform; endTrans = FleetIcons.FleetIcons.FirstOrDefault(i => i.formation == f.MovementTargetFormation).transform;
startTrans = DistrictIconList.FirstOrDefault(i => Zone.GetZoneId(i.district.Zone) == f.State.CurrentTransition.OriginZone).transform;
startTrans = DistrictIconList.FirstOrDefault(i => Zone.GetZoneId(i.zone) == f.State.CurrentTransition.OriginZone).transform;
} }
GameObject lineGO = Instantiate(LandingLinePrefab); GameObject lineGO = Instantiate(LandingLinePrefab);
@ -293,7 +294,7 @@ namespace GWConquest
LogisticsButton.SetActive(false); LogisticsButton.SetActive(false);
GroundPanel.SelectDistrict(selectedZone.GetComponent<District>()); GroundPanel.SelectDistrict(selectedZone.GetComponent<District>());
var spaceIcon = DistrictIconList.FirstOrDefault(i => i.district.Zone.zoneType == ZoneType.Space);
var spaceIcon = DistrictIconList.FirstOrDefault(i => i.zone.zoneType == ZoneType.Space);
if(spaceIcon != null) if(spaceIcon != null)
{ {
spaceIcon.transform.position = SpaceStationPositionOpen.position; spaceIcon.transform.position = SpaceStationPositionOpen.position;
@ -448,7 +449,7 @@ namespace GWConquest
HideTransportUI(); HideTransportUI();
} }
var spaceIcon = DistrictIconList.FirstOrDefault(i => i.district.Zone.zoneType == ZoneType.Space);
var spaceIcon = DistrictIconList.FirstOrDefault(i => i.zone.zoneType == ZoneType.Space);
if(spaceIcon != null) if(spaceIcon != null)
{ {
spaceIcon.transform.position = SpaceStationPositionClosed.position; spaceIcon.transform.position = SpaceStationPositionClosed.position;


+ 2
- 2
Assets/GWConquest/Scripts/UI/StickToFormation.cs View File

@ -34,7 +34,7 @@ namespace GWConquest
if(originZone.zoneType == ZoneType.Ground) if(originZone.zoneType == ZoneType.Ground)
{ {
origin = districtIcons.FirstOrDefault(d => d.district.Zone==originZone).transform;
origin = districtIcons.FirstOrDefault(d => d.zone==originZone).transform;
} }
else { else {
origin = fleetIcons.FirstOrDefault(f => f.formation == formation.MovementOriginFormation).transform; origin = fleetIcons.FirstOrDefault(f => f.formation == formation.MovementOriginFormation).transform;
@ -42,7 +42,7 @@ namespace GWConquest
if(targetZone.zoneType == ZoneType.Ground) if(targetZone.zoneType == ZoneType.Ground)
{ {
target = districtIcons.FirstOrDefault(d => d.district.Zone==targetZone).transform;
target = districtIcons.FirstOrDefault(d => d.zone==targetZone).transform;
} }
else { else {
target = fleetIcons.FirstOrDefault(f => f.formation == formation.MovementTargetFormation).transform; target = fleetIcons.FirstOrDefault(f => f.formation == formation.MovementTargetFormation).transform;


+ 1
- 1
Assets/GWConquest/Scripts/UI/TransportUIElement.cs View File

@ -342,7 +342,7 @@ namespace GWConquest
{ {
if (RectTransformUtility.RectangleContainsScreenPoint(di.GetComponent<RectTransform>(), mousePos)) if (RectTransformUtility.RectangleContainsScreenPoint(di.GetComponent<RectTransform>(), mousePos))
{ {
HandleTransition(ObjectType.District, di.district.Zone);
HandleTransition(ObjectType.District, di.zone);
break; break;
} }
} }


Loading…
Cancel
Save