Elin Decompiled Documentation EA 23.287 Stable
Loading...
Searching...
No Matches
LayerQuestBoard Class Reference
Inheritance diagram for LayerQuestBoard:
ELayer Layer IUISkin

Public Member Functions

override void OnInit ()
 
override void OnSwitchContent (Window window)
 
void RefreshQuest ()
 
void RefreshHire ()
 
void RefreshRanking ()
 
override void OnKill ()
 
- Public Member Functions inherited from ELayer
override void OnBeforeAddLayer ()
 
void InitInspector ()
 
sealed override void Init ()
 
override void OnAfterAddLayer ()
 
void TryShowHelp ()
 
void AddLayerToUI (string id)
 
void TryShowHint (string _langHint=null)
 
void TalkHomeMemeber (string id)
 
void TalkMaid (string id)
 
override void OnRightClick ()
 
- Public Member Functions inherited from Layer
virtual string GetTextHeader (Window window)
 
virtual bool HeaderIsListOf (int id)
 
virtual void Init ()
 
virtual void OnInit ()
 
virtual void OnAfterInit ()
 
virtual void ApplySkin ()
 
void ShowScreenLock (string id)
 
void UpdateInput ()
 
virtual void OnUpdateInput ()
 
virtual void OnRightClick ()
 
virtual bool OnBack ()
 
virtual void OnChangeLayer ()
 
virtual void OnCreate ()
 
void _AddLayer (string id)
 
Layer AddLayer (string id)
 
AddLayer< T > ()
 
AddLayer< T > (string id)
 
AddLayerDontCloseOthers< T > ()
 
Layer AddLayerDontCloseOthers (Layer l)
 
GetOrAddLayer< T > ()
 
virtual void OnBeforeAddLayer ()
 
virtual void OnAfterAddLayer ()
 
Layer AddLayer (Layer l)
 
void ToggleLayer (string id)
 
ToggleLayer< T > (string id=null)
 
void WaitAndClose ()
 
void OnClickClose ()
 
virtual void Close ()
 
void CloseLayers ()
 
void RemoveLayers (bool removeImportant=false)
 
bool RemoveLayer< T > ()
 
void RemoveLayer (Layer l)
 
virtual void OnKill ()
 
Layer SetOnKill (Action action)
 
void DisableClose ()
 
void Delay (float duration=0.05f)
 
Layer SetDelay (float d)
 
Layer GetLayer (string id)
 
GetLayer< T > (bool fromTop=false)
 
Layer GetTopLayer ()
 
void SwitchContent (int idWindow, int i)
 
virtual void OnSwitchContent (Window window)
 
Layer SetTitles (string langList, string idHeaderRow=null)
 
bool IsBlockWidgetClick ()
 
bool IsHideHud ()
 
bool IsAllowGeneralInput ()
 
bool IsUseBlur ()
 
bool IsPointerOnLayer ()
 
void ApplySkin ()
 

Public Attributes

UIList list
 
UIList listHire
 
UIDynamicList listRanking
 
UIText textClient
 
UIText textTitle
 
UIText textDetail
 
UIText textHours
 
UIText textNote
 
UIText textReward
 
UIText textQuestLimit
 
Portrait portrait
 
UIButton buttonTalk
 
UICurrency uiCurrency
 
Gradient gradientRank
 
- Public Attributes inherited from Layer
Option option
 
UnityEvent onKill
 
Anime animeIn
 
Anime animeOut
 
bool closeOthers
 
bool defaultActionMode = true
 
Button screenLock
 
Layer parent
 
string idLayer
 
List< Layerlayers = new List<Layer>()
 
Vector2 lastParentPos
 
List< Windowwindows = new List<Window>()
 
string langHint
 

Additional Inherited Members

- Static Public Member Functions inherited from ELayer
static int rnd (int a)
 
- Static Public Member Functions inherited from Layer
static T Create< T > ()
 
static T Create< T > (string path)
 
static Layer Create (string path)
 
- Static Public Attributes inherited from Layer
static int skipInput
 
static bool closeOnRightClick
 
static bool rightClicked
 
static bool cancelKeyDown
 
static bool ignoreSounds
 
static Transform blurStopInstance
 
static string[] searchPath = new string[3] { "Layer", "Layer/Dialog", "Layer/LayerHome" }
 
- Protected Member Functions inherited from ELayer
sealed override void _Close ()
 
sealed override void Kill ()
 
- Protected Member Functions inherited from Layer
virtual void Awake ()
 
virtual void _Close ()
 
virtual void Kill ()
 
- Protected Attributes inherited from Layer
RectTransform _rect
 
bool isDestroyed
 
- Properties inherited from ELayer
static Core core [get]
 
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static FactionBranch Branch [get]
 
static Faction Home [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static CoreConfig config [get]
 
static GameSetting setting [get]
 
static ColorProfile Colors [get]
 
static SourceManager sources [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 
bool IsFloat [get]
 
virtual string IdHelp [get]
 
- Properties inherited from Layer
Layer TopLayer [get]
 
string uid [get]
 
virtual RectTransform rectLayers [get]
 
virtual bool blockWidgetClick [get]
 

Detailed Description

Definition at line 3 of file LayerQuestBoard.cs.

Member Function Documentation

◆ OnInit()

override void LayerQuestBoard.OnInit ( )
inlinevirtual

Reimplemented from Layer.

Definition at line 33 of file LayerQuestBoard.cs.

34 {
36 {
38 }
39 windows[0].setting.tabs[1].disable = !ELayer._zone.IsPCFaction;
41 }
Definition: ELayer.cs:4
static Zone _zone
Definition: ELayer.cs:25
void UpdateReqruits(bool clear=false)
static void ClearDramaRef()
Definition: GameLang.cs:16
List< Window > windows
Definition: Layer.cs:116
FactionBranch branch
Definition: Zone.cs:34
bool IsPCFaction
Definition: Zone.cs:475

References ELayer._zone, Zone.branch, GameLang.ClearDramaRef(), Zone.IsPCFaction, FactionBranch.UpdateReqruits(), and Layer.windows.

◆ OnKill()

override void LayerQuestBoard.OnKill ( )
inlinevirtual

Reimplemented from Layer.

Definition at line 220 of file LayerQuestBoard.cs.

221 {
222 if (ELayer.Branch != null)
223 {
225 }
226 }
static FactionBranch Branch
Definition: ELayer.cs:17
void ClearNewRecruits()

References ELayer.Branch, and FactionBranch.ClearNewRecruits().

◆ OnSwitchContent()

override void LayerQuestBoard.OnSwitchContent ( Window  window)
inlinevirtual

Reimplemented from Layer.

Definition at line 43 of file LayerQuestBoard.cs.

44 {
45 switch (window.idTab)
46 {
47 case 0:
49 break;
50 case 1:
52 {
53 ELayer.Branch.UpdateReqruits(clear: true);
54 }
56 break;
57 case 2:
59 break;
60 }
61 WindowMenu menuRight = windows[0].menuRight;
62 menuRight.Clear();
63 if (window.idTab != 0)
64 {
65 return;
66 }
67 UIButton button = null;
68 button = menuRight.AddButton("rerollQuest".lang(GetCost().ToString() ?? ""), delegate
69 {
70 if (ELayer._zone.influence < GetCost())
71 {
72 SE.Beep();
73 Msg.Say("notEnoughInfluence");
74 }
75 else
76 {
77 SE.Dice();
78 ELayer._zone.UpdateQuests(force: true);
80 ELayer._zone.influence -= GetCost();
82 {
84 }
85 button.mainText.SetText("rerollQuest".lang(GetCost().ToString() ?? ""));
86 }
87 });
88 static int GetCost()
89 {
90 return 1;
91 }
92 }
bool enable
Definition: CoreDebug.cs:286
static Player player
Definition: ELayer.cs:13
static CoreDebug debug
Definition: ELayer.cs:43
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
int questRerollCost
Definition: Player.cs:1017
int influence
Definition: Spatial.cs:214
UIText mainText
Definition: UIButton.cs:102
void SetText(string s)
Definition: UIText.cs:163
void Clear()
Definition: WindowMenu.cs:44
UIButton AddButton(string idLang, Action< UIButton > onClick, Sprite sprite=null, string idButton="Default")
Definition: WindowMenu.cs:67
int idTab
Definition: Window.cs:694
void UpdateQuests(bool force=false)
Definition: Zone.cs:3697

References ELayer._zone, WindowMenu.AddButton(), ELayer.Branch, WindowMenu.Clear(), ELayer.debug, CoreDebug.enable, Window.idTab, Spatial.influence, UIButton.mainText, ELayer.player, Player.questRerollCost, RefreshHire(), RefreshQuest(), RefreshRanking(), Msg.Say(), UIText.SetText(), Zone.UpdateQuests(), FactionBranch.UpdateReqruits(), and Layer.windows.

◆ RefreshHire()

void LayerQuestBoard.RefreshHire ( )
inline

Definition at line 128 of file LayerQuestBoard.cs.

129 {
131 list.Clear();
132 list.callbacks = new UIList.Callback<HireInfo, ButtonChara>
133 {
134 onClick = delegate(HireInfo a, ButtonChara b)
135 {
136 a.isNew = false;
137 GameLang.refDrama1 = "(" + "money2".lang() + ": " + CalcGold.Hire(a.chara) + ")";
138 GameLang.refDrama2 = ELayer.pc.things.Find("ticket_resident")?.Name ?? "";
139 a.chara.ShowDialog("_chara", "4-1").onKill.AddListener(RefreshHire);
140 },
141 onInstantiate = delegate(HireInfo a, ButtonChara b)
142 {
143 Chara chara = a.chara;
144 b.SetChara(chara, ButtonChara.Mode.Hire);
145 int cost = CalcGold.Hire(chara);
146 b.item.text1.text = cost.ToString().TagColorGoodBad(() => ELayer.pc.GetCurrency("money2") >= cost || ELayer.pc.things.Find("ticket_resident") != null);
147 b.item.text2.text = ((a.Days == -1) ? "-" : (a.Days.ToString() ?? ""));
148 HintIcon[] componentsInChildren = b.layoutTag.GetComponentsInChildren<HintIcon>();
149 for (int i = 0; i < componentsInChildren.Length; i++)
150 {
151 componentsInChildren[i].onPointerDown = delegate
152 {
153 list.callbacks.OnClick(a, b);
154 };
155 }
156 b.textHobby.text = chara.GetTextHobby();
157 b.textWork.text = chara.GetTextWork();
158 b.textLifeStyle.text = "lifestyle".lang() + ": " + ("lifestyle_" + chara.idTimeTable).lang();
159 b.item.image1.SetActive(a.isNew);
160 },
161 onRefresh = null
162 };
164 {
165 if (!item.chara.IsHomeMember() && (item.chara.currentZone == null || !item.chara.currentZone.IsPlayerFaction))
166 {
167 list.Add(item);
168 }
169 }
170 list.Refresh();
171 this.RebuildLayout(recursive: true);
172 }
UIList.ICallback callbacks
Definition: BaseList.cs:13
new UIItem item
Definition: ButtonChara.cs:29
void SetChara(Chara c, Mode m)
Definition: ButtonChara.cs:35
LayoutGroup layoutTag
Definition: ButtonChara.cs:33
static int Hire(Chara c)
Definition: CalcGold.cs:8
string Name
Definition: Card.cs:2177
int GetCurrency(string id="money")
Definition: Card.cs:4057
ThingContainer things
Definition: Card.cs:39
Definition: Chara.cs:10
void ShowDialog()
Definition: Chara.cs:7193
string idTimeTable
Definition: Chara.cs:470
string GetTextWork(bool simple=false)
Definition: Chara.cs:9271
string GetTextHobby(bool simple=false)
Definition: Chara.cs:9261
static Chara pc
Definition: ELayer.cs:15
List< HireInfo > listRecruit
Action onPointerDown
Definition: HintIcon.cs:15
Chara chara
Definition: HireInfo.cs:6
int Days
Definition: HireInfo.cs:29
bool isNew
Definition: HireInfo.cs:9
Thing Find(int uid)
Image image1
Definition: UIItem.cs:14
Definition: UIList.cs:9
override void Clear()
Definition: UIList.cs:401
override void Add(object item)
Definition: UIList.cs:354
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:476

References UIList.Add(), ELayer.Branch, BaseList.callbacks, HireInfo.chara, UIList.Clear(), HireInfo.Days, ThingContainer.Find(), Card.GetCurrency(), Chara.GetTextHobby(), Chara.GetTextWork(), CalcGold.Hire(), Chara.idTimeTable, UIItem.image1, HireInfo.isNew, ButtonChara.item, item, ButtonChara.layoutTag, list, listHire, FactionBranch.listRecruit, Card.Name, HintIcon.onPointerDown, ELayer.pc, UIList.Refresh(), RefreshHire(), ButtonChara.SetChara(), Chara.ShowDialog(), and Card.things.

Referenced by OnSwitchContent(), and RefreshHire().

◆ RefreshQuest()

void LayerQuestBoard.RefreshQuest ( )
inline

Definition at line 94 of file LayerQuestBoard.cs.

95 {
96 list.Clear();
97 list.callbacks = new UIList.Callback<Quest, ItemQuest>
98 {
99 onInstantiate = delegate(Quest a, ItemQuest b)
100 {
101 b.SetQuest(a);
102 b.button.SetOnClick(delegate
103 {
104 Close();
105 a.OnClickQuest();
106 });
107 }
108 };
110 foreach (Quest global in ELayer.game.quests.globalList)
111 {
112 if (global.IsVisibleOnQuestBoard())
113 {
114 list.Add(global);
115 }
116 }
117 foreach (Chara chara in ELayer._map.charas)
118 {
119 if (chara.quest != null && !ELayer.game.quests.list.Contains(chara.quest) && !chara.IsPCParty && chara.memberType == FactionMemberType.Default && chara.quest.IsVisibleOnQuestBoard())
120 {
121 list.Add(chara.quest);
122 }
123 }
124 list.Refresh();
125 textQuestLimit.SetText("questLimit".lang(ELayer.game.quests.CountRandomQuest().ToString() ?? "", 5.ToString() ?? ""));
126 }
Quest quest
Definition: Chara.cs:24
static Game game
Definition: ELayer.cs:9
static Map _map
Definition: ELayer.cs:23
QuestManager quests
Definition: Game.cs:183
void SetQuest(Quest q)
Definition: ItemQuest.cs:23
UIButton button
Definition: ItemQuest.cs:7
virtual void Close()
Definition: Layer.cs:463
List< Chara > charas
Definition: Map.cs:81
List< Quest > list
Definition: QuestManager.cs:11
int CountRandomQuest()
List< Quest > globalList
Definition: QuestManager.cs:14
Definition: Quest.cs:7
virtual void OnClickQuest()
Definition: Quest.cs:422
virtual bool IsVisibleOnQuestBoard()
Definition: Quest.cs:292

References ELayer._map, ELayer._zone, UIList.Add(), ItemQuest.button, Map.charas, UIList.Clear(), Layer.Close(), QuestManager.CountRandomQuest(), ELayer.game, QuestManager.globalList, Quest.IsVisibleOnQuestBoard(), list, QuestManager.list, Quest.OnClickQuest(), Chara.quest, Game.quests, UIList.Refresh(), ItemQuest.SetQuest(), UIText.SetText(), textQuestLimit, and Zone.UpdateQuests().

Referenced by OnSwitchContent().

◆ RefreshRanking()

void LayerQuestBoard.RefreshRanking ( )
inline

Definition at line 174 of file LayerQuestBoard.cs.

175 {
177 list.Clear();
178 list.callbacks = new UIList.Callback<Chara, ButtonChara>
179 {
180 onClick = delegate
181 {
182 },
183 onRedraw = delegate(Chara a, ButtonChara b, int i)
184 {
185 b.SetChara(a, ButtonChara.Mode.Ranking);
186 int advRank = a.trait.GetAdvRank();
188 b.textAlias.color = gradientRank.Evaluate(0.1f * (float)advRank);
189 b.item.image2.SetActive(a.IsPCFaction);
190 bool enable = a.GetInt(111) > 0;
191 b.transDefeated.SetActive(enable);
192 },
193 onList = delegate
194 {
195 foreach (Chara value in ELayer.game.cards.globalCharas.Values)
196 {
197 if (value.trait.ShowAdvRank)
198 {
199 list.Add(value);
200 }
201 }
202 list.objects.Sort((object a, object b) => GetSortVal(b as Chara) - GetSortVal(a as Chara));
203 },
204 onRefresh = null
205 };
206 list.List();
207 int num = list.objects.IndexOf(ELayer.pc);
208 if (num != -1)
209 {
210 list.dsv.scrollByItemIndex(num);
211 list.Refresh();
212 }
213 this.RebuildLayout(recursive: true);
214 static int GetSortVal(Chara c)
215 {
216 return c.trait.GetAdvRank() * 10000 + Mathf.Clamp(c.LV, 0, 1000) + ((c.trait is TraitAdventurerBacker) ? 1000 : 0);
217 }
218 }
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
Transform transDefeated
Definition: ButtonChara.cs:31
UIText textAlias
Definition: ButtonChara.cs:19
GlobalCharaList globalCharas
Definition: CardManager.cs:46
int LV
Definition: Card.cs:387
new TraitChara trait
Definition: Chara.cs:505
override bool IsPCFaction
Definition: Chara.cs:685
CardManager cards
Definition: Game.cs:156
UIDynamicList listRanking
Gradient gradientRank
string GetAdvRankText()
Definition: TraitChara.cs:175
virtual bool ShowAdvRank
Definition: TraitChara.cs:95
int GetAdvRank()
Definition: TraitChara.cs:160
Image image2
Definition: UIItem.cs:16
void Sort()
Definition: UIList.cs:749
override void List()
Definition: UIList.cs:769

References UIList.Add(), Game.cards, UIList.Clear(), ELayer.game, TraitChara.GetAdvRank(), TraitChara.GetAdvRankText(), BaseCard.GetInt(), CardManager.globalCharas, gradientRank, UIItem.image2, Chara.IsPCFaction, ButtonChara.item, list, UIList.List(), listRanking, Card.LV, ELayer.pc, UIList.Refresh(), ButtonChara.SetChara(), UIText.SetText(), TraitChara.ShowAdvRank, UIList.Sort(), ButtonChara.textAlias, Chara.trait, and ButtonChara.transDefeated.

Referenced by OnSwitchContent().

Member Data Documentation

◆ buttonTalk

UIButton LayerQuestBoard.buttonTalk

Definition at line 27 of file LayerQuestBoard.cs.

◆ gradientRank

Gradient LayerQuestBoard.gradientRank

Definition at line 31 of file LayerQuestBoard.cs.

Referenced by RefreshRanking().

◆ list

UIList LayerQuestBoard.list

Definition at line 5 of file LayerQuestBoard.cs.

Referenced by RefreshHire(), RefreshQuest(), and RefreshRanking().

◆ listHire

UIList LayerQuestBoard.listHire

Definition at line 7 of file LayerQuestBoard.cs.

Referenced by RefreshHire().

◆ listRanking

UIDynamicList LayerQuestBoard.listRanking

Definition at line 9 of file LayerQuestBoard.cs.

Referenced by RefreshRanking().

◆ portrait

Portrait LayerQuestBoard.portrait

Definition at line 25 of file LayerQuestBoard.cs.

◆ textClient

UIText LayerQuestBoard.textClient

Definition at line 11 of file LayerQuestBoard.cs.

◆ textDetail

UIText LayerQuestBoard.textDetail

Definition at line 15 of file LayerQuestBoard.cs.

◆ textHours

UIText LayerQuestBoard.textHours

Definition at line 17 of file LayerQuestBoard.cs.

◆ textNote

UIText LayerQuestBoard.textNote

Definition at line 19 of file LayerQuestBoard.cs.

◆ textQuestLimit

UIText LayerQuestBoard.textQuestLimit

Definition at line 23 of file LayerQuestBoard.cs.

Referenced by RefreshQuest().

◆ textReward

UIText LayerQuestBoard.textReward

Definition at line 21 of file LayerQuestBoard.cs.

◆ textTitle

UIText LayerQuestBoard.textTitle

Definition at line 13 of file LayerQuestBoard.cs.

◆ uiCurrency

UICurrency LayerQuestBoard.uiCurrency

Definition at line 29 of file LayerQuestBoard.cs.


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