-
Notifications
You must be signed in to change notification settings - Fork 55
/
CustomEquipment.cs
96 lines (86 loc) · 3.66 KB
/
CustomEquipment.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using RoR2;
using UnityEngine;
namespace R2API;
public class CustomEquipment
{
public EquipmentDef? EquipmentDef;
public ItemDisplayRuleDict? ItemDisplayRules;
public CustomEquipment(EquipmentDef? equipmentDef, ItemDisplayRule[]? itemDisplayRules)
{
EquipmentDef = equipmentDef;
ItemDisplayRules = new ItemDisplayRuleDict(itemDisplayRules);
}
public CustomEquipment(EquipmentDef? equipmentDef, ItemDisplayRuleDict? itemDisplayRules)
{
EquipmentDef = equipmentDef;
ItemDisplayRules = itemDisplayRules;
}
public CustomEquipment(string name, string nameToken,
string descriptionToken, string loreToken,
string pickupToken,
Sprite pickupIconSprite, GameObject pickupModelPrefab,
float cooldown,
bool canDrop,
bool enigmaCompatible,
bool isBoss, bool isLunar,
BuffDef passiveBuffDef,
UnlockableDef unlockableDef,
ColorCatalog.ColorIndex colorIndex = ColorCatalog.ColorIndex.Equipment,
bool appearsInMultiPlayer = true, bool appearsInSinglePlayer = true,
ItemDisplayRule[]? itemDisplayRules = null)
{
EquipmentDef = ScriptableObject.CreateInstance<EquipmentDef>();
EquipmentDef.appearsInMultiPlayer = appearsInMultiPlayer;
EquipmentDef.appearsInSinglePlayer = appearsInSinglePlayer;
EquipmentDef.canDrop = canDrop;
EquipmentDef.colorIndex = colorIndex;
EquipmentDef.cooldown = cooldown;
EquipmentDef.descriptionToken = descriptionToken;
EquipmentDef.enigmaCompatible = enigmaCompatible;
EquipmentDef.isBoss = isBoss;
EquipmentDef.isLunar = isLunar;
EquipmentDef.loreToken = loreToken;
EquipmentDef.name = name;
EquipmentDef.nameToken = nameToken;
EquipmentDef.passiveBuffDef = passiveBuffDef;
EquipmentDef.pickupIconSprite = pickupIconSprite;
EquipmentDef.pickupModelPrefab = pickupModelPrefab;
EquipmentDef.pickupToken = pickupToken;
EquipmentDef.unlockableDef = unlockableDef;
ItemDisplayRules = new ItemDisplayRuleDict(itemDisplayRules);
}
public CustomEquipment(string name, string nameToken,
string descriptionToken, string loreToken,
string pickupToken,
Sprite pickupIconSprite, GameObject pickupModelPrefab,
float cooldown,
bool canDrop,
bool enigmaCompatible,
bool isBoss, bool isLunar,
BuffDef passiveBuffDef,
UnlockableDef unlockableDef,
ColorCatalog.ColorIndex colorIndex = ColorCatalog.ColorIndex.Equipment,
bool appearsInMultiPlayer = true, bool appearsInSinglePlayer = true,
ItemDisplayRuleDict? itemDisplayRules = null)
{
EquipmentDef = ScriptableObject.CreateInstance<EquipmentDef>();
EquipmentDef.appearsInMultiPlayer = appearsInMultiPlayer;
EquipmentDef.appearsInSinglePlayer = appearsInSinglePlayer;
EquipmentDef.canDrop = canDrop;
EquipmentDef.colorIndex = colorIndex;
EquipmentDef.cooldown = cooldown;
EquipmentDef.descriptionToken = descriptionToken;
EquipmentDef.enigmaCompatible = enigmaCompatible;
EquipmentDef.isBoss = isBoss;
EquipmentDef.isLunar = isLunar;
EquipmentDef.loreToken = loreToken;
EquipmentDef.name = name;
EquipmentDef.nameToken = nameToken;
EquipmentDef.passiveBuffDef = passiveBuffDef;
EquipmentDef.pickupIconSprite = pickupIconSprite;
EquipmentDef.pickupModelPrefab = pickupModelPrefab;
EquipmentDef.pickupToken = pickupToken;
EquipmentDef.unlockableDef = unlockableDef;
ItemDisplayRules = itemDisplayRules;
}
}