|
|
@ -29,21 +29,35 @@ namespace GWConquest |
|
|
|
public Image CooldownCircle; |
|
|
|
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; |
|
|
|
|
|
|
|
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() |
|
|
|
{ |
|
|
|
animator.SetTrigger("Pressed"); |
|
|
|
isSelected = true; |
|
|
|
FindObjectOfType<IngameUI>().PlanetView.SelectZone(district.Zone); |
|
|
|
if(district != null) |
|
|
|
{ |
|
|
|
isSelected = true; |
|
|
|
FindObjectOfType<IngameUI>().PlanetView.SelectZone(zone); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void OnDeselected() |
|
|
@ -70,7 +84,7 @@ namespace GWConquest |
|
|
|
|
|
|
|
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(); |
|
|
|
float playerStrength = playerFormations.Sum(f => f.GetFormationStrength()); |
|
|
|
var enemyFormations = formations.Where(f => f.Player != Player.CurrentPlayer).ToList(); |
|
|
@ -101,9 +115,9 @@ namespace GWConquest |
|
|
|
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); |
|
|
|
FactionLogo.sprite = controllingPlayer.Faction.FactionLogo; |
|
|
@ -123,8 +137,8 @@ namespace GWConquest |
|
|
|
} |
|
|
|
|
|
|
|
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; |
|
|
|
if(animator.GetBool("Producing") != producing) |
|
|
@ -159,14 +173,14 @@ namespace GWConquest |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
BattleIcon.SetActive(district.Zone.HasBattle); |
|
|
|
BattleIcon.SetActive(zone.HasBattle); |
|
|
|
} |
|
|
|
|
|
|
|
public void OpenBattleMenu() |
|
|
|
{ |
|
|
|
if(district.Zone.HasBattle) |
|
|
|
if(zone.HasBattle) |
|
|
|
{ |
|
|
|
GetComponentInParent<PlanetViewUI>().ShowBattleUI(district.Zone.CurrentBattle); |
|
|
|
GetComponentInParent<PlanetViewUI>().ShowBattleUI(zone.CurrentBattle); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|