Exemplo n.º 1
0
        public override void UpdateEquips(ref bool wallSpeedBuff, ref bool tileSpeedBuff, ref bool tileRangeBuff)
        {
            OxygenTank oxygenTank = player.GetOxygenTank().tank;

            if (oxygenTank != null)
            {
                if (player.breath == player.breathMax)
                {
                    if (oxygenTank.currentO2Hold < oxygenTank.oxygenCapacityIncrease)
                    {
                        oxygenTank.currentO2Hold += 3;
                        oxygenTank.currentO2Hold  = Math.Min(oxygenTank.oxygenCapacityIncrease, oxygenTank.currentO2Hold);
                        player.breath            -= 3;
                    }
                }
                else if (player.breath < player.breathMax - 3)
                {
                    int oxygenNeed = player.breathMax - player.breath - 3;
                    if (oxygenTank.currentO2Hold > 0)
                    {
                        int oxygenTankUsed = Math.Min(oxygenTank.currentO2Hold, oxygenNeed);
                        oxygenTank.currentO2Hold -= oxygenTankUsed;
                        player.breath            += oxygenTankUsed;
                    }
                }
            }
        }
Exemplo n.º 2
0
    public void RefillOxygen(OxygenTank tank, AudioClip clip)
    {
        float newQuantity = oxygen + tank.oxygenQuantity;

        audioSource.PlayOneShot(clip);
        oxygen = max0xygen > newQuantity ? newQuantity : max0xygen;
        Destroy(tank.gameObject);
        display.OnChangeOxygen((int)oxygen);
    }
 // Runs before Start
 public void Awake()
 {
     this.triggerWarning            = false;
     this.triggerDanger             = false;
     this.oxygenDecay               = DEFAULT_OXYGEN_DECAY;
     this.oxygenSlider              = this.GetComponent <Slider>();
     this.oxygenSliderImage         = this.oxygenSlider.transform.FindChild("Fill Area").FindChild("Fill").GetComponent <Image>();
     this.oxygenSliderOriginalColor = this.oxygenSliderImage.color;
     instance = this;
 }
Exemplo n.º 4
0
        public override void Update(GameTime gameTime)
        {
            Player     player = Main.LocalPlayer;
            OxygenTank tank   = player.GetOxygenTank().tank;

            if (player == null || tank == null)
            {
                return;
            }

            //YO THIS MATH CONFUSE ME A LOT!!!
            Vector2 playerPos = player.position - Main.ViewPosition;

            playerPos.X += player.width / 2f;
            playerPos.X *= Main.GameViewMatrix.Zoom.X;
            playerPos.Y *= Main.GameViewMatrix.Zoom.Y;
            playerPos   /= Main.UIScale;
            float playerScaleX = (playerPos.X - 50f);
            float playerScaleY = (playerPos.Y - (player.height - 10f));

            back.Left.Set(playerScaleX, 0f);
            fill.Left.Set(playerScaleX + 2f, 0f);
            back.Top.Set(playerScaleY, 0f);
            fill.Top.Set(playerScaleY + 6f, 0f);

            int   charge    = player.breath + tank.currentO2Hold;
            int   maxCharge = player.breathMax + tank.oxygenCapacityIncrease;
            float progress  = (float)charge / (float)maxCharge;

            fill.SetProgress(progress);

            float urgent = Math.Min((1f - progress) * 5f, 1f);

            bgColor = Color.White * urgent;

            back.backgroundColor = bgColor;
            fill.backgroundColor = bgColor;

            Recalculate();
            base.Update(gameTime);
        }