public override bool Draw(List <DrawData> playerDrawData, int drawType, Player drawPlayer, ref Texture2D texture, ref Texture2D glowTexture, ref Vector2 drawPosition, ref Rectangle frame, ref Color drawColor, ref Color glowColor, ref float rotation, ref SpriteEffects spriteEffects, ref Vector2 drawOrigin, ref float drawScale, float shadow) { rotation = rot; RocketData data = (RocketData)drawPlayer.mount._mountSpecificData; /* * if (crashing) * { * glowTexture = burnTexs[Main.rand.Next(3)]; * glowColor = drColor; * for (int d = 0; d < 2; d++) * { * Dust.NewDust(drawPlayer.position + new Vector2(mountData.xOffset - (glowTexture.Width / 2), mountData.yOffset - (glowTexture.Height / 2)), glowTexture.Width, glowTexture.Height, 6, 0f, 0f, 150, default, 1.5f); * Dust.NewDust(drawPlayer.position + new Vector2(mountData.xOffset - (glowTexture.Width / 2), mountData.yOffset - (glowTexture.Height / 2)), glowTexture.Width, glowTexture.Height, 174, 0f, 0f, 150, default, 1.5f); * } * } */ drawPosition += data.offset; return(base.Draw(playerDrawData, drawType, drawPlayer, ref texture, ref glowTexture, ref drawPosition, ref frame, ref drawColor, ref glowColor, ref rotation, ref spriteEffects, ref drawOrigin, ref drawScale, shadow)); }
public bool UpdateSpaceAnim(Player p) { RocketData data = (RocketData)p.mount._mountSpecificData; p.velocity = Vector2.Zero; data.animCounter++; if (data.animCounter == 20) { switch (p.mount._frame) { case 6: p.mount._frame = 7; break; case 7: p.mount._frame = 6; break; } data.animCounter = 0; } return(false); }
//public void public bool UpdateTakeOffAnimation(Player p) { RocketData data = (RocketData)p.mount._mountSpecificData; data.offsetCounter++; if (data.offsetCounter == 30 && data.mode == 0) { data.mode++; data.offsetCounter = 0; p.mount._frame++; } else if (data.mode == 1) { data.animCounter++; if (data.animCounter == 20) { switch (p.mount._frame) { case 1: p.mount._frame = 2; break; case 2: p.mount._frame = 1; break; } data.animCounter = 0; } if (data.offsetCounter == 80) { data.offsetCounter = 0; data.mode++; data.animCounter = 0; p.mount._frame = 2; } } else if (data.mode == 2) { data.animCounter++; data.offset.Y--; if (data.animCounter == 20) { p.mount._frame++; data.animCounter = 0; } if (data.offsetCounter == 60) { data.offsetCounter = 0; data.mode++; data.animCounter = 0; } } else if (data.mode == 3) { data.animCounter++; if (data.offsetCounter < 160) { data.offset.Y--; } if (data.animCounter == 20) { switch (p.mount._frame) { case 4: p.mount._frame = 5; break; case 5: p.mount._frame = 4; break; } data.animCounter = 0; } if (data.offsetCounter == 180) { data.offsetCounter = 0; data.mode++; data.animCounter = 0; p.mount._frame = 6; } } else if (data.mode == 4) { data.animCounter++; if (data.offsetCounter > 60 && data.offsetCounter <= 150) { data.offset.Y -= 1; data.offset.X += 10 + (data.offsetCounter / 10); } if (data.animCounter == 20) { switch (p.mount._frame) { case 6: p.mount._frame = 7; break; case 7: p.mount._frame = 6; break; } data.animCounter = 0; } if (data.offsetCounter == 150) { return(true); } } return(false); }
public bool UpdateLandingAnim(Player p) { RocketData data = (RocketData)p.mount._mountSpecificData; data.offsetCounter++; if (data.mode == 0) { data.animCounter++; if (data.offsetCounter < 186) { if (data.offset.Y < initOffset && data.offsetCounter % 2 == 0) { data.offset.Y++; } data.offset.X += 5 + ((150 - (data.offsetCounter / 2)) / 20); if (data.animCounter == 20) { switch (p.mount._frame) { case 4: p.mount._frame = 5; break; case 5: p.mount._frame = 4; break; } data.animCounter = 0; } } else if (p.mount._frame > 2 && data.animCounter == 20) { if (p.mount._frame == 5) { p.mount._frame = 3; } else { p.mount._frame--; } } if (data.offsetCounter == 240) { data.mode++; data.animCounter = 0; data.offsetCounter = 0; p.mount._frame = 1; } } else if (data.mode == 1) { data.animCounter++; if (data.offset.Y < initOffset) { data.offset.Y++; } if (data.animCounter == 20) { switch (p.mount._frame) { case 1: p.mount._frame = 2; break; case 2: p.mount._frame = 1; break; } data.animCounter = 0; } if (data.offset.Y == initOffset) { data.offsetCounter = 0; data.mode++; data.animCounter = 0; } } else if (data.mode == 2) { data.animCounter++; if (data.animCounter == 20) { switch (p.mount._frame) { case 1: p.mount._frame = 2; break; case 2: p.mount._frame = 1; break; } data.animCounter = 0; } if (data.offsetCounter == 80) { data.offsetCounter = 0; data.mode++; data.animCounter = 0; p.mount._frame = 0; } } else if (data.offsetCounter == 30 && data.mode == 3) { return(true); } return(false); }
public void DisposeTakeOff(Player p) { RocketData data = (RocketData)p.mount._mountSpecificData; data.offsetBuffer = new Vector2(-data.offset.X, data.offset.Y + 90); }