Пример #1
0
    public override void Logic()
    {
        if (!IsAlive)
        {
            if (!dieTimer.IsDone)
            {
                dieTimer.Logic();
                dieExplosionTimer.Logic();

                if (dieExplosionTimer.IsDone)
                {
                    CreateDieExplosion();
                    dieExplosionTimer.Reset();
                }

                if (dieTimer.IsDone)
                {
                    EffectExplosion.CreateExplosion(Position, 5f, Map);
                }
            }

            return;
        }

        healthBar.Progress = health / MaxHealth;
        healthBar.Logic();
    }
Пример #2
0
    public override void Logic()
    {
        base.Logic();

        scrapBar.Progress = (float)scrap / targetScrap;
        scrapBar.Logic();

        if (Map.LocalPlayer != null && ((SYPlayer)Map.LocalPlayer).CollectedScrap > 0)
        {
            if (Map.LocalPlayer.Position.Y >= position.Y && (Map.LocalPlayer.Position - position).Length < areaSize / 2)
            {
                Hold();
            }
            else
            {
                progress = 0;
            }
        }
    }
Пример #3
0
    public void Logic()
    {
        if (!player.DodgeCooldown.IsDone)
        {
            dodgeBar.Progress = 1f - player.DodgeCooldown.PercentageDone;
        }
        if (!player.DashCooldown.IsDone)
        {
            dashBar.Progress = 1f - player.DashCooldown.PercentageDone;
        }

        dodgeBar.Logic();
        dashBar.Logic();

        ammoGainTimer.Logic();
        ammoUseTimer.Logic();

        if (player.health > 1f)
        {
            if (healthAlpha > 0.2f)
            {
                healthAlpha -= 0.4f * Game.delta;
                if (healthAlpha <= 0.2f)
                {
                    healthAlpha = 0.2f;
                }
            }
        }
        else
        {
            healthBlinkFactor += 5f * Game.delta;
            healthAlpha        = ((float)Math.Sin(healthBlinkFactor) + 1f) / 2;
        }

        healthBar.Progress = player.health / player.MaxHealth;
        healthBar.Logic();

        if (player.Weapon != null)
        {
            if (player.Weapon.ReloadProgress != -1)
            {
                reloadBar.Progress = player.Weapon.ReloadProgress;
                reloadBar.Logic();
            }
            else if (player.Weapon.RearmProgress != -1 && player.Weapon.FireType == WeaponStats.FireType.SingleTimed)
            {
                rearmBar.Progress = 1f - player.Weapon.RearmProgress;
                rearmBar.Logic();
            }
            else if (player.Weapon.FireType == WeaponStats.FireType.Charge)
            {
                rearmBar.Progress = player.Weapon.Charge;
                rearmBar.Logic();
            }

            if (player.Ammo >= player.MaxAmmo && ammoGainTimer.IsDone && ammoUseTimer.IsDone)
            {
                ammoAlpha -= 4f * Game.delta;
            }
            else
            {
                ammoAlpha += 4f * Game.delta;
            }

            ammoAlpha = MathHelper.Clamp(ammoAlpha, 0f, 1f);
        }

        weaponEquipAnimation += ((float)player.weaponIndex - weaponEquipAnimation) * 18f * Game.delta;
    }
Пример #4
0
	public override void Logic()
	{
		//base.Logic();
		healthBar.Progress = health / MaxHealth;
		healthBar.Logic();
	}