Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
AchievementTracker.cs
Go to the documentation of this file.
1
using
Terraria.Social
;
2
3
namespace
Terraria.Achievements
;
4
5
public
abstract
class
AchievementTracker
<T> :
IAchievementTracker
6
{
7
protected
T
_value
;
8
9
protected
T
_maxValue
;
10
11
protected
string
_name
;
12
13
private
TrackerType
_type
;
14
15
public
T
Value
=>
_value
;
16
17
public
T
MaxValue
=>
_maxValue
;
18
19
protected
AchievementTracker
(
TrackerType
type)
20
{
21
_type
= type;
22
}
23
24
void
IAchievementTracker
.
ReportAs
(
string
name)
25
{
26
_name
= name;
27
}
28
29
TrackerType
IAchievementTracker
.
GetTrackerType
()
30
{
31
return
_type
;
32
}
33
34
void
IAchievementTracker
.
Clear
()
35
{
36
SetValue
(
default
(T));
37
}
38
39
public
void
SetValue
(T newValue,
bool
reportUpdate =
true
)
40
{
41
if
(newValue.Equals(
_value
))
42
{
43
return
;
44
}
45
_value
= newValue;
46
if
(reportUpdate)
47
{
48
ReportUpdate
();
49
if
(
_value
.Equals(
_maxValue
))
50
{
51
OnComplete
();
52
}
53
}
54
}
55
56
public
abstract
void
ReportUpdate
();
57
58
protected
abstract
void
Load
();
59
60
void
IAchievementTracker
.
Load
()
61
{
62
Load
();
63
}
64
65
protected
void
OnComplete
()
66
{
67
if
(
SocialAPI
.
Achievements
!=
null
)
68
{
69
SocialAPI
.
Achievements
.StoreStats();
70
}
71
}
72
}
Terraria.Achievements.AchievementTracker._value
T _value
Definition
AchievementTracker.cs:7
Terraria.Achievements.AchievementTracker.Value
T Value
Definition
AchievementTracker.cs:15
Terraria.Achievements.AchievementTracker._maxValue
T _maxValue
Definition
AchievementTracker.cs:9
Terraria.Achievements.AchievementTracker.Load
void Load()
Terraria.Achievements.AchievementTracker.OnComplete
void OnComplete()
Definition
AchievementTracker.cs:65
Terraria.Achievements.AchievementTracker._type
TrackerType _type
Definition
AchievementTracker.cs:13
Terraria.Achievements.AchievementTracker.SetValue
void SetValue(T newValue, bool reportUpdate=true)
Definition
AchievementTracker.cs:39
Terraria.Achievements.AchievementTracker.ReportUpdate
void ReportUpdate()
Terraria.Achievements.AchievementTracker.AchievementTracker
AchievementTracker(TrackerType type)
Definition
AchievementTracker.cs:19
Terraria.Achievements.AchievementTracker._name
string _name
Definition
AchievementTracker.cs:11
Terraria.Achievements.AchievementTracker.MaxValue
T MaxValue
Definition
AchievementTracker.cs:17
Terraria.Achievements.AchievementTracker
Definition
AchievementTracker.cs:6
Terraria.Social.SocialAPI.Achievements
static Terraria.Social.Base.AchievementsSocialModule Achievements
Definition
SocialAPI.cs:16
Terraria.Social.SocialAPI
Definition
SocialAPI.cs:11
Terraria.Achievements.IAchievementTracker.Load
void Load()
Terraria.Achievements.IAchievementTracker.ReportAs
void ReportAs(string name)
Terraria.Achievements.IAchievementTracker.GetTrackerType
TrackerType GetTrackerType()
Terraria.Achievements.IAchievementTracker.Clear
void Clear()
Terraria.Achievements.IAchievementTracker
Definition
IAchievementTracker.cs:4
Terraria.Achievements.TrackerType
TrackerType
Definition
TrackerType.cs:4
Terraria.Achievements
Definition
Achievement.cs:7
Terraria.Social
Definition
AchievementsSocialModule.cs:1
source
Terraria.Achievements
AchievementTracker.cs
Generated by
1.10.0