public override void PostDrawInWorld(SpriteBatch spriteBatch, Color lightColor, Color alphaColor, float rotation, float scale, int whoAmI) { Vector2 position = item.position - Main.screenPosition + new Vector2(item.width / 2, item.height / 2); List <Texture2D> textures = new List <Texture2D>(); List <Vector2> offsets = new List <Vector2>(); parts = parts.OrderBy(x => GunHelper.GetPartType(x).layer).ToList(); foreach (string key in parts) { try { GunPart partType = GunHelper.GetPartType(key); Texture2D tex = ModContent.GetTexture(partType.useTexture); textures.Add(tex); Vector2 offset = partType.offset; offsets.Add(offset); } catch (Exception e) { Gunplay.instance.Logger.Error("Something failed when getting invTexture in PostDrawInWorld! " + e.Message); } } for (int index = 0; index < textures.Count; index++) { Texture2D texture = textures[index]; Vector2 offset = offsets[index] / 2f; spriteBatch.Draw(texture, position + offset, null, lightColor, rotation, texture.Size() * 0.5f, scale, SpriteEffects.None, 0f); } }
public override void PostDrawInInventory(SpriteBatch spriteBatch, Vector2 position, Rectangle frame, Color drawColor, Color itemColor, Vector2 origin, float scale) { parts = parts.OrderBy(x => GunHelper.GetPartType(x).layer).ToList(); List <Texture2D> textures = new List <Texture2D>(); List <Vector2> offsets = new List <Vector2>(); foreach (string key in parts) { try { GunPart partType = GunHelper.GetPartType(key); Texture2D texture = ModContent.GetTexture(partType.useTexture); textures.Add(texture); Vector2 offset = partType.offset; offsets.Add(offset); } catch (Exception e) { Gunplay.instance.Logger.Error("Something failed when getting invTexture in PostDrawInInventory! " + e.Message); } } for (int index = 0; index < textures.Count; index++) { Texture2D texture = textures[index]; Vector2 offset = offsets[index]; spriteBatch.Draw(texture, position + offset, null, drawColor, 0f, origin, scale, SpriteEffects.None, 0f); } }
public override void SetDefaults() { item.width = 32; item.height = 32; item.useStyle = ItemUseStyleID.HoldingOut; item.useTurn = true; item.UseSound = SoundID.Item6; item.useTime = 10; item.useAnimation = 10; item.noUseGraphic = true; //hmm yes let me remove the held item layer instead damage = GunHelper.DamageFromParts(parts); GunHelper.SetDefaults(item); }
public override void OnDisconnected(DisconnectEventArgs e) { base.OnDisconnected(e); if (nameLabel != null) { nameLabel.Dispose(); nameLabel = null; } try { GunHelper.SaveGunInHand(this); } catch (Exception exception) { } }
public override void ModifyTooltips(List <TooltipLine> tooltips) { foreach (TooltipLine line in tooltips) { if (line.Name == "ItemName" && line.mod == "Terraria") { line.text = GunHelper.GetToolName(parts) + " " + itemType; } } string effectsText = ""; foreach (KeyValuePair <string, int> pair in effects) { EffectType effectType = GunHelper.GetEffectType(pair.Key); if (effectsText != "") { effectsText += "\n"; } effectsText += $"{effectType.name}"; if (effectType.showLevel) { effectsText += $" Level {pair.Value}"; } if (Main.keyState.PressingShift()) { effectsText += $": {effectType.desc}"; } } tooltips.Add(new TooltipLine(mod, "TerrariaConstruct:EffectsLine", effectsText)); if (!Main.keyState.PressingShift() && effects.Count > 0) { tooltips.Add(new TooltipLine(mod, "TerrariaConstruct:ShiftMessageLine", "Press Shift to see descriptions!")); } if (GunHelper.CheckForBrokenParts(parts)) { tooltips.Add(new TooltipLine(mod, "TerrariaConstruct:BrokenPartsLine", "This tool has broken parts! Did you disable a mod since you last played?")); } tooltips.Add(new TooltipLine(mod, "h", "Damage = " + GunHelper.DamageFromParts(parts))); }
public override bool PreDrawInWorld(SpriteBatch spriteBatch, Color lightColor, Color alphaColor, ref float rotation, ref float scale, int whoAmI) { item.SetNameOverride(GunHelper.GetToolName(parts) + " " + itemType); return(false); }
public override bool PreDrawInInventory(SpriteBatch spriteBatch, Vector2 position, Rectangle frame, Color drawColor, Color itemColor, Vector2 origin, float scale) { item.SetNameOverride(GunHelper.GetToolName(parts) + " " + itemType); return(false); }