Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PunchCameraModifier.cs
Go to the documentation of this file.
1
using
System
;
2
using
Microsoft.Xna.Framework
;
3
4
namespace
Terraria.Graphics.CameraModifiers
;
5
6
public
class
PunchCameraModifier
:
ICameraModifier
7
{
8
private
int
_framesToLast
;
9
10
private
Vector2
_startPosition
;
11
12
private
Vector2
_direction
;
13
14
private
float
_distanceFalloff
;
15
16
private
float
_strength
;
17
18
private
float
_vibrationCyclesPerSecond
;
19
20
private
int
_framesLasted
;
21
22
public
string
UniqueIdentity
{
get
;
private
set
; }
23
24
public
bool
Finished
{
get
;
private
set
; }
25
26
public
PunchCameraModifier
(
Vector2
startPosition,
Vector2
direction,
float
strength,
float
vibrationCyclesPerSecond,
int
frames,
float
distanceFalloff = -1f,
string
uniqueIdentity =
null
)
27
{
28
_startPosition
= startPosition;
29
_direction
= direction;
30
_strength
= strength;
31
_vibrationCyclesPerSecond
= vibrationCyclesPerSecond;
32
_framesToLast
= frames;
33
_distanceFalloff
= distanceFalloff;
34
UniqueIdentity
= uniqueIdentity;
35
}
36
37
public
void
Update
(ref
CameraInfo
cameraInfo)
38
{
39
float
num = (float)
Math
.
Cos
((
float
)
_framesLasted
/ 60f *
_vibrationCyclesPerSecond
* ((float)
Math
.
PI
* 2f));
40
float
num2 =
Utils
.
Remap
(
_framesLasted
, 0f,
_framesToLast
, 1f, 0f);
41
float
num3 =
Utils
.
Remap
(
Vector2
.
Distance
(
_startPosition
, cameraInfo.OriginalCameraCenter), 0f,
_distanceFalloff
, 1f, 0f);
42
if
(
_distanceFalloff
== -1f)
43
{
44
num3 = 1f;
45
}
46
cameraInfo.CameraPosition +=
_direction
* num *
_strength
* num2 * num3;
47
_framesLasted
++;
48
if
(
_framesLasted
>=
_framesToLast
)
49
{
50
Finished
=
true
;
51
}
52
}
53
}
System.Math.Cos
static double Cos(double d)
System.Math.PI
const double PI
Definition
Math.cs:16
System.Math
Definition
Math.cs:13
Terraria.Graphics.CameraModifiers.PunchCameraModifier._distanceFalloff
float _distanceFalloff
Definition
PunchCameraModifier.cs:14
Terraria.Graphics.CameraModifiers.PunchCameraModifier._vibrationCyclesPerSecond
float _vibrationCyclesPerSecond
Definition
PunchCameraModifier.cs:18
Terraria.Graphics.CameraModifiers.PunchCameraModifier._framesToLast
int _framesToLast
Definition
PunchCameraModifier.cs:8
Terraria.Graphics.CameraModifiers.PunchCameraModifier.Update
void Update(ref CameraInfo cameraInfo)
Definition
PunchCameraModifier.cs:37
Terraria.Graphics.CameraModifiers.PunchCameraModifier.Finished
bool Finished
Definition
PunchCameraModifier.cs:24
Terraria.Graphics.CameraModifiers.PunchCameraModifier._framesLasted
int _framesLasted
Definition
PunchCameraModifier.cs:20
Terraria.Graphics.CameraModifiers.PunchCameraModifier._startPosition
Vector2 _startPosition
Definition
PunchCameraModifier.cs:10
Terraria.Graphics.CameraModifiers.PunchCameraModifier.UniqueIdentity
string UniqueIdentity
Definition
PunchCameraModifier.cs:22
Terraria.Graphics.CameraModifiers.PunchCameraModifier._strength
float _strength
Definition
PunchCameraModifier.cs:16
Terraria.Graphics.CameraModifiers.PunchCameraModifier._direction
Vector2 _direction
Definition
PunchCameraModifier.cs:12
Terraria.Graphics.CameraModifiers.PunchCameraModifier.PunchCameraModifier
PunchCameraModifier(Vector2 startPosition, Vector2 direction, float strength, float vibrationCyclesPerSecond, int frames, float distanceFalloff=-1f, string uniqueIdentity=null)
Definition
PunchCameraModifier.cs:26
Terraria.Graphics.CameraModifiers.PunchCameraModifier
Definition
PunchCameraModifier.cs:7
Terraria.Utils.Remap
static float Remap(float fromValue, float fromMin, float fromMax, float toMin, float toMax, bool clamped=true)
Definition
Utils.cs:233
Terraria.Utils
Definition
Utils.cs:29
Terraria.Graphics.CameraModifiers.ICameraModifier
Definition
ICameraModifier.cs:4
Microsoft.Xna.Framework
Definition
AlphaTestEffect.cs:1
System
Definition
BlockingCollection.cs:8
Terraria.Graphics.CameraModifiers
Definition
CameraInfo.cs:3
Microsoft.Xna.Framework.Vector2.Distance
static float Distance(Vector2 value1, Vector2 value2)
Definition
Vector2.cs:91
Microsoft.Xna.Framework.Vector2
Definition
Vector2.cs:12
Terraria.Graphics.CameraModifiers.CameraInfo
Definition
CameraInfo.cs:6
source
Terraria.Graphics.CameraModifiers
PunchCameraModifier.cs
Generated by
1.10.0