Added in shake timer for ore veins.
This commit is contained in:
parent
16d35e2d42
commit
eb5231e81a
|
@ -38,6 +38,8 @@ namespace Revitalize.Framework.Objects
|
||||||
|
|
||||||
public Enums.Direction facingDirection;
|
public Enums.Direction facingDirection;
|
||||||
|
|
||||||
|
public int shakeTimer;
|
||||||
|
|
||||||
public BasicItemInformation()
|
public BasicItemInformation()
|
||||||
{
|
{
|
||||||
this.name = "";
|
this.name = "";
|
||||||
|
@ -57,6 +59,7 @@ namespace Revitalize.Framework.Objects
|
||||||
|
|
||||||
this.facingDirection = Enums.Direction.Down;
|
this.facingDirection = Enums.Direction.Down;
|
||||||
this.id = "";
|
this.id = "";
|
||||||
|
this.shakeTimer = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,9 +91,19 @@ namespace Revitalize.Framework.Objects
|
||||||
this.inventory = Inventory ?? new InventoryManager();
|
this.inventory = Inventory ?? new InventoryManager();
|
||||||
this.lightManager = Lights ?? new LightManager();
|
this.lightManager = Lights ?? new LightManager();
|
||||||
this.facingDirection = Enums.Direction.Down;
|
this.facingDirection = Enums.Direction.Down;
|
||||||
|
this.shakeTimer = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets an x offset for shaking an object. Source code used from game.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public int shakeTimerOffset()
|
||||||
|
{
|
||||||
|
return (this.shakeTimer > 0 ? Game1.random.Next(-1, 2) : 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,7 @@ namespace Revitalize.Framework.Objects.Resources.OreVeins
|
||||||
{
|
{
|
||||||
base.updateWhenCurrentLocation(time, environment);
|
base.updateWhenCurrentLocation(time, environment);
|
||||||
this.setHealth(this.healthValue);
|
this.setHealth(this.healthValue);
|
||||||
|
this.info.shakeTimer -= time.ElapsedGameTime.Milliseconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void DayUpdate(GameLocation location)
|
public override void DayUpdate(GameLocation location)
|
||||||
|
@ -117,7 +118,8 @@ namespace Revitalize.Framework.Objects.Resources.OreVeins
|
||||||
if (this.location != null)
|
if (this.location != null)
|
||||||
{
|
{
|
||||||
this.location.playSound("hammer");
|
this.location.playSound("hammer");
|
||||||
ModCore.log("Ore has this much health left: "+this.healthValue);
|
//ModCore.log("Ore has this much health left: "+this.healthValue);
|
||||||
|
this.info.shakeTimer = 200;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -277,7 +279,6 @@ namespace Revitalize.Framework.Objects.Resources.OreVeins
|
||||||
/// <summary>What happens when the object is drawn at a tile location.</summary>
|
/// <summary>What happens when the object is drawn at a tile location.</summary>
|
||||||
public override void draw(SpriteBatch spriteBatch, int x, int y, float alpha = 1f)
|
public override void draw(SpriteBatch spriteBatch, int x, int y, float alpha = 1f)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (this.info == null)
|
if (this.info == null)
|
||||||
{
|
{
|
||||||
Revitalize.ModCore.log("info is null");
|
Revitalize.ModCore.log("info is null");
|
||||||
|
@ -292,7 +293,7 @@ namespace Revitalize.Framework.Objects.Resources.OreVeins
|
||||||
if (this.animationManager.getExtendedTexture() == null)
|
if (this.animationManager.getExtendedTexture() == null)
|
||||||
ModCore.ModMonitor.Log("Tex Extended is null???");
|
ModCore.ModMonitor.Log("Tex Extended is null???");
|
||||||
|
|
||||||
spriteBatch.Draw(this.displayTexture, Game1.GlobalToLocal(Game1.viewport, new Vector2((float)(x * Game1.tileSize), y * Game1.tileSize)), new Rectangle?(this.animationManager.currentAnimation.sourceRectangle), this.info.drawColor * alpha, 0f, Vector2.Zero, (float)Game1.pixelZoom, this.flipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None, Math.Max(0f, (float)(y * Game1.tileSize) / 10000f));
|
spriteBatch.Draw(this.displayTexture, Game1.GlobalToLocal(Game1.viewport, new Vector2((float)(x * Game1.tileSize)+this.info.shakeTimerOffset(), (y * Game1.tileSize)+this.info.shakeTimerOffset())), new Rectangle?(this.animationManager.currentAnimation.sourceRectangle), this.info.drawColor * alpha, 0f, Vector2.Zero, (float)Game1.pixelZoom, this.flipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None, Math.Max(0f, (float)(y * Game1.tileSize) / 10000f));
|
||||||
// Log.AsyncG("ANIMATION IS NULL?!?!?!?!");
|
// Log.AsyncG("ANIMATION IS NULL?!?!?!?!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -311,7 +312,7 @@ namespace Revitalize.Framework.Objects.Resources.OreVeins
|
||||||
{
|
{
|
||||||
addedDepth += 1.0f;
|
addedDepth += 1.0f;
|
||||||
}
|
}
|
||||||
this.animationManager.draw(spriteBatch, this.displayTexture, Game1.GlobalToLocal(Game1.viewport, new Vector2((float)(x * Game1.tileSize), y * Game1.tileSize)), new Rectangle?(this.animationManager.currentAnimation.sourceRectangle), this.info.drawColor * alpha, 0f, Vector2.Zero, (float)Game1.pixelZoom, this.flipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None, Math.Max(0f, (float)((y + addedDepth) * Game1.tileSize) / 10000f) + .00001f);
|
this.animationManager.draw(spriteBatch, this.displayTexture, Game1.GlobalToLocal(Game1.viewport, new Vector2((float)(x * Game1.tileSize)+this.info.shakeTimerOffset(), (y * Game1.tileSize)+this.info.shakeTimerOffset())), new Rectangle?(this.animationManager.currentAnimation.sourceRectangle), this.info.drawColor * alpha, 0f, Vector2.Zero, (float)Game1.pixelZoom, this.flipped ? SpriteEffects.FlipHorizontally : SpriteEffects.None, Math.Max(0f, (float)((y + addedDepth) * Game1.tileSize) / 10000f) + .00001f);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
this.animationManager.tickAnimation();
|
this.animationManager.tickAnimation();
|
||||||
|
|
Loading…
Reference in New Issue