Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SimpleOverlay.cs
Go to the documentation of this file.
1
using
Microsoft.Xna.Framework
;
2
using
Microsoft.Xna.Framework.Graphics
;
3
using
ReLogic.Content
;
4
using
Terraria.Graphics.Shaders
;
5
6
namespace
Terraria.Graphics.Effects
;
7
8
public
class
SimpleOverlay
:
Overlay
9
{
10
private
Asset<Texture2D>
_texture
;
11
12
private
ScreenShaderData
_shader
;
13
14
public
Vector2
TargetPosition
=
Vector2
.
Zero
;
15
16
public
SimpleOverlay
(
string
textureName,
ScreenShaderData
shader,
EffectPriority
priority =
EffectPriority
.VeryLow,
RenderLayers
layer =
RenderLayers
.All)
17
: base(priority, layer)
18
{
19
_texture
=
Main
.
Assets
.Request<
Texture2D
>((textureName ==
null
) ?
""
: textureName, (
AssetRequestMode
)1);
20
_shader
= shader;
21
}
22
23
public
SimpleOverlay
(
string
textureName,
string
shaderName =
"Default"
,
EffectPriority
priority =
EffectPriority
.VeryLow,
RenderLayers
layer =
RenderLayers
.All)
24
: base(priority, layer)
25
{
26
_texture
=
Main
.
Assets
.Request<
Texture2D
>((textureName ==
null
) ?
""
: textureName, (
AssetRequestMode
)1);
27
_shader
=
new
ScreenShaderData
(
Main
.
ScreenShaderRef
, shaderName);
28
}
29
30
public
ScreenShaderData
GetShader
()
31
{
32
return
_shader
;
33
}
34
35
public
override
void
Draw
(
SpriteBatch
spriteBatch)
36
{
37
_shader
.
UseGlobalOpacity
(
Opacity
);
38
_shader
.
UseTargetPosition
(
TargetPosition
);
39
_shader
.
Apply
();
40
spriteBatch.
Draw
(
_texture
.
Value
,
new
Rectangle
(0, 0,
Main
.
screenWidth
,
Main
.
screenHeight
),
Main
.
ColorOfTheSkies
);
41
}
42
43
public
override
void
Update
(GameTime gameTime)
44
{
45
_shader
.
Update
(gameTime);
46
}
47
48
public
override
void
Activate
(
Vector2
position, params
object
[] args)
49
{
50
TargetPosition
= position;
51
Mode =
OverlayMode
.FadeIn;
52
}
53
54
public
override
void
Deactivate
(params
object
[] args)
55
{
56
Mode =
OverlayMode
.FadeOut;
57
}
58
59
public
override
bool
IsVisible
()
60
{
61
return
_shader.CombinedOpacity > 0f;
62
}
63
}
Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw
void Draw(Texture2D texture, Vector2 position, Color color)
Definition
SpriteBatch.cs:397
Microsoft.Xna.Framework.Graphics.SpriteBatch
Definition
SpriteBatch.cs:8
Microsoft.Xna.Framework.Graphics.Texture2D
Definition
Texture2D.cs:13
ReLogic.Content.Asset.Value
T Value
Definition
Asset.cs:26
ReLogic.Content.Asset
Definition
Asset.cs:8
Terraria.Graphics.Effects.GameEffect.Opacity
float Opacity
Definition
GameEffect.cs:7
Terraria.Graphics.Effects.Overlay
Definition
Overlay.cs:7
Terraria.Graphics.Effects.SimpleOverlay.Deactivate
override void Deactivate(params object[] args)
Definition
SimpleOverlay.cs:54
Terraria.Graphics.Effects.SimpleOverlay._shader
ScreenShaderData _shader
Definition
SimpleOverlay.cs:12
Terraria.Graphics.Effects.SimpleOverlay.SimpleOverlay
SimpleOverlay(string textureName, ScreenShaderData shader, EffectPriority priority=EffectPriority.VeryLow, RenderLayers layer=RenderLayers.All)
Definition
SimpleOverlay.cs:16
Terraria.Graphics.Effects.SimpleOverlay.Draw
override void Draw(SpriteBatch spriteBatch)
Definition
SimpleOverlay.cs:35
Terraria.Graphics.Effects.SimpleOverlay.Update
override void Update(GameTime gameTime)
Definition
SimpleOverlay.cs:43
Terraria.Graphics.Effects.SimpleOverlay.Activate
override void Activate(Vector2 position, params object[] args)
Definition
SimpleOverlay.cs:48
Terraria.Graphics.Effects.SimpleOverlay.GetShader
ScreenShaderData GetShader()
Definition
SimpleOverlay.cs:30
Terraria.Graphics.Effects.SimpleOverlay.TargetPosition
Vector2 TargetPosition
Definition
SimpleOverlay.cs:14
Terraria.Graphics.Effects.SimpleOverlay._texture
Asset< Texture2D > _texture
Definition
SimpleOverlay.cs:10
Terraria.Graphics.Effects.SimpleOverlay.SimpleOverlay
SimpleOverlay(string textureName, string shaderName="Default", EffectPriority priority=EffectPriority.VeryLow, RenderLayers layer=RenderLayers.All)
Definition
SimpleOverlay.cs:23
Terraria.Graphics.Effects.SimpleOverlay.IsVisible
override bool IsVisible()
Definition
SimpleOverlay.cs:59
Terraria.Graphics.Effects.SimpleOverlay
Definition
SimpleOverlay.cs:9
Terraria.Graphics.Shaders.ScreenShaderData.UseGlobalOpacity
ScreenShaderData UseGlobalOpacity(float opacity)
Definition
ScreenShaderData.cs:162
Terraria.Graphics.Shaders.ScreenShaderData.UseTargetPosition
ScreenShaderData UseTargetPosition(Vector2 position)
Definition
ScreenShaderData.cs:168
Terraria.Graphics.Shaders.ScreenShaderData.Apply
override void Apply()
Definition
ScreenShaderData.cs:58
Terraria.Graphics.Shaders.ScreenShaderData.Update
virtual void Update(GameTime gameTime)
Definition
ScreenShaderData.cs:54
Terraria.Graphics.Shaders.ScreenShaderData
Definition
ScreenShaderData.cs:8
Terraria.Main.ColorOfTheSkies
static Microsoft.Xna.Framework.Color ColorOfTheSkies
Definition
Main.cs:2577
Terraria.Main.ScreenShaderRef
static Ref< Effect > ScreenShaderRef
Definition
Main.cs:417
Terraria.Main.screenHeight
static int screenHeight
Definition
Main.cs:1721
Terraria.Main.screenWidth
static int screenWidth
Definition
Main.cs:1719
Terraria.Main.Assets
static IAssetRepository Assets
Definition
Main.cs:209
Terraria.Main
Definition
Main.cs:79
Microsoft.Xna.Framework.Graphics
Definition
AlphaTestEffect.cs:1
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
ReLogic.Content.AssetRequestMode
AssetRequestMode
Definition
AssetRequestMode.cs:4
ReLogic.Content
Definition
IAssetReader.cs:5
Terraria.Graphics.Effects.OverlayMode
OverlayMode
Definition
OverlayMode.cs:4
Terraria.Graphics.Effects.RenderLayers
RenderLayers
Definition
RenderLayers.cs:4
Terraria.Graphics.Effects.EffectPriority
EffectPriority
Definition
EffectPriority.cs:4
Terraria.Graphics.Effects
Definition
CustomSky.cs:4
Terraria.Graphics.Shaders
Definition
ArmorShaderData.cs:6
Microsoft.Xna.Framework.Rectangle
Definition
Rectangle.cs:12
Microsoft.Xna.Framework.Vector2.Zero
static Vector2 Zero
Definition
Vector2.cs:27
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
source
Terraria.Graphics.Effects
SimpleOverlay.cs
Generated by
1.10.0