Elin Decompiled Documentation EA 23.346 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 }
117 else
118 {
120 {
121 return;
122 }
124 RenderObject.currentParam = p;
125 p.dir = owner.dir;
126 if (!isSynced)
127 {
129 RenderObject.syncList.Add(this);
130 }
132 {
134 {
135 ShowBossText();
136 }
137 if (owner.Chara.host == null)
138 {
139 UpdatePosition(ref v, p);
140 }
141 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
142 {
143 drawShadow = false;
144 if (aI_Trolley.trolley.HideChara)
145 {
146 if (hasActor)
147 {
148 actor.SetActive(enable: false);
149 }
150 if ((bool)orbit)
151 {
152 orbit.Refresh();
153 }
154 return;
155 }
156 }
157 if (hasActor)
158 {
159 actor.SetActive(enable: true);
160 }
161 }
162 else
163 {
164 p.x = (position.x = v.x);
165 p.y = (position.y = v.y);
166 p.z = (position.z = v.z);
167 }
168 if ((bool)orbit)
169 {
170 orbit.Refresh();
171 }
172 else
173 {
175 }
176 if (anime != null)
177 {
178 anime.Update();
179 }
180 if (owner.trait is TraitFakeObj)
181 {
182 TraitFakeObj traitFakeObj = owner.trait as TraitFakeObj;
183 if (traitFakeObj.growth != null)
184 {
186 return;
187 }
188 }
190 {
191 SubPassData.Current = SubPassData.Default;
193 p.tile = rendererObjDummy.tile;
194 p.dir = 0;
195 if (hasActor)
196 {
197 actor.SetActive(enable: false);
198 }
199 rendererObjDummy.Draw(p);
200 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
201 {
202 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);
203 }
204 }
205 else
206 {
207 SubPassData.Current = owner.GetSubPassData();
208 SourcePref pref = GetPref();
209 RenderData renderData = data;
210 int prefIndex = owner.PrefIndex;
211 if (Player.seedHallucination != 0 && CanBeHallucinated())
212 {
214 CardRow cardRow = null;
215 bool flag = false;
216 for (int i = 0; i < 20; i++)
217 {
218 if (owner.isChara)
219 {
220 cardRow = EClass.sources.charas.rows.RandomItem();
221 if (cardRow.multisize)
222 {
223 continue;
224 }
225 }
226 else
227 {
228 cardRow = EClass.sources.things.rows.RandomItem();
229 if (cardRow.tileType != owner.TileType)
230 {
231 continue;
232 }
233 }
234 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
235 {
236 flag = true;
237 break;
238 }
239 }
240 if (flag)
241 {
242 renderData = cardRow.renderData;
243 pref = cardRow.pref;
244 cardRow.model.dir = owner.dir;
245 cardRow.model.SetRenderParam(p);
246 prefIndex = cardRow.model.PrefIndex;
247 }
248 Rand.SetSeed();
249 }
250 if (owner.trait is TraitFigure)
251 {
253 {
254 TraitFigure traitFigure = owner.trait as TraitFigure;
255 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
256 renderData = row.renderData;
257 pref = row.pref;
258 int matColor = traitFigure.GetMatColor();
259 drawShadow = traitFigure.ShowShadow;
260 if (row._tiles.Length == 0 || data.pass == null)
261 {
262 if (traitFigure.extraRenderer == null)
263 {
264 traitFigure.extraRenderer = new CharaRenderer();
265 traitFigure.extraRenderer.SetOwner(CharaGen.Create(row.id));
266 }
267 if (matColor >= -3)
268 {
269 if (matColor == -3)
270 {
271 MatColors matColors = EClass.core.Colors.matColors["ether"];
272 p.matColor = BaseTileMap.GetColorInt(ref matColors.main, 100) * -1;
273 }
274 }
275 else
276 {
277 p.matColor = matColor;
278 }
279 traitFigure.extraRenderer.Draw(p, ref v, drawShadow);
280 return;
281 }
283 {
284 owner.refVal = row.skinAntiSpider;
285 }
286 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
287 p.matColor = matColor;
288 pref = row.pref;
289 p.x += pref.x * (float)((owner.dir % 2 == 0) ? 1 : (-1));
290 p.z += pref.z;
291 switch (row.id)
292 {
293 case "bike_kane":
294 case "bike_kane_custom":
295 case "bike_leet":
296 p.z -= 0.1f;
297 break;
298 default:
299 p.y += pref.y;
300 break;
301 }
303 {
304 drawShadow = false;
305 }
306 }
307 else
308 {
309 renderData = owner.sourceCard.renderData;
310 }
311 }
312 if (replacer != null)
313 {
314 renderData = replacer.data;
315 pref = replacer.pref;
316 SubPassData.Current = SubPassData.Default;
317 }
318 if (isChara || hasActor)
319 {
320 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
321 p.z += pref.z;
322 }
323 p.y += pref.y;
324 int shadow = pref.shadow;
325 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.visibleWithTelepathy);
326 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
327 {
328 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
329 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);
330 }
331 if (usePass)
332 {
333 if (owner.noSnow)
334 {
335 p.snow = false;
336 }
337 if (!flag2)
338 {
339 renderData.Draw(p);
340 }
341 }
342 else if (hasActor)
343 {
345 {
347 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
348 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
349 ride.angle = owner.angle;
350 if (charaActorPCC != null && charaActorPCC2 != null)
351 {
352 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
353 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
354 charaActorPCC.provider.SetSpriteMain();
355 charaActorPCC.RefreshSprite();
356 }
357 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
358 float x = p.x;
359 float y = p.y;
360 float z = p.z;
361 Vector3 v2 = new Vector3(v.x, v.y, v.z);
362 ride.renderer.Draw(p, ref v2, drawShadow: false);
363 int currentDir = actor.currentDir;
364 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
365 {
366 2 => -1,
367 1 => 1,
368 _ => 0,
369 });
370 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
371 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
372 }
373 if (flag2)
374 {
375 actor.SetActive(enable: false);
376 }
377 else
378 {
379 actor.SetActive(enable: true);
380 actor.OnRender(p);
381 }
382 }
383 if (isChara)
384 {
385 if (owner.Chara.parasite != null)
386 {
387 owner.Chara.parasite.renderer.position = position;
388 }
389 if (owner.Chara.ride != null)
390 {
391 owner.Chara.ride.renderer.position = position;
392 }
393 }
394 SubPassData.Current = SubPassData.Default;
395 }
396 if (listTC.Count > 0)
397 {
398 RenderObject.tempV = position;
399 RenderObject.tempV.y += data.offset.y + data.size.y + owner.Pref.heightFix;
400 for (int num = listTC.Count - 1; num >= 0; num--)
401 {
402 listTC[num].OnDraw(ref RenderObject.tempV);
403 }
404 }
406 {
408 }
409 }
410 bool CanBeHallucinated()
411 {
413 {
414 return false;
415 }
416 if (owner.isThing)
417 {
419 {
420 return false;
421 }
422 if (listTC.Count > 0)
423 {
424 return false;
425 }
426 }
427 return true;
428 }
429 }
430
431 public virtual void UpdatePosition(ref Vector3 destPos, RenderParam p)
432 {
433 }
434
435 public virtual void DrawHeld()
436 {
437 }
438
439 public void RefreshSprite()
440 {
441 if (hasActor)
442 {
444 }
445 }
446
447 public override void OnEnterScreen()
448 {
449 if (isSynced)
450 {
451 Debug.LogError("renderer already synced:" + owner);
452 }
453 isSynced = true;
454 if (!usePass)
455 {
456 if (!hasActor)
457 {
459 if (actor == null)
460 {
461 if (owner.sourceCard.idActor.IsEmpty())
462 {
463 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
464 }
465 else
466 {
467 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
468 }
469 }
470 hasActor = true;
471 }
473 }
475 RefreshExtra();
476 if (owner.isCensored)
477 {
478 SetCensored(enable: true);
479 }
481 }
482
483 public void AddExtra(string id)
484 {
485 if (GetTC(id) == null)
486 {
487 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
488 if (tC.isUI)
489 {
490 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
491 }
492 tC.name = id;
493 }
494 }
495
496 public void RefreshExtra()
497 {
498 string idExtra = owner.sourceCard.idExtra;
499 if (!idExtra.IsEmpty() && (owner.placeState != PlaceState.roaming || EClass.pc.held == owner || owner.isRoofItem))
500 {
501 AddExtra(idExtra);
502 }
503 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember() && !owner.HasCondition<ConBaseTransmuteMimic>())
504 {
505 if (owner.c_bossType == BossType.Evolved)
506 {
507 AddExtra("c_unique_evolved");
508 }
509 else
510 {
511 AddExtra("c_unique");
512 }
513 }
514 }
515
516 public void RemoveExtra(string id)
517 {
518 TC tC = GetTC(id);
519 if (tC != null)
520 {
521 RemoveTC(tC);
522 }
523 }
524
525 public override void OnLeaveScreen()
526 {
527 isSynced = false;
528 if (hasActor)
529 {
531 {
532 KillActor();
533 }
534 else if (data.persistActor)
535 {
536 actor.SetVisible(enable: false);
537 }
538 }
539 for (int num = listTC.Count - 1; num >= 0; num--)
540 {
541 RemoveTC(num);
542 }
543 if (hasText)
544 {
546 }
547 if ((bool)orbit)
548 {
550 orbit = null;
551 }
552 }
553
554 public void KillActor()
555 {
556 actor.Kill();
557 hasActor = false;
558 actor = null;
559 }
560
561 public void PlayAnime(AnimeID id, bool force)
562 {
563 PlayAnime(id, default(Vector3), force);
564 }
565
566 public void PlayAnime(AnimeID id, Card dest)
567 {
568 PlayAnime(id, (dest.renderer.position - position).normalized);
569 }
570
571 public void PlayAnime(AnimeID id, Point dest)
572 {
573 PlayAnime(id, (dest.PositionAuto() - position).normalized);
574 }
575
576 public void PlayAnime(AnimeID id, Vector3 dest = default(Vector3), bool force = false)
577 {
578 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
579 {
580 return;
581 }
582 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
583 if (transAnimeData == null)
584 {
585 anime = null;
586 Debug.Log("Anime not found:" + id);
587 return;
588 }
589 anime = new TransAnime
590 {
591 data = transAnimeData,
592 renderer = this
593 }.Init();
594 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u || id == AnimeID.Kiss)
595 {
596 anime.dest = dest;
597 }
598 }
599
600 public virtual void KillAnime()
601 {
602 anime = null;
603 }
604
605 public virtual void IdleFrame()
606 {
607 if (hasActor)
608 {
610 }
611 }
612
613 public virtual void NextFrame()
614 {
615 if (hasActor)
616 {
618 }
619 }
620
621 public virtual void NextDir()
622 {
623 if (hasActor)
624 {
625 actor.NextDir();
626 }
627 }
628
629 public T AddTC<T>(TC tc) where T : TC
630 {
631 listTC.Add(tc);
632 tc.SetOwner(this);
633 return tc as T;
634 }
635
636 public T GetTC<T>() where T : TC
637 {
638 if (listTC.Count == 0)
639 {
640 return null;
641 }
642 for (int num = listTC.Count - 1; num >= 0; num--)
643 {
644 if (listTC[num] is T)
645 {
646 return listTC[num] as T;
647 }
648 }
649 return null;
650 }
651
652 public TC GetTC(string id)
653 {
654 if (listTC.Count == 0)
655 {
656 return null;
657 }
658 for (int num = listTC.Count - 1; num >= 0; num--)
659 {
660 if (listTC[num].name == id)
661 {
662 return listTC[num];
663 }
664 }
665 return null;
666 }
667
668 public T GetOrCreateTC<T>(Func<T> func) where T : TC
669 {
670 return GetTC<T>() ?? AddTC<T>(func());
671 }
672
673 public void RemoveTC<T>() where T : TC
674 {
675 if (listTC.Count == 0)
676 {
677 return;
678 }
679 for (int num = listTC.Count - 1; num >= 0; num--)
680 {
681 if (listTC[num] is T)
682 {
683 listTC[num].Kill();
684 listTC.RemoveAt(num);
685 break;
686 }
687 }
688 }
689
690 public void RemoveTC(TC tc)
691 {
692 RemoveTC(listTC.IndexOf(tc));
693 }
694
695 public void RemoveTC(int index)
696 {
697 if (index != -1)
698 {
699 listTC[index].Kill();
700 listTC.RemoveAt(index);
701 }
702 }
703
704 public void TrySpawnOrbit()
705 {
706 if (owner.isChara)
707 {
708 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
709 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
710 orbit.SetOwner(this);
711 }
712 else if (owner.trait.ShowOrbit)
713 {
714 string text2 = "tcOrbitThing";
715 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
716 orbit.SetOwner(this);
717 }
718 }
719
720 public bool IsTalking()
721 {
722 TCText tC = GetTC<TCText>();
723 if ((bool)tC)
724 {
725 return tC.pop.items.Count > 0;
726 }
727 return false;
728 }
729
731 {
732 if (!hasText)
733 {
734 hasText = true;
736 }
737 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
738 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
739 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
740 simpleText.transform.position = RenderObject.tempV;
741 return simpleText;
742 }
743
744 public void DespawnSimpleText()
745 {
746 if (hasText)
747 {
749 hasText = false;
750 }
751 }
752
753 public void SetCensored(bool enable)
754 {
755 if (!isSynced)
756 {
757 return;
758 }
759 if (enable)
760 {
761 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
762 }
763 else
764 {
765 RemoveTC<TCCensored>();
766 }
767 }
768
769 public virtual void RefreshStateIcon()
770 {
771 }
772
773 public void Say(string text, Color c = default(Color), float duration = 0f)
774 {
775 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).Say(text, duration);
776 }
777
778 public void ShowEmo(Emo emo, float duration = 0f)
779 {
780 if (isSynced)
781 {
782 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
783 }
784 }
785
786 public virtual void SetFirst(bool first, Vector3 pos)
787 {
788 }
789
790 public virtual void SetFirst(bool first)
791 {
792 }
793
794 public virtual void Refresh()
795 {
796 }
797
799 {
800 if (replacer != null)
801 {
802 return replacer.pref;
803 }
804 if ((owner.IsPCC && replacer == null) || (owner.HasHost && owner.Chara.host.ride == owner))
805 {
806 return EClass.core.refs.prefs.pcc;
807 }
808 return owner.Pref;
809 }
810}
AnimeID
Definition: AnimeID.cs:2
BossType
Definition: BossType.cs:2
@ ride
Emo
Definition: Emo.cs:2
PlaceState
Definition: PlaceState.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
void SetVisible(bool enable)
Definition: CardActor.cs:316
virtual void OnRender(RenderParam p)
Definition: CardActor.cs:105
virtual int currentDir
Definition: CardActor.cs:43
virtual void NextDir()
Definition: CardActor.cs:96
void SetOwner(Card t)
Definition: CardActor.cs:50
virtual void NextFrame()
Definition: CardActor.cs:92
virtual void RefreshSprite()
Definition: CardActor.cs:246
virtual void IdleFrame()
Definition: CardActor.cs:88
virtual void Kill()
Definition: CardActor.cs:310
virtual int GetFrame()
Definition: CardActor.cs:100
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:74
virtual bool IsPCC
Definition: Card.cs:2201
virtual bool isThing
Definition: Card.cs:2133
virtual Chara Chara
Definition: Card.cs:2122
bool isMasked
Definition: Card.cs:593
string id
Definition: Card.cs:36
bool isRoofItem
Definition: Card.cs:581
bool isCensored
Definition: Card.cs:437
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6645
Rarity rarity
Definition: Card.cs:317
ICardParent parent
Definition: Card.cs:56
bool ExistsOnMap
Definition: Card.cs:2137
virtual bool IsDeadOrSleeping
Definition: Card.cs:2161
PlaceState placeState
Definition: Card.cs:86
TileType TileType
Definition: Card.cs:2189
virtual SourcePref Pref
Definition: Card.cs:2159
Point pos
Definition: Card.cs:60
int uid
Definition: Card.cs:125
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6469
virtual SubPassData GetSubPassData()
Definition: Card.cs:6768
Trait trait
Definition: Card.cs:54
int altitude
Definition: Card.cs:233
BossType c_bossType
Definition: Card.cs:1261
bool IsInstalled
Definition: Card.cs:2451
virtual bool IsPC
Definition: Card.cs:2197
string NameSimple
Definition: Card.cs:2193
virtual bool isChara
Definition: Card.cs:2135
Cell Cell
Definition: Card.cs:2107
virtual bool HasHost
Definition: Card.cs:2493
virtual int PrefIndex
Definition: Card.cs:2382
int dir
Definition: Card.cs:149
bool noSnow
Definition: Card.cs:761
virtual CardRow sourceCard
Definition: Card.cs:2183
bool noShadow
Definition: Card.cs:821
SourceCategory.Row category
Definition: Card.cs:2101
CardRenderer renderer
Definition: Card.cs:64
virtual bool flipX
Definition: Card.cs:2168
string c_idRefCard
Definition: Card.cs:1777
bool HasRoof
Definition: Cell.cs:684
bool ignoreObjShadow
Definition: Cell.cs:390
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:206
Chara host
Definition: Chara.cs:33
bool IsNeutralOrAbove()
Definition: Chara.cs:6998
string Aka
Definition: Chara.cs:220
SourceChara.Row source
Definition: Chara.cs:162
bool visibleWithTelepathy
Definition: Chara.cs:152
bool IsHomeMember()
Definition: Chara.cs:7012
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:629
SourcePref pcc
Definition: CoreRef.cs:331
TCSimpleText simpleText
Definition: CoreRef.cs:245
TCText text
Definition: CoreRef.cs:239
TCCensored censored
Definition: CoreRef.cs:241
PrefData prefs
Definition: CoreRef.cs:420
TCs tcs
Definition: CoreRef.cs:356
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:212
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:136
Playlist plDay
Definition: Map.cs:80
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:1208
Definition: Point.cs:9
ref Vector3 PositionAuto()
Definition: Point.cs:544
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:129
Vector3 offsetShadow
Definition: RenderData.cs:23
Vector3 offset
Definition: RenderData.cs:19
bool multiSize
Definition: RenderData.cs:33
virtual CardActor CreateActor()
Definition: RenderData.cs:85
SourcePref shadowPref
Definition: RenderData.cs:49
bool persistActor
Definition: RenderData.cs:39
MeshPass pass
Definition: RenderData.cs:17
Vector2 size
Definition: RenderData.cs:31
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:317
int shadow
Definition: SourcePref.cs:41
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:241
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:614
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:668
virtual void OnEnterScreen()
Definition: Trait.cs:1621
bool Update()
Definition: TransAnime.cs:40
Definition: Zone.cs:12
void SetBGM(List< int > ids, bool refresh=true, float fadeDuration=0f)
Definition: Zone.cs:3253