Untitled
unknown
csharp
3 years ago
1.6 kB
16
Indexable
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.DataStructures;
using Terraria.ModLoader;
namespace WithBroomBetter.Common
{
public class DrawLayer : PlayerDrawLayer
{
public override Position GetDefaultPosition() => new BeforeParent(PlayerDrawLayers.Pulley);
public override bool GetDefaultVisibility(PlayerDrawSet drawInfo)
{
return drawInfo.drawPlayer.GetModPlayer<CustomPlayer>().purityShieldMount == true;
}
//For drawing Purity mount
protected override void Draw(ref PlayerDrawSet drawInfo)
{
Texture2D texture = (Texture2D)ModContent.Request<Texture2D>("WithBroomBetter/Mounts/PurityShieldMount");
int drawX = (int)(drawInfo.Position.X + drawInfo.drawPlayer.width / 2f - Main.screenPosition.X);
int drawY = (int)(drawInfo.Position.Y + drawInfo.drawPlayer.height / 2f - Main.screenPosition.Y);
float strength = (drawInfo.drawPlayer.miscTimer % 30f) / 15f;
if (strength > 1f)
{
strength = 2f - strength;
}
strength = 0.4f + strength * 0.2f;
DrawData data = new DrawData(texture, new Vector2(drawX, drawY), null, Color.White * strength, 0f, new Vector2(texture.Width / 2f, texture.Height / 2f), 1f, SpriteEffects.None, 0);
data.shader = drawInfo.drawPlayer.miscDyes[3].dye;
drawInfo.DrawDataCache.Add(data);
}
}
}
Editor is loading...