Пример #1
0
    void CommonUIUpdate()
    {
        Camera cam = Camera.main;

        // PLANET TEXTS
        foreach (KeyValuePair <Planet, PlanetUI> pair in m_planetUIs)
        {
            Planet   p  = pair.Key;
            PlanetUI ui = pair.Value;
            Vector3  planetScreenPosition = cam.WorldToScreenPoint(p.transform.position);
            float    planetScreenRadius   = (planetScreenPosition - cam.WorldToScreenPoint(p.transform.position + new Vector3(p.transform.localScale.x * 0.5f, 0.0f, 0.0f))).magnitude;

            ui.armyCountText.text = p.armyCount.ToString();
            ui.nameText.text      = p.name;

            ui.armyCountText.rectTransform.position = planetScreenPosition;
            ui.nameText.rectTransform.position      = planetScreenPosition + new Vector3(planetScreenRadius, -planetScreenRadius, 0.0f);

            if (p.owner != null)
            {
                Color c = p.owner.color;;
                c.a = 1.0f;
                ui.nameText.color = c;
            }
            else
            {
                ui.nameText.color = planetNameTextPrefab.color;
            }

            if (p == m_selectedPlanet)
            {
                m_selectionObject.SetActive(true);
                m_selectionObject.transform.position = p.transform.position + new Vector3(0.0f, 0.0f, 0.1f);
            }
        }

        // MAIN UI TEXTS
        if (!m_gm.IsGameOver())
        {
            Player currentPlayer = m_gm.GetCurrentPlayer();
            Color  playerColor   = currentPlayer.color;
            playerColor.a       = 1.0f;
            phaseInfoText.color = playerColor;
            string actionQualifier = "actions";
            if (m_gm.GetCurrentPhase() == GameManager.Phase.Conquest)
            {
                actionQualifier = "links";
            }
            else if (m_gm.GetCurrentPhase() == GameManager.Phase.Recruitment)
            {
                actionQualifier = "recruits";
            }
            phaseInfoText.text = currentPlayer.name + " playing"
                                 + " | " + m_gm.GetCurrentPhase().ToString() + " phase"
                                 + " | " + m_gm.GetRemainingActions() + " " + actionQualifier + " remaining"
                                 + " | " + "Spice: " + m_gm.GetCurrentPlayer().spiceCount;
        }
    }
Пример #2
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Planet"))
     {
         PlanetUI p = collision.gameObject.GetComponent <PlanetUI>();
         //DO DAMAGE AND SO ON!
         p.planet.Hurt(damageToDeal);
         //Spawn effects & destroy myselfa
         Spawner.Instance.Spawn(Spawner.Dude.SmokeImpactParticles, transform.position);
         Destroy(this.gameObject);
     }
 }
Пример #3
0
    void OnPlanetAdded(Planet _planet)
    {
        PlanetUI ui = new PlanetUI();

        ui.armyCountText = Instantiate(armyCountTextPrefab);
        ui.nameText      = Instantiate(planetNameTextPrefab);

        ui.armyCountText.transform.SetParent(m_canvasTransform);
        ui.nameText.transform.SetParent(m_canvasTransform);

        m_planetUIs.Add(_planet, ui);
    }
Пример #4
0
    private void SetUpCombat()
    {
        // call shoot from input
        planetInput.OnShoot = Shoot;
        // get components
        shootSpotRotateParent = shootSpot.GetComponentInParent <Transform>();
        parentPlanet          = gameObject.GetComponent <Planet>();
        planetUI = gameObject.GetComponent <PlanetUI>();
        EnableShootSpot();
        SetRocketPool(originRocket.RocketParamType);

        if (parentPlanet.IsPlayer)
        {
            UIManager.instance.UpdatePlayerHP(health);
        }
    }