Elin Decompiled Documentation EA 23.299 Nightly
Loading...
Searching...
No Matches
ListPeopleParty Class Reference
Inheritance diagram for ListPeopleParty:
BaseListPeople ListOwner< Chara, ItemGeneral > EClass

Public Member Functions

bool CanJoinParty (Chara c)
 
override void OnRefreshMenu ()
 
override void OnInstantiate (Chara c, ItemGeneral i)
 
override void OnClick (Chara c, ItemGeneral i)
 
void JoinParty (Chara c)
 
override void OnList ()
 
HireInfo GetInfo (Chara c)
 
- Public Member Functions inherited from BaseListPeople
virtual bool IsDisabled (Chara c)
 
override void List ()
 
override void OnInstantiate (Chara a, ItemGeneral b)
 
void AddSubButtonWork (ItemGeneral b, Chara a)
 
void WriteHobbies (UITooltip t, Chara a, BaseArea roomWork)
 
virtual void SetSubText (Chara a, ItemGeneral b)
 
override void OnClick (Chara c, ItemGeneral i)
 
override void OnList ()
 
override void OnRefreshMenu ()
 
- Public Member Functions inherited from ListOwner< Chara, ItemGeneral >
virtual void OnClick (T1 a, T2 b)
 
virtual void OnInstantiate (T1 a, T2 b)
 
virtual void OnList ()
 
virtual void List ()
 
virtual void OnCreate ()
 
virtual void OnSwitchContent ()
 
void RefreshCaption ()
 
virtual void OnRefreshMenu ()
 
void RefreshTab ()
 
void MoveToOther (object c)
 
void RefreshAll (bool freeze=true)
 

Additional Inherited Members

- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
static int rnd (int a)
 
static int curve (long _a, int start, int step, int rate=75)
 
static int sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Public Attributes inherited from BaseListPeople
Chara owner
 
FactionMemberType memberType
 
- Public Attributes inherited from ListOwner< Chara, ItemGeneral >
Layer layer
 
Window window
 
UIMultiList multi
 
ListOwner other
 
UIDynamicList list
 
WindowMenu menu
 
Window.Setting.Tab tab
 
string textTab
 
string textHeader
 
bool main
 
int index
 
Func< string > funcHeader
 
- Static Public Attributes inherited from EClass
static Core core
 
- Properties inherited from BaseListPeople
new LayerPeople layer [get]
 
override string IdHeaderRow [get]
 
virtual bool ShowCharaSheet [get]
 
virtual bool ShowShowMode [get]
 
virtual LayerPeople.ShowMode ShowMode [get]
 
virtual bool ShowGoto [get]
 
virtual bool ShowHome [get]
 
- Properties inherited from ListOwner< Chara, ItemGeneral >
ListOwner Main [get]
 
virtual string IdTitle [get]
 
virtual string IdHeaderRow [get]
 
virtual string TextTab [get]
 
virtual string TextHeader [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 3 of file ListPeopleParty.cs.

Member Function Documentation

◆ CanJoinParty()

bool ListPeopleParty.CanJoinParty ( Chara  c)
inline

Definition at line 5 of file ListPeopleParty.cs.

6 {
7 if (!c.IsPC)
8 {
9 if (!c.isDead && !c.HasCondition<ConSuspend>() && c.currentZone != null && c.trait.CanJoinParty)
10 {
12 }
13 return false;
14 }
15 return true;
16 }
new TraitChara trait
Definition: Chara.cs:505
override bool IsPC
Definition: Chara.cs:626
bool HasCondition(string alias)
Definition: Chara.cs:9635
Zone currentZone
Definition: Chara.cs:257
bool isDead
Definition: Chara.cs:391
virtual bool CanJoinParty
Definition: TraitChara.cs:47
virtual bool CanJoinPartyResident
Definition: TraitChara.cs:50

References TraitChara.CanJoinParty, TraitChara.CanJoinPartyResident, Chara.currentZone, Chara.HasCondition(), Chara.isDead, Chara.IsPC, and Chara.trait.

Referenced by OnRefreshMenu().

◆ GetInfo()

HireInfo ListPeopleParty.GetInfo ( Chara  c)
inline

Definition at line 203 of file ListPeopleParty.cs.

204 {
205 return EClass.Home.listReserve.First((HireInfo a) => a.chara == c);
206 }
Definition: EClass.cs:6
static Faction Home
Definition: EClass.cs:27
List< HireInfo > listReserve
Definition: FACTION.cs:138
Chara chara
Definition: HireInfo.cs:6

References HireInfo.chara, EClass.Home, and Faction.listReserve.

◆ JoinParty()

void ListPeopleParty.JoinParty ( Chara  c)
inline

Definition at line 173 of file ListPeopleParty.cs.

174 {
175 if (c.currentZone != EClass._zone)
176 {
178 c.MoveImmediate(EClass.pc.pos.GetNearestPoint(allowBlock: false, allowChara: false) ?? EClass.pc.pos);
179 }
181 }
Point pos
Definition: Card.cs:60
void MoveImmediate(Point p, bool focus=true, bool cancelAI=true)
Definition: Card.cs:5985
Party party
Definition: Chara.cs:43
void MoveZone(string alias)
Definition: Chara.cs:3383
static Zone _zone
Definition: EClass.cs:21
static Chara pc
Definition: EClass.cs:15
void AddMemeber(Chara c, bool showMsg=false)
Definition: Party.cs:57
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false, int minRadius=0)
Definition: Point.cs:619

References EClass._zone, Party.AddMemeber(), Chara.currentZone, Point.GetNearestPoint(), Card.MoveImmediate(), Chara.MoveZone(), Chara.party, EClass.pc, and Card.pos.

Referenced by OnRefreshMenu().

◆ OnClick()

override void ListPeopleParty.OnClick ( Chara  c,
ItemGeneral  i 
)
inline

Definition at line 141 of file ListPeopleParty.cs.

142 {
143 if (main)
144 {
145 if (!CanJoinParty(c))
146 {
147 SE.Beep();
149 {
150 Msg.Say("ride_req");
151 }
152 return;
153 }
154 JoinParty(c);
155 }
156 else
157 {
158 if (c.IsPC)
159 {
160 SE.Beep();
161 return;
162 }
164 if (c.homeZone != EClass._zone)
165 {
166 c.MoveZone(c.homeZone);
167 }
168 }
169 MoveToOther(c);
170 base.Main.OnRefreshMenu();
171 }
Zone homeZone
Definition: Chara.cs:269
void JoinParty(Chara c)
bool CanJoinParty(Chara c)
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void RemoveMember(Chara c)
Definition: Party.cs:102

References EClass._zone, TraitChara.CanJoinPartyResident, Chara.homeZone, Chara.IsPC, Chara.MoveZone(), Chara.party, EClass.pc, Party.RemoveMember(), Msg.Say(), and Chara.trait.

◆ OnInstantiate()

override void ListPeopleParty.OnInstantiate ( Chara  c,
ItemGeneral  i 
)
inline

Definition at line 124 of file ListPeopleParty.cs.

125 {
126 Zone zone = (main ? c.currentZone : c.homeZone);
127 if (main)
128 {
129 i.SetSubText((zone == null) ? "???" : zone.Name, 240);
130 }
131 UIButton uIButton = i.AddSubButton(EClass.core.refs.icons.fav, delegate
132 {
133 SE.ClickGeneral();
134 c.isFav = !c.isFav;
135 RefreshAll();
136 }, null, null, "fav");
137 uIButton.icon.SetAlpha(c.isFav ? 1f : 0.3f);
138 uIButton.icon.SetNativeSize();
139 }
bool isFav
Definition: Card.cs:929
Sprite fav
Definition: CoreRef.cs:112
Icons icons
Definition: CoreRef.cs:355
CoreRef refs
Definition: Core.cs:51
static Core core
Definition: EClass.cs:7
UIButton AddSubButton(Sprite sprite, Action action, string lang=null, Action< UITooltip > onTooltip=null, string id=null)
Definition: ItemGeneral.cs:97
UIButton SetSubText(string lang, int x, FontColor c=FontColor.Default, TextAnchor align=TextAnchor.MiddleLeft)
Definition: ItemGeneral.cs:161
void RefreshAll(bool freeze=true)
Definition: ListOwner.cs:125
virtual string Name
Definition: Spatial.cs:509
Image icon
Definition: UIButton.cs:110
Definition: Zone.cs:12

References ItemGeneral.AddSubButton(), EClass.core, CoreRef.Icons.fav, Chara.homeZone, CoreRef.icons, Card.isFav, ListOwner< Chara, ItemGeneral >.main, Spatial.Name, ListOwner< Chara, ItemGeneral >.RefreshAll(), Core.refs, and ItemGeneral.SetSubText().

◆ OnList()

override void ListPeopleParty.OnList ( )
inlinevirtual

Reimplemented from BaseListPeople.

Definition at line 183 of file ListPeopleParty.cs.

184 {
185 if (main)
186 {
187 foreach (Chara value in EClass.game.cards.globalCharas.Values)
188 {
189 if (value.IsPCFaction && !value.IsPCParty && value.memberType == FactionMemberType.Default)
190 {
191 list.Add(value);
192 }
193 }
194 return;
195 }
196 foreach (Chara member in EClass.pc.party.members)
197 {
198 list.Add(member);
199 }
200 list.sortMode = UIList.SortMode.ByPartyOrder;
201 }
FactionMemberType
GlobalCharaList globalCharas
Definition: CardManager.cs:46
Definition: Chara.cs:10
override bool IsPCParty
Definition: Chara.cs:629
override bool IsPCFaction
Definition: Chara.cs:685
FactionMemberType memberType
Definition: Chara.cs:46
static Game game
Definition: EClass.cs:9
CardManager cards
Definition: Game.cs:156
List< Chara > members
Definition: Party.cs:19
override void Add(object o)
Definition: UIList.cs:9
SortMode
Definition: UIList.cs:27

References Game.cards, EClass.game, CardManager.globalCharas, Chara.IsPCFaction, Chara.IsPCParty, Party.members, Chara.memberType, Chara.party, and EClass.pc.

◆ OnRefreshMenu()

override void ListPeopleParty.OnRefreshMenu ( )
inlinevirtual

Reimplemented from BaseListPeople.

Definition at line 18 of file ListPeopleParty.cs.

19 {
20 base.OnRefreshMenu();
21 if (!main)
22 {
23 return;
24 }
25 WindowMenu menuLeft = window.menuLeft;
26 menuLeft.AddSpace();
27 menuLeft.AddHeader("party");
28 menuLeft.AddSpace(13f);
29 if (EClass.pc.party.members.Count > 1)
30 {
31 menuLeft.AddButton("disband", delegate
32 {
34 SE.Trash();
35 RefreshAll();
36 });
37 }
38 for (int j = 0; j < 5; j++)
39 {
40 int i = j;
42 if (setup == null)
43 {
44 menuLeft.AddButton("party_empty".lang((i + 1).ToString() ?? ""), delegate
45 {
46 if (EClass.pc.party.members.Count == 1)
47 {
48 SE.Beep();
49 }
50 else
51 {
52 SE.Equip();
54 RefreshAll();
55 }
56 });
57 continue;
58 }
59 UIButton uIButton = menuLeft._AddButton("Party", null);
60 uIButton.SetOnClick(delegate
61 {
63 foreach (int uid in setup.uids)
64 {
65 Chara chara3 = EClass.game.cards.globalCharas.Find(uid);
66 if (chara3 != null && !chara3.IsPC && CanJoinParty(chara3))
67 {
68 JoinParty(chara3);
69 if (chara3.uid == setup.ride)
70 {
71 ActRide.Ride(EClass.pc, chara3, parasite: false, talk: false);
72 }
73 else if (chara3.uid == setup.parasite)
74 {
75 ActRide.Ride(EClass.pc, chara3, parasite: true, talk: false);
76 }
77 }
78 }
79 SE.Equip();
80 RefreshAll();
81 });
82 bool flag = true;
83 foreach (int uid2 in setup.uids)
84 {
85 Chara chara = EClass.game.cards.globalCharas.Find(uid2);
86 if (chara == null || !CanJoinParty(chara))
87 {
88 flag = false;
89 }
90 }
91 uIButton.mainText.SetText("party_load".lang((i + 1).ToString() ?? ""), flag ? FontColor.Good : FontColor.Warning);
92 uIButton.SetTooltip(delegate(UITooltip n)
93 {
94 n.note.Clear();
95 n.note.AddHeader("faction_Member");
96 foreach (int uid3 in setup.uids)
97 {
98 Chara chara2 = EClass.game.cards.globalCharas.Find(uid3);
99 string text = ((chara2 == null) ? "???" : chara2.NameBraced);
100 if (chara2 != null)
101 {
102 if (chara2.uid == setup.ride)
103 {
104 text = text + " " + "party_ride".lang();
105 }
106 else if (chara2.uid == setup.parasite)
107 {
108 text = text + " " + "party_parasite".lang();
109 }
110 }
111 n.note.AddText(text, (chara2 == null || chara2.isDead) ? FontColor.Bad : ((!CanJoinParty(chara2)) ? FontColor.Warning : FontColor.Good));
112 }
113 n.note.Build();
114 });
115 uIButton.GetComponentInDirectChildren<UIButton>().SetOnClick(delegate
116 {
117 SE.Trash();
118 EClass.player.partySetups[i] = null;
119 RefreshAll();
120 });
121 }
122 }
FontColor
Definition: FontColor.cs:2
static void Ride(Chara host, Chara t, bool parasite=false, bool talk=true)
Definition: ActRide.cs:52
Chara Find(string id)
Definition: CardManager.cs:20
int uid
Definition: Card.cs:125
string NameBraced
Definition: Chara.cs:516
static Player player
Definition: EClass.cs:13
void Disband()
Definition: Party.cs:241
void RegisterSetup(int index)
Definition: Party.cs:223
List< int > uids
Definition: Player.cs:921
PartySetup[] partySetups
Definition: Player.cs:1203
UIText mainText
Definition: UIButton.cs:102
void SetTooltip(Action< UITooltip > onShowTooltip=null, bool enable=true)
Definition: UIButton.cs:361
void Clear()
Definition: UINote.cs:35
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113
void Build()
Definition: UINote.cs:49
void SetText(string s)
Definition: UIText.cs:163
UINote note
Definition: UITooltip.cs:21
UIButton _AddButton(string idButton, Sprite sprite)
Definition: WindowMenu.cs:126
void AddHeader(string idLang, Sprite sprite=null)
Definition: WindowMenu.cs:54
void AddSpace(float height=30f)
Definition: WindowMenu.cs:60
UIButton AddButton(string idLang, Action< UIButton > onClick, Sprite sprite=null, string idButton="Default")
Definition: WindowMenu.cs:67
WindowMenu menuLeft
Definition: Window.cs:700

References WindowMenu._AddButton(), WindowMenu.AddButton(), WindowMenu.AddHeader(), UINote.AddHeader(), WindowMenu.AddSpace(), UINote.AddText(), UINote.Build(), CanJoinParty(), Game.cards, UINote.Clear(), Party.Disband(), CardManager.GlobalCharaList.Find(), EClass.game, CardManager.globalCharas, Chara.isDead, Chara.IsPC, JoinParty(), ListOwner< Chara, ItemGeneral >.main, Party.members, Window.menuLeft, Chara.NameBraced, UITooltip.note, Player.PartySetup.parasite, Chara.party, Player.partySetups, EClass.pc, EClass.player, ListOwner< Chara, ItemGeneral >.RefreshAll(), Party.RegisterSetup(), ActRide.Ride(), Player.PartySetup.ride, Card.uid, Player.PartySetup.uids, and ListOwner< Chara, ItemGeneral >.window.


The documentation for this class was generated from the following file: