Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PersonalityDatabase.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
3
namespace
Terraria.GameContent.Personalities
;
4
5
public
class
PersonalityDatabase
6
{
7
private
Dictionary<int, PersonalityProfile>
_personalityProfiles
;
8
9
private
PersonalityProfile
_trashEntry
=
new
PersonalityProfile
();
10
11
public
PersonalityDatabase
()
12
{
13
_personalityProfiles
=
new
Dictionary<int, PersonalityProfile>
();
14
}
15
16
public
void
Register
(
int
npcId
,
IShopPersonalityTrait
trait
)
17
{
18
if
(!
_personalityProfiles
.
ContainsKey
(
npcId
))
19
{
20
_personalityProfiles
[
npcId
] =
new
PersonalityProfile
();
21
}
22
_personalityProfiles
[
npcId
].ShopModifiers.
Add
(
trait
);
23
}
24
25
public
void
Register
(
IShopPersonalityTrait
trait
,
params
int
[]
npcIds
)
26
{
27
for
(
int
i = 0; i <
npcIds
.Length; i++)
28
{
29
Register
(
trait
,
npcIds
[i]);
30
}
31
}
32
33
public
PersonalityProfile
GetByNPCID
(
int
npcId
)
34
{
35
if
(
_personalityProfiles
.
TryGetValue
(
npcId
,
out
var
value))
36
{
37
return
value;
38
}
39
return
_trashEntry
;
40
}
41
}
System.Collections.Generic.Dictionary.TryGetValue
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
Definition
Dictionary.cs:1419
System.Collections.Generic.Dictionary.ContainsKey
bool ContainsKey(TKey key)
Definition
Dictionary.cs:917
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
Terraria.GameContent.Personalities.PersonalityDatabase.PersonalityDatabase
PersonalityDatabase()
Definition
PersonalityDatabase.cs:11
Terraria.GameContent.Personalities.PersonalityDatabase._personalityProfiles
Dictionary< int, PersonalityProfile > _personalityProfiles
Definition
PersonalityDatabase.cs:7
Terraria.GameContent.Personalities.PersonalityDatabase.GetByNPCID
PersonalityProfile GetByNPCID(int npcId)
Definition
PersonalityDatabase.cs:33
Terraria.GameContent.Personalities.PersonalityDatabase.Register
void Register(IShopPersonalityTrait trait, params int[] npcIds)
Definition
PersonalityDatabase.cs:25
Terraria.GameContent.Personalities.PersonalityDatabase._trashEntry
PersonalityProfile _trashEntry
Definition
PersonalityDatabase.cs:9
Terraria.GameContent.Personalities.PersonalityDatabase.Register
void Register(int npcId, IShopPersonalityTrait trait)
Definition
PersonalityDatabase.cs:16
Terraria.GameContent.Personalities.PersonalityDatabase
Definition
PersonalityDatabase.cs:6
Terraria.GameContent.Personalities.PersonalityProfile
Definition
PersonalityProfile.cs:6
Terraria.GameContent.Personalities.IShopPersonalityTrait
Definition
IShopPersonalityTrait.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
Terraria.GameContent.Personalities
Definition
AffectionLevel.cs:1
source
Terraria.GameContent.Personalities
PersonalityDatabase.cs
Generated by
1.10.0