示例#1
0
 public Health(ContentManager Content)
 {
     damage = 0;
     damageTimer = new Timer(PlayerHealth.DamageDelay);
     maxHealth = 6;
     currentHealth = 6;
 }
示例#2
0
 /// <summary>
 /// Returns true if we've died
 /// </summary>
 /// <param name="damage"></param>
 /// <returns></returns>
 public bool TakeDamage(HPUnit damage)
 {
     this.damage = damage;
     damageTimer.Reset();
     ResetFillSprites();
     return false;
 }
示例#3
0
 /// <summary>
 /// Returns true if we've died
 /// </summary>
 /// <param name="damage"></param>
 /// <returns></returns>
 public bool TakeDamage(HPUnit damage)
 {
     this.damage = damage;
     damageTimer.Reset();
     ResetFillSprites();
     return(false);
 }
示例#4
0
 public Health(ContentManager Content)
 {
     damage        = 0;
     damageTimer   = new Timer(PlayerHealth.DamageDelay);
     maxHealth     = 6;
     currentHealth = 6;
 }
示例#5
0
 public FloatingNumber(ContentManager Content, NumberType type)
 {
     this.Content = Content;
     shouldRise = true;
     timer = new Timer(DamageTime);
     this.type = type;
     offsetY = 0;
     val = 0;
     centerX = 0;
     centerY = 0;
 }
示例#6
0
 public FloatingNumber(ContentManager Content, NumberType type)
 {
     this.Content = Content;
     shouldRise   = true;
     timer        = new Timer(DamageTime);
     this.type    = type;
     offsetY      = 0;
     val          = 0;
     centerX      = 0;
     centerY      = 0;
 }
示例#7
0
 public bool Update(GameTime gameTime)
 {
     if (timer.Expired)
     {
         val = 0;
     }
     else if (shouldRise)
     {
         offsetY = (float)Math.Max(-Units.TileToGame(1), offsetY + Velocity * gameTime.ElapsedGameTime.TotalMilliseconds);
     }
     return(!timer.Expired);
 }
示例#8
0
 public void TakeDamage(HPUnit damage)
 {
     if (invincibleTimer.Active)
     {
         return;
     }
     playerHealth.health.TakeDamage(damage);
     damageText.Value = damage;
     polarStar.DamageExperience(damage * 2);
     kinematicsY.velocity = Math.Min(kinematicsY.velocity, -ShortJumpSpeed);
     invincibleTimer.Reset();
 }
示例#9
0
 public void AddHealth(HPUnit health)
 {
     if (damage > health)
     {
         damage -= health;
         health = 0;
     }
     else if (damage > 0)
     {
         health -= damage;
         damage = 0;
     }
     currentHealth = Math.Min(maxHealth, currentHealth + health);
     ResetFillSprites();
 }
示例#10
0
 public void AddHealth(HPUnit health)
 {
     if (damage > health)
     {
         damage -= health;
         health  = 0;
     }
     else if (damage > 0)
     {
         health -= damage;
         damage  = 0;
     }
     currentHealth = Math.Min(maxHealth, currentHealth + health);
     ResetFillSprites();
 }
示例#11
0
 public void TakeDamage(HPUnit damage)
 {
     damageText.Value = damage;
     alive            = false;
 }
示例#12
0
 public bool Update(GameTime gameTime)
 {
     if (timer.Expired)
     {
         val = 0;
     }
     else if (shouldRise)
     {
         offsetY = (float)Math.Max(-Units.TileToGame(1), offsetY + Velocity * gameTime.ElapsedGameTime.TotalMilliseconds);
     }
     return !timer.Expired;
 }
示例#13
0
 public void TakeDamage(HPUnit damage)
 {
     if (invincibleTimer.Active)
     {
         return;
     }
     playerHealth.health.TakeDamage(damage);
     damageText.Value = damage;
     polarStar.DamageExperience(damage * 2);
     kinematicsY.velocity = Math.Min(kinematicsY.velocity, -ShortJumpSpeed);
     invincibleTimer.Reset();
 }
示例#14
0
 public void TakeDamage(HPUnit damage)
 {
     damageText.Value = damage;
     alive = false;
 }