Elin Decompiled Documentation EA 23.288 Nightly
Loading...
Searching...
No Matches
CardRenderer.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using UnityEngine;
4
6{
7 public TCOrbit orbit;
8
9 public Card owner;
10
12
13 public bool hasActor;
14
15 public bool hasText;
16
17 public bool isChara;
18
19 public bool skip;
20
21 public Vector3 position;
22
24
25 public List<TC> listTC = new List<TC>();
26
28
30
31 public virtual bool IsMoving => false;
32
33 public Vector3 PositionCenter()
34 {
35 return new Vector3(position.x + data.size.x + data.offset.x * 0.5f, position.y + data.size.y + data.offset.y + owner.Pref.heightFix, position.z);
36 }
37
38 public virtual void SetOwner(Card c)
39 {
40 owner = c;
41 if (data == null)
42 {
44 }
45 isChara = c.isChara;
46 usePass = data.pass != null;
47 }
48
49 public override void Draw(RenderParam p)
50 {
51 Vector3 v = p.NewVector3;
52 Draw(p, ref v, drawShadow: true);
53 }
54
55 public override void RenderToRenderCam(RenderParam p)
56 {
57 Vector3 v = EClass.scene.camSupport.renderPos;
58 if (data.multiSize)
59 {
60 v.y -= 0.8f;
61 }
62 p.x = v.x;
63 p.y = v.y;
64 p.z = v.z;
65 Draw(p, ref v, drawShadow: false);
66 }
67
68 public void ShowBossText()
69 {
71 {
72 return;
73 }
74 SplashText splashText = Util.Instantiate<SplashText>("Media/Text/SplashText_boss2", EClass.ui.rectDynamic);
75 string text = owner.Chara.Aka.ToTitleCase(wholeText: true);
76 string text2 = owner.Chara.NameSimple.ToTitleCase();
77 if (!Lang.isBuiltin && Lang.langCode != "CN")
78 {
79 text = owner.Chara.source.aka.ToTitleCase(wholeText: true);
80 text2 = owner.Chara.source.name.ToTitleCase();
81 }
82 splashText.textSmall.text = text;
83 splashText.textBig.text = text2;
84 owner.Chara.bossText = false;
85 string id = owner.id;
86 if (!(id == "ungaga_pap"))
87 {
88 if (!(id == "lurie_boss"))
89 {
90 return;
91 }
93 {
94 if (EClass._map.plDay.list.Count > 0 && EClass._map.plDay.list[0].data.id != 107)
95 {
96 EClass._zone.SetBGM(107);
97 }
99 {
101 }
102 }
103 owner.PlaySound("warcry");
104 }
105 else if (EClass._zone is Zone_DungeonMino)
106 {
107 EClass._zone.SetBGM(107);
108 }
109 }
110
111 public override void Draw(RenderParam p, ref Vector3 v, bool drawShadow)
112 {
113 if (skip)
114 {
115 skip = false;
116 return;
117 }
119 RenderObject.currentParam = p;
120 p.dir = owner.dir;
121 if (!isSynced)
122 {
124 RenderObject.syncList.Add(this);
125 }
127 {
129 {
130 ShowBossText();
131 }
132 if (owner.Chara.host == null)
133 {
134 UpdatePosition(ref v, p);
135 }
136 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
137 {
138 drawShadow = false;
139 if (aI_Trolley.trolley.HideChara)
140 {
141 if (hasActor)
142 {
143 actor.SetActive(enable: false);
144 }
145 if ((bool)orbit)
146 {
147 orbit.Refresh();
148 }
149 return;
150 }
151 }
152 if (hasActor)
153 {
154 actor.SetActive(enable: true);
155 }
156 }
157 else
158 {
159 p.x = (position.x = v.x);
160 p.y = (position.y = v.y);
161 p.z = (position.z = v.z);
162 }
163 if ((bool)orbit)
164 {
165 orbit.Refresh();
166 }
167 else
168 {
170 }
171 if (anime != null)
172 {
173 anime.Update();
174 }
175 if (owner.trait is TraitFakeObj)
176 {
177 TraitFakeObj traitFakeObj = owner.trait as TraitFakeObj;
178 if (traitFakeObj.growth != null)
179 {
181 return;
182 }
183 }
185 {
186 SubPassData.Current = SubPassData.Default;
188 p.tile = rendererObjDummy.tile;
189 p.dir = 0;
190 if (hasActor)
191 {
192 actor.SetActive(enable: false);
193 }
194 rendererObjDummy.Draw(p);
195 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
196 {
197 EClass.scene.screenElin.tileMap.passShadow.AddShadow(position.x + rendererObjDummy.offsetShadow.x, position.y + rendererObjDummy.offsetShadow.y + p.shadowFix, position.z + rendererObjDummy.offsetShadow.z, ShadowData.Instance.items[rendererObjDummy.shadowPref.shadow], rendererObjDummy.shadowPref, 0, p.snow);
198 }
199 }
200 else
201 {
202 SubPassData.Current = owner.GetSubPassData();
203 SourcePref pref = GetPref();
204 RenderData renderData = data;
205 int prefIndex = owner.PrefIndex;
206 if (Player.seedHallucination != 0 && CanBeHallucinated())
207 {
209 CardRow cardRow = null;
210 bool flag = false;
211 for (int i = 0; i < 20; i++)
212 {
213 if (owner.isChara)
214 {
215 cardRow = EClass.sources.charas.rows.RandomItem();
216 if (cardRow.multisize)
217 {
218 continue;
219 }
220 }
221 else
222 {
223 cardRow = EClass.sources.things.rows.RandomItem();
224 if (cardRow.tileType != owner.TileType)
225 {
226 continue;
227 }
228 }
229 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
230 {
231 flag = true;
232 break;
233 }
234 }
235 if (flag)
236 {
237 renderData = cardRow.renderData;
238 pref = cardRow.pref;
239 cardRow.model.dir = owner.dir;
240 cardRow.model.SetRenderParam(p);
241 prefIndex = cardRow.model.PrefIndex;
242 }
243 Rand.SetSeed();
244 }
245 if (owner.trait is TraitFigure)
246 {
248 {
249 TraitFigure traitFigure = owner.trait as TraitFigure;
250 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
251 renderData = row.renderData;
252 pref = row.pref;
253 int matColor = traitFigure.GetMatColor();
254 drawShadow = traitFigure.ShowShadow;
255 if (row._tiles.Length == 0 || data.pass == null)
256 {
257 if (traitFigure.extraRenderer == null)
258 {
259 traitFigure.extraRenderer = new CharaRenderer();
260 traitFigure.extraRenderer.SetOwner(CharaGen.Create(row.id));
261 }
262 if (matColor >= -3)
263 {
264 if (matColor == -3)
265 {
266 MatColors matColors = EClass.core.Colors.matColors["ether"];
267 p.matColor = BaseTileMap.GetColorInt(ref matColors.main, 100) * -1;
268 }
269 }
270 else
271 {
272 p.matColor = matColor;
273 }
274 traitFigure.extraRenderer.Draw(p, ref v, drawShadow);
275 return;
276 }
278 {
279 owner.refVal = row.skinAntiSpider;
280 }
281 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
282 p.matColor = matColor;
283 pref = row.pref;
284 p.x += pref.x * (float)((owner.dir % 2 == 0) ? 1 : (-1));
285 p.y += pref.y;
286 p.z += pref.z;
288 {
289 drawShadow = false;
290 }
291 }
292 else
293 {
294 renderData = owner.sourceCard.renderData;
295 }
296 }
297 if (replacer != null)
298 {
299 renderData = replacer.data;
300 pref = replacer.pref;
301 SubPassData.Current = SubPassData.Default;
302 }
303 if (isChara)
304 {
305 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
306 p.z += pref.z;
307 }
308 p.y += pref.y;
309 int shadow = pref.shadow;
310 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.visibleWithTelepathy);
311 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
312 {
313 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
314 EClass.scene.screenElin.tileMap.passShadow.AddShadow(position.x + (flag3 ? (-1f) : 1f) * renderData.offsetShadow.x, position.y + renderData.offsetShadow.y + (owner.TileType.UseMountHeight ? 0f : p.shadowFix) - (owner.isChara ? 0f : (RenderObject.altitudeFix * (float)owner.altitude)), position.z + renderData.offsetShadow.z, ShadowData.Instance.items[shadow], pref, prefIndex, p.snow);
315 }
316 if (usePass)
317 {
318 if (owner.noSnow)
319 {
320 p.snow = false;
321 }
322 if (!flag2)
323 {
324 renderData.Draw(p);
325 }
326 }
327 else if (hasActor)
328 {
330 {
331 Chara ride = owner.Chara.ride;
332 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
333 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
334 ride.angle = owner.angle;
335 if (charaActorPCC != null && charaActorPCC2 != null)
336 {
337 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
338 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
339 charaActorPCC.provider.SetSpriteMain();
340 charaActorPCC.RefreshSprite();
341 }
342 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
343 float x = p.x;
344 float y = p.y;
345 float z = p.z;
346 Vector3 v2 = new Vector3(v.x, v.y, v.z);
347 ride.renderer.Draw(p, ref v2, drawShadow: false);
348 int currentDir = actor.currentDir;
349 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
350 {
351 2 => -1,
352 1 => 1,
353 _ => 0,
354 });
355 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
356 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
357 }
358 if (flag2)
359 {
360 actor.SetActive(enable: false);
361 }
362 else
363 {
364 actor.SetActive(enable: true);
365 actor.OnRender(p);
366 }
367 }
368 if (isChara)
369 {
370 if (owner.Chara.parasite != null)
371 {
372 owner.Chara.parasite.renderer.position = position;
373 }
374 if (owner.Chara.ride != null)
375 {
376 owner.Chara.ride.renderer.position = position;
377 }
378 }
379 SubPassData.Current = SubPassData.Default;
380 }
381 if (listTC.Count > 0)
382 {
383 RenderObject.tempV = position;
384 RenderObject.tempV.y += data.offset.y + data.size.y + owner.Pref.heightFix;
385 for (int num = listTC.Count - 1; num >= 0; num--)
386 {
387 listTC[num].OnDraw(ref RenderObject.tempV);
388 }
389 }
391 {
393 }
394 bool CanBeHallucinated()
395 {
397 {
398 return false;
399 }
400 if (owner.isThing)
401 {
403 {
404 return false;
405 }
406 if (listTC.Count > 0)
407 {
408 return false;
409 }
410 }
411 return true;
412 }
413 }
414
415 public virtual void UpdatePosition(ref Vector3 destPos, RenderParam p)
416 {
417 }
418
419 public virtual void DrawHeld()
420 {
421 }
422
423 public void RefreshSprite()
424 {
425 if (hasActor)
426 {
428 }
429 }
430
431 public override void OnEnterScreen()
432 {
433 if (isSynced)
434 {
435 Debug.LogError("renderer alraedy synced:" + owner);
436 }
437 isSynced = true;
438 if (!usePass)
439 {
440 if (!hasActor)
441 {
443 if (actor == null)
444 {
445 if (owner.sourceCard.idActor.IsEmpty())
446 {
447 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
448 }
449 else
450 {
451 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
452 }
453 }
454 hasActor = true;
455 }
457 }
459 RefreshExtra();
460 if (owner.isCensored)
461 {
462 SetCensored(enable: true);
463 }
465 }
466
467 public void AddExtra(string id)
468 {
469 if (GetTC(id) == null)
470 {
471 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
472 if (tC.isUI)
473 {
474 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
475 }
476 tC.name = id;
477 }
478 }
479
480 public void RefreshExtra()
481 {
482 string idExtra = owner.sourceCard.idExtra;
483 if (!idExtra.IsEmpty() && (owner.placeState != 0 || EClass.pc.held == owner || owner.isRoofItem))
484 {
485 AddExtra(idExtra);
486 }
487 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
488 {
489 if (owner.c_bossType == BossType.Evolved)
490 {
491 AddExtra("c_unique_evolved");
492 }
493 else
494 {
495 AddExtra("c_unique");
496 }
497 }
498 }
499
500 public void RemoveExtra(string id)
501 {
502 TC tC = GetTC(id);
503 if (tC != null)
504 {
505 RemoveTC(tC);
506 }
507 }
508
509 public override void OnLeaveScreen()
510 {
511 isSynced = false;
513 {
514 KillActor();
515 }
516 for (int num = listTC.Count - 1; num >= 0; num--)
517 {
518 RemoveTC(num);
519 }
520 if (hasText)
521 {
523 }
524 if ((bool)orbit)
525 {
527 orbit = null;
528 }
529 }
530
531 public void KillActor()
532 {
533 actor.Kill();
534 hasActor = false;
535 actor = null;
536 }
537
538 public void PlayAnime(AnimeID id, bool force)
539 {
540 PlayAnime(id, default(Vector3), force);
541 }
542
543 public void PlayAnime(AnimeID id, Card dest)
544 {
545 PlayAnime(id, (dest.renderer.position - position).normalized);
546 }
547
548 public void PlayAnime(AnimeID id, Point dest)
549 {
550 PlayAnime(id, (dest.PositionAuto() - position).normalized);
551 }
552
553 public void PlayAnime(AnimeID id, Vector3 dest = default(Vector3), bool force = false)
554 {
555 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
556 {
557 return;
558 }
559 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
560 if (transAnimeData == null)
561 {
562 anime = null;
563 Debug.Log("Anime not found:" + id);
564 return;
565 }
566 anime = new TransAnime
567 {
568 data = transAnimeData,
569 renderer = this
570 }.Init();
571 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u || id == AnimeID.Kiss)
572 {
573 anime.dest = dest;
574 }
575 }
576
577 public virtual void KillAnime()
578 {
579 anime = null;
580 }
581
582 public virtual void IdleFrame()
583 {
584 if (hasActor)
585 {
587 }
588 }
589
590 public virtual void NextFrame()
591 {
592 if (hasActor)
593 {
595 }
596 }
597
598 public virtual void NextDir()
599 {
600 if (hasActor)
601 {
602 actor.NextDir();
603 }
604 }
605
606 public T AddTC<T>(TC tc) where T : TC
607 {
608 listTC.Add(tc);
609 tc.SetOwner(this);
610 return tc as T;
611 }
612
613 public T GetTC<T>() where T : TC
614 {
615 if (listTC.Count == 0)
616 {
617 return null;
618 }
619 for (int num = listTC.Count - 1; num >= 0; num--)
620 {
621 if (listTC[num] is T)
622 {
623 return listTC[num] as T;
624 }
625 }
626 return null;
627 }
628
629 public TC GetTC(string id)
630 {
631 if (listTC.Count == 0)
632 {
633 return null;
634 }
635 for (int num = listTC.Count - 1; num >= 0; num--)
636 {
637 if (listTC[num].name == id)
638 {
639 return listTC[num];
640 }
641 }
642 return null;
643 }
644
645 public T GetOrCreateTC<T>(Func<T> func) where T : TC
646 {
647 return GetTC<T>() ?? AddTC<T>(func());
648 }
649
650 public void RemoveTC<T>() where T : TC
651 {
652 if (listTC.Count == 0)
653 {
654 return;
655 }
656 for (int num = listTC.Count - 1; num >= 0; num--)
657 {
658 if (listTC[num] is T)
659 {
660 listTC[num].Kill();
661 listTC.RemoveAt(num);
662 break;
663 }
664 }
665 }
666
667 public void RemoveTC(TC tc)
668 {
669 RemoveTC(listTC.IndexOf(tc));
670 }
671
672 public void RemoveTC(int index)
673 {
674 if (index != -1)
675 {
676 listTC[index].Kill();
677 listTC.RemoveAt(index);
678 }
679 }
680
681 public void TrySpawnOrbit()
682 {
683 if (owner.isChara)
684 {
685 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
686 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
687 orbit.SetOwner(this);
688 }
689 else if (owner.trait.ShowOrbit)
690 {
691 string text2 = "tcOrbitThing";
692 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
693 orbit.SetOwner(this);
694 }
695 }
696
697 public bool IsTalking()
698 {
699 TCText tC = GetTC<TCText>();
700 if ((bool)tC)
701 {
702 return tC.pop.items.Count > 0;
703 }
704 return false;
705 }
706
708 {
709 if (!hasText)
710 {
711 hasText = true;
713 }
714 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
715 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
716 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
717 simpleText.transform.position = RenderObject.tempV;
718 return simpleText;
719 }
720
721 public void DespawnSimpleText()
722 {
723 if (hasText)
724 {
726 hasText = false;
727 }
728 }
729
730 public void SetCensored(bool enable)
731 {
732 if (!isSynced)
733 {
734 return;
735 }
736 if (enable)
737 {
738 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
739 }
740 else
741 {
742 RemoveTC<TCCensored>();
743 }
744 }
745
746 public virtual void RefreshStateIcon()
747 {
748 }
749
750 public void Say(string text, Color c = default(Color), float duration = 0f)
751 {
752 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).Say(text, duration);
753 }
754
755 public void ShowEmo(Emo emo, float duration = 0f)
756 {
757 if (isSynced)
758 {
759 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
760 }
761 }
762
763 public virtual void SetFirst(bool first, Vector3 pos)
764 {
765 }
766
767 public virtual void SetFirst(bool first)
768 {
769 }
770
771 public virtual void Refresh()
772 {
773 }
774
776 {
777 if (replacer != null)
778 {
779 return replacer.pref;
780 }
781 if ((owner.IsPCC && replacer == null) || (owner.HasHost && owner.Chara.host.ride == owner))
782 {
783 return EClass.core.refs.prefs.pcc;
784 }
785 return owner.Pref;
786 }
787}
AnimeID
Definition: AnimeID.cs:2
BossType
Definition: BossType.cs:2
Emo
Definition: Emo.cs:2
Rarity
Definition: Rarity.cs:2
BaseTileMap tileMap
MeshPass passShadow
Definition: BaseTileMap.cs:133
static int GetColorInt(ref Color matColor, int p)
RenderDataObjDummy rendererObjDummy
Definition: BaseTileMap.cs:227
Vector3 renderPos
virtual void OnRender(RenderParam p)
Definition: CardActor.cs:103
virtual int currentDir
Definition: CardActor.cs:41
virtual void NextDir()
Definition: CardActor.cs:94
void SetOwner(Card t)
Definition: CardActor.cs:48
virtual void NextFrame()
Definition: CardActor.cs:90
virtual void RefreshSprite()
Definition: CardActor.cs:224
virtual void IdleFrame()
Definition: CardActor.cs:86
virtual void Kill()
Definition: CardActor.cs:286
virtual int GetFrame()
Definition: CardActor.cs:98
void ShowEmo(Emo emo, float duration=0f)
override void RenderToRenderCam(RenderParam p)
Definition: CardRenderer.cs:55
void PlayAnime(AnimeID id, bool force)
void Say(string text, Color c=default(Color), float duration=0f)
virtual void SetFirst(bool first)
virtual void DrawHeld()
T AddTC< T >(TC tc)
virtual void KillAnime()
void PlayAnime(AnimeID id, Vector3 dest=default(Vector3), bool force=false)
override void OnLeaveScreen()
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
void RemoveTC(int index)
SourcePref GetPref()
virtual void NextDir()
RendererReplacer replacer
Definition: CardRenderer.cs:29
Vector3 position
Definition: CardRenderer.cs:21
void RefreshSprite()
TransAnime anime
Definition: CardRenderer.cs:23
void AddExtra(string id)
TC GetTC(string id)
virtual void NextFrame()
T GetOrCreateTC< T >(Func< T > func)
TCSimpleText SpawnSimpleText()
virtual bool IsMoving
Definition: CardRenderer.cs:31
virtual void RefreshStateIcon()
bool IsTalking()
void RemoveTC< T >()
override void OnEnterScreen()
virtual void SetOwner(Card c)
Definition: CardRenderer.cs:38
List< TC > listTC
Definition: CardRenderer.cs:25
virtual void SetFirst(bool first, Vector3 pos)
void RemoveExtra(string id)
void PlayAnime(AnimeID id, Card dest)
void TrySpawnOrbit()
virtual void UpdatePosition(ref Vector3 destPos, RenderParam p)
virtual void IdleFrame()
TCOrbit orbit
Definition: CardRenderer.cs:7
void RefreshExtra()
void ShowBossText()
Definition: CardRenderer.cs:68
CardActor actor
Definition: CardRenderer.cs:11
void KillActor()
void SetCensored(bool enable)
void PlayAnime(AnimeID id, Point dest)
virtual void Refresh()
Vector3 PositionCenter()
Definition: CardRenderer.cs:33
TCSimpleText simpleText
Definition: CardRenderer.cs:27
override void Draw(RenderParam p, ref Vector3 v, bool drawShadow)
void DespawnSimpleText()
void RemoveTC(TC tc)
string[] idActor
Definition: CardRow.cs:35
Card model
Definition: CardRow.cs:60
string id
Definition: CardRow.cs:7
string idExtra
Definition: CardRow.cs:9
Definition: Card.cs:11
float angle
Definition: Card.cs:72
virtual bool IsPCC
Definition: Card.cs:2187
virtual bool isThing
Definition: Card.cs:2119
virtual Chara Chara
Definition: Card.cs:2108
bool isMasked
Definition: Card.cs:591
string id
Definition: Card.cs:36
bool isRoofItem
Definition: Card.cs:579
bool isCensored
Definition: Card.cs:435
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6375
Rarity rarity
Definition: Card.cs:315
ICardParent parent
Definition: Card.cs:56
bool ExistsOnMap
Definition: Card.cs:2123
virtual bool IsDeadOrSleeping
Definition: Card.cs:2147
PlaceState placeState
Definition: Card.cs:84
TileType TileType
Definition: Card.cs:2175
virtual SourcePref Pref
Definition: Card.cs:2145
Point pos
Definition: Card.cs:60
int uid
Definition: Card.cs:123
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6204
virtual SubPassData GetSubPassData()
Definition: Card.cs:6498
Trait trait
Definition: Card.cs:54
int altitude
Definition: Card.cs:231
BossType c_bossType
Definition: Card.cs:1247
bool IsInstalled
Definition: Card.cs:2421
virtual bool IsPC
Definition: Card.cs:2183
string NameSimple
Definition: Card.cs:2179
virtual bool isChara
Definition: Card.cs:2121
Cell Cell
Definition: Card.cs:2093
virtual bool HasHost
Definition: Card.cs:2463
virtual int PrefIndex
Definition: Card.cs:2352
int dir
Definition: Card.cs:147
bool noSnow
Definition: Card.cs:759
virtual CardRow sourceCard
Definition: Card.cs:2169
bool noShadow
Definition: Card.cs:819
SourceCategory.Row category
Definition: Card.cs:2087
CardRenderer renderer
Definition: Card.cs:62
virtual bool flipX
Definition: Card.cs:2154
string c_idRefCard
Definition: Card.cs:1763
bool HasRoof
Definition: Cell.cs:648
bool ignoreObjShadow
Definition: Cell.cs:378
override void RefreshSprite()
SpriteProvider provider
Definition: CharaActorPCC.cs:9
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
Card held
Definition: Chara.cs:70
AIAct ai
Definition: Chara.cs:204
Chara host
Definition: Chara.cs:33
bool IsNeutralOrAbove()
Definition: Chara.cs:6721
string Aka
Definition: Chara.cs:218
SourceChara.Row source
Definition: Chara.cs:160
bool visibleWithTelepathy
Definition: Chara.cs:152
bool IsHomeMember()
Definition: Chara.cs:6735
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
bool bossText
Definition: Chara.cs:146
UD_String_MatData matColors
new GameConfig game
Definition: CoreConfig.cs:609
SourcePref pcc
Definition: CoreRef.cs:328
TCSimpleText simpleText
Definition: CoreRef.cs:242
TCText text
Definition: CoreRef.cs:236
TCCensored censored
Definition: CoreRef.cs:238
PrefData prefs
Definition: CoreRef.cs:417
TCs tcs
Definition: CoreRef.cs:353
CoreRef refs
Definition: Core.cs:51
ColorProfile Colors
Definition: Core.cs:53
CoreConfig config
Definition: Core.cs:70
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
static Scene scene
Definition: EClass.cs:31
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
static Map _map
Definition: EClass.cs:19
static SourceManager sources
Definition: EClass.cs:43
static BaseGameScreen screen
Definition: EClass.cs:33
static Chara pc
Definition: EClass.cs:15
static UI ui
Definition: EClass.cs:17
Zone activeZone
Definition: Game.cs:252
QuestManager quests
Definition: Game.cs:183
virtual void OnRenderTileMap(RenderParam p, bool drawShadow=true)
Definition: GrowSystem.cs:207
Definition: Lang.cs:7
static string langCode
Definition: Lang.cs:29
static bool isBuiltin
Definition: Lang.cs:43
static LayerDrama Instance
Definition: LayerDrama.cs:20
bool IsIndoor
Definition: Map.cs:131
Playlist plDay
Definition: Map.cs:77
Color main
Definition: MatColors.cs:7
void AddShadow(MeshPassParam p, ref Vector3 fix)
Definition: MeshPass.cs:195
Definition: Player.cs:11
static int seedHallucination
Definition: Player.cs:1193
Definition: Point.cs:9
ref Vector3 PositionAuto()
Definition: Point.cs:539
Thing LastThing
Definition: Point.cs:314
bool IsSync
Definition: Point.cs:344
bool IsValid
Definition: Point.cs:88
Thing FirstThing
Definition: Point.cs:301
Cell cell
Definition: Point.cs:51
static void Despawn(Component c)
Definition: PoolManager.cs:128
static Transform Spawn(string id, string path, Transform parent)
Definition: PoolManager.cs:86
int GetPhase(string id)
Quest Get(string id)
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44
override void Draw(RenderParam p)
Definition: RenderDataObj.cs:3
void Draw(RenderParam p, int tile)
Definition: RenderData.cs:128
Vector3 offsetShadow
Definition: RenderData.cs:22
Vector3 offset
Definition: RenderData.cs:18
bool multiSize
Definition: RenderData.cs:32
virtual CardActor CreateActor()
Definition: RenderData.cs:84
SourcePref shadowPref
Definition: RenderData.cs:48
bool persistActor
Definition: RenderData.cs:38
MeshPass pass
Definition: RenderData.cs:16
Vector2 size
Definition: RenderData.cs:30
static List< ISyncScreen > syncList
Definition: RenderObject.cs:24
static Vector3 tempV
Definition: RenderObject.cs:20
RenderData data
Definition: RenderObject.cs:34
static long syncFrame
Definition: RenderObject.cs:26
static GameSetting.RenderSetting renderSetting
Definition: RenderObject.cs:14
float shadowFix
Definition: RenderParam.cs:21
Vector3 NewVector3
Definition: RenderParam.cs:23
bool multisize
Definition: RenderRow.cs:64
RenderData renderData
Definition: RenderRow.cs:71
SourcePref pref
Definition: RenderRow.cs:68
string _idRenderData
Definition: RenderRow.cs:38
TileType tileType
Definition: RenderRow.cs:77
int[] _tiles
Definition: RenderRow.cs:12
int chance
Definition: RenderRow.cs:24
GameScreen screenElin
Definition: Scene.cs:93
CameraSupport camSupport
Definition: Scene.cs:41
List< Item > items
Definition: ShadowData.cs:101
static ShadowData Instance
Definition: ShadowData.cs:99
SourceThing things
SourceChara charas
float heightFix
Definition: SourcePref.cs:303
int shadow
Definition: SourcePref.cs:39
static SplashText Instance
Definition: SplashText.cs:10
static SubPassData Default
Definition: SubPassData.cs:7
static SubPassData Current
Definition: SubPassData.cs:9
virtual void Refresh()
Definition: TCOrbit.cs:3
Definition: TCText.cs:6
Definition: TC.cs:4
static GameSetting.RenderSetting.TCSetting _setting
Definition: TC.cs:5
virtual bool isUI
Definition: TC.cs:11
void SetOwner(CardRenderer r)
Definition: TC.cs:15
virtual bool UseMountHeight
Definition: TileType.cs:223
GrowSystem growth
Definition: TraitFakeObj.cs:6
virtual bool ShowShadow
Definition: TraitFigure.cs:12
virtual int GetMatColor()
Definition: TraitFigure.cs:14
CardRenderer extraRenderer
Definition: TraitFigure.cs:6
virtual bool CanBeHallucinated
Definition: Trait.cs:311
virtual RenderData GetRenderData()
Definition: Trait.cs:600
virtual bool ShowOrbit
Definition: Trait.cs:137
virtual bool RenderExtra
Definition: Trait.cs:369
virtual bool UseDummyTile
Definition: Trait.cs:207
virtual void OnRenderExtra(RenderParam p)
Definition: Trait.cs:654
virtual void OnEnterScreen()
Definition: Trait.cs:1442
bool Update()
Definition: TransAnime.cs:40
Definition: Zone.cs:12
void SetBGM(List< int > ids, bool refresh=true, float fadeDuration=0f)
Definition: Zone.cs:3023