void Update() { if (GameManager.Instance.PlayerAlive) { RadarProfile profile = GameManager.Instance.PlayerController.GetRadarProfile(); HealthBar.transform.localScale = new Vector2(1, profile.CurrentHealth / profile.MaxHealth); ShieldBar.transform.localScale = new Vector2(1, profile.CurrentShield / profile.MaxShield); EnergyBar.transform.localScale = new Vector2(1, profile.CurrentEnergy / profile.MaxEnergy); FuelBar.transform.localScale = new Vector2(1, profile.CurrentFuel / profile.MaxFuel); } else { HealthBar.transform.localScale = new Vector2(1, 0); ShieldBar.transform.localScale = new Vector2(1, 0); EnergyBar.transform.localScale = new Vector2(1, 0); FuelBar.transform.localScale = new Vector2(1, 0); } }
void Update() { if (!GameManager.Instance.PlayerAlive) { HasTarget = false; ContentHolder.SetActive(false); return; } Spaceship subject = GameManager.Instance.PlayerController; Spaceship newTarget = Omniscience.Instance.GetSpaceship(subject.TargetUID); if (subject.HasTarget && newTarget != null) { if (!HasTarget || Target != newTarget) { if (HasTarget) { Target.PortraitCamera.SetActive(false); } Target = newTarget; HasTarget = true; Target.PortraitCamera.SetActive(true); NameText.GetComponent <Text>().text = Target.Name; NameTextHighlight.GetComponent <Text>().text = Target.Name; ContentHolder.SetActive(true); } RadarProfile profile = Target.GetRadarProfile(); HealthBar.transform.localScale = new Vector2(1, profile.CurrentHealth / profile.MaxHealth); ShieldBar.transform.localScale = new Vector2(1, profile.CurrentShield / profile.MaxShield); EnergyBar.transform.localScale = new Vector2(1, profile.CurrentEnergy / profile.MaxEnergy); FuelBar.transform.localScale = new Vector2(1, profile.CurrentFuel / profile.MaxFuel); } else { HasTarget = false; ContentHolder.SetActive(false); } }
public void Show(RadarProfile profile) { Vector2 subjectPosition = GameManager.Instance.PlayerController.Position; Vector2 relativePosition = profile.Position - subjectPosition; Vector2 radarPosition = relativePosition * (RadarController.PixelRadius / 3f) / RadarController.RadarScale; if (radarPosition.magnitude > RadarController.PixelRadius) { Pip.SetActive(false); Arrow.SetActive(true); radarPosition = radarPosition * RadarController.PixelRadius / radarPosition.magnitude; Arrow.transform.localPosition = radarPosition; Arrow.transform.eulerAngles = new Vector3(0f, 0f, Vector2.SignedAngle(Vector2.right, radarPosition)); } else { Pip.SetActive(true); Arrow.SetActive(false); Pip.transform.localPosition = radarPosition; } }
public void SubmitRadarProfile(int uid, RadarProfile profile) { RadarProfiles[uid] = profile; }