Example #1
0
 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;
        }
    }
Example #4
0
 public void SubmitRadarProfile(int uid, RadarProfile profile)
 {
     RadarProfiles[uid] = profile;
 }