Exemple #1
0
    public void TakeDamage(float damage)
    {
        if (!invulnerableAfterDamage)
        {
            float halfDamage_1 = damage / 2.0f;
            float halfDamage_2 = damage / 2.0f;
            healthPoints -= halfDamage_1;

            float minusOfShield = halfDamage_2 / 2.0f;
            if (minusOfShield < shieldPoints)
            {
                shieldPoints -= minusOfShield;
            }
            else if (minusOfShield == shieldPoints)
            {
                shieldPoints = 0.0f;
            }
            else if (minusOfShield > shieldPoints && shieldPoints == 0)
            {
                healthPoints -= minusOfShield * 2.0f;
            }
            else if (minusOfShield > shieldPoints && shieldPoints > 0)
            {
                minusOfShield -= shieldPoints;
                shieldPoints   = 0.0f;
                healthPoints  -= minusOfShield; // was ... * 2.0f
            }

            //Debug.Log("My Current health points are: " + healthPoints.ToString());
            if (healthPoints <= 0.0f)
            {
                invulnerableAfterDamage = true;
                // Запускаем процедуру гибели объекта
                deathDel();
            }

            if (myObject.tag == "Player")
            {
                playerUpDel(healthPoints, shieldPoints);
                ControlPanelCanvasScript CPCS = FindObjectOfType <ControlPanelCanvasScript>();
                CPCS.UpdateHealth(healthPoints);
                CPCS.UpdateShield(shieldPoints);
            }

            if (myObject.tag == "Planet" || myObject.tag == "Comet")
            {
                planetChHlth(healthPoints);
            }

            if (myObject.tag == "Enemy")
            {
                enemyChHlth(healthPoints / maxHealthPoints);
            }

            if (myObject.tag == "PlasmaArea")
            {
                plasmaNearFlight();
            }
        }
    }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        if (canFly)
        {
            CPCS.UpdateFuel(lastFuelVolume);

            lastFuelVolume -= Time.deltaTime;

            if (lastFuelVolume <= 0.1f)
            {
                // Отключить игрока
                canFly = false;
                SpaceShipControl ssc = FindObjectOfType <SpaceShipControl>();
                ssc.FreezeAll();
                EndGame(endMessage_01);
            }
        }
        else
        {
            if (Input.GetKey(KeyCode.Return))
            {
                ControlPanelCanvasScript cpcs = FindObjectOfType <ControlPanelCanvasScript>();
                cpcs.CloseEndMessage();
            }
        }
    }
Exemple #3
0
    public void TakeUltimateDamage()
    {
        healthPoints = 0;
        shieldPoints = 0;

        ControlPanelCanvasScript CPCS = FindObjectOfType <ControlPanelCanvasScript>();

        CPCS.UpdateHealth(healthPoints);
        CPCS.UpdateShield(shieldPoints);

        invulnerableAfterDamage = true;
        deathDel();
    }
Exemple #4
0
    void Start()
    {
        playerInitHealth = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.health);
        playerInitShield = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.shield);
        playerFuelVolume = ConstGameCtrl.instance.GetMaxPlayerParam(ConstGameCtrl.PlayerShipUpgrades.fuel);

        lastFuelVolume = playerFuelVolume;

        Random.InitState(42);
        CPCS = FindObjectOfType <ControlPanelCanvasScript>();

        CPCS.UpdateHealth(playerInitHealth);
        CPCS.UpdateShield(0);

        canFly = true;
    }
Exemple #5
0
    // Use this for initialization
    void Start()
    {
        myDamagable             = gameObject.GetComponent <Damagable>();
        myDamagable.deathDel    = OnPlayerDeath;
        myDamagable.playerUpDel = OnPlasmaWound;

        CPCS = FindObjectOfType <ControlPanelCanvasScript>();
        CSP  = FindObjectOfType <CommonSceneParams>();

        //myDamagable.currentHealth = CSP.pIH;
        //myDamagable.currentShield = CSP.pIS;
        myDamagable.myObject = gameObject;

        playerCamera.transform.localPosition = cameraGamePosition;
        cameraShipDist  = Vector3.Distance(playerCamera.transform.localPosition, shipObject.transform.localPosition);
        cameraMoveAlong = new Vector3(0.0f, 12.0f, -36.0f);
        cameraMoveAlong.Normalize();

        subtimer        = 0.0f;
        vortexDeltaTime = 0.01f;
        //playerCamera.GetComponent<Animator>().enabled = false;
    }
Exemple #6
0
 void Start()
 {
     CPCS = FindObjectOfType <ControlPanelCanvasScript>();
 }
Exemple #7
0
    public void EndGame(string msg)
    {
        ControlPanelCanvasScript cpcs = FindObjectOfType <ControlPanelCanvasScript>();

        cpcs.ShowEndMessage(msg);
    }