Elin Decompiled Documentation EA 23.229 Stable 1st Anniversary Patch 2
Loading...
Searching...
No Matches
CardRenderer Class Reference
Inheritance diagram for CardRenderer:
RenderObject EClass IRenderer ISyncScreen CharaRenderer

Public Member Functions

Vector3 PositionCenter ()
 
virtual void SetOwner (Card c)
 
override void Draw (RenderParam p)
 
override void RenderToRenderCam (RenderParam p)
 
override void Draw (RenderParam p, ref Vector3 v, bool drawShadow)
 
virtual void UpdatePosition (ref Vector3 destPos, RenderParam p)
 
virtual void DrawHeld ()
 
void RefreshSprite ()
 
override void OnEnterScreen ()
 
void AddExtra (string id)
 
void RefreshExtra ()
 
void RemoveExtra (string id)
 
override void OnLeaveScreen ()
 
void KillActor ()
 
void PlayAnime (AnimeID id, bool force)
 
void PlayAnime (AnimeID id, Card dest)
 
void PlayAnime (AnimeID id, Point dest)
 
void PlayAnime (AnimeID id, Vector3 dest=default(Vector3), bool force=false)
 
virtual void KillAnime ()
 
virtual void IdleFrame ()
 
virtual void NextFrame ()
 
virtual void NextDir ()
 
AddTC< T > (TC tc)
 
GetTC< T > ()
 
TC GetTC (string id)
 
GetOrCreateTC< T > (Func< T > func)
 
void RemoveTC< T > ()
 
void RemoveTC (TC tc)
 
void RemoveTC (int index)
 
void TrySpawnOrbit ()
 
bool IsTalking ()
 
TCSimpleText SpawnSimpleText ()
 
void DespawnSimpleText ()
 
void SetCensored (bool enable)
 
virtual void RefreshStateIcon ()
 
void Say (string text, Color c=default(Color), float duration=0f)
 
void ShowEmo (Emo emo, float duration=0f)
 
virtual void SetFirst (bool first, Vector3 pos)
 
virtual void SetFirst (bool first)
 
virtual void Refresh ()
 
SourcePref GetPref ()
 
virtual void OnEnterScreen ()
 
virtual void OnLeaveScreen ()
 
virtual void RenderToRenderCam (RenderParam p)
 
virtual void Draw (RenderParam p)
 
virtual void Draw (RenderParam p, ref Vector3 v, bool drawShadow)
 
void RenderToRenderCam (RenderParam p)
 
void Draw (RenderParam p)
 
void OnEnterScreen ()
 
void OnLeaveScreen ()
 

Public Attributes

TCOrbit orbit
 
Card owner
 
CardActor actor
 
bool hasActor
 
bool hasText
 
bool isChara
 
bool skip
 
Vector3 position
 
TransAnime anime
 
List< TClistTC = new List<TC>()
 
TCSimpleText simpleText
 
RendererReplacer replacer
 
- Public Attributes inherited from RenderObject
bool usePass
 
bool isSynced
 
long sync
 
RenderData data
 

Properties

virtual bool IsMoving [get]
 
- Properties inherited from RenderObject
long Sync [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]
 
- Properties inherited from ISyncScreen
long Sync [get]
 

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 (int a, int start, int step, int rate=75)
 
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)
 
- Static Public Attributes inherited from RenderObject
static float gameDelta
 
static float gameSpeed
 
static float altitudeFix
 
static GameSetting.RenderSetting.AnimeSetting animeSetting
 
static GameSetting.RenderSetting renderSetting
 
static RenderParam shared = new RenderParam()
 
static RenderParam currentParam
 
static Vector3 tempV
 
static bool enableAnime
 
static List< ISyncScreensyncList
 
static long syncFrame
 
- Static Public Attributes inherited from EClass
static Core core
 

Detailed Description

Definition at line 5 of file CardRenderer.cs.

Member Function Documentation

◆ AddExtra()

void CardRenderer.AddExtra ( string  id)
inline

Definition at line 433 of file CardRenderer.cs.

434 {
435 if (GetTC(id) == null)
436 {
437 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
438 if (tC.isUI)
439 {
440 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
441 }
442 tC.name = id;
443 }
444 }
TC GetTC(string id)
Definition: EClass.cs:5
static UI ui
Definition: EClass.cs:16
static Transform Spawn(string id, string path, Transform parent)
Definition: PoolManager.cs:86
Definition: TC.cs:4
virtual bool isUI
Definition: TC.cs:11

References GetTC(), TC.isUI, PoolManager.Spawn(), and EClass.ui.

Referenced by RefreshExtra(), Trait.RefreshRenderer(), and TraitToolTorch.RefreshRenderer().

◆ AddTC< T >()

T CardRenderer.AddTC< T > ( TC  tc)
inline
Type Constraints
T :TC 

Definition at line 571 of file CardRenderer.cs.

571 : TC
572 {
573 listTC.Add(tc);
574 tc.SetOwner(this);
575 return tc as T;
576 }
List< TC > listTC
Definition: CardRenderer.cs:25
void SetOwner(CardRenderer r)
Definition: TC.cs:15

References listTC.

Referenced by GetOrCreateTC< T >().

◆ DespawnSimpleText()

void CardRenderer.DespawnSimpleText ( )
inline

Definition at line 686 of file CardRenderer.cs.

687 {
688 if (hasText)
689 {
691 hasText = false;
692 }
693 }
TCSimpleText simpleText
Definition: CardRenderer.cs:27
static void Despawn(Component c)
Definition: PoolManager.cs:128

References PoolManager.Despawn(), hasText, and simpleText.

Referenced by OnLeaveScreen().

◆ Draw() [1/2]

override void CardRenderer.Draw ( RenderParam  p)
inlinevirtual

Reimplemented from RenderObject.

Definition at line 53 of file CardRenderer.cs.

54 {
55 Vector3 v = p.NewVector3;
56 Draw(p, ref v, drawShadow: true);
57 }
Vector3 NewVector3
Definition: RenderParam.cs:23

References Draw, and RenderParam.NewVector3.

Referenced by Draw(), CharaRenderer.DrawHeld(), BaseTileMap.DrawTile(), TileMapElona.DrawTile(), CharaActorPCC.OnRender(), and Card.RenderMarker().

◆ Draw() [2/2]

override void CardRenderer.Draw ( RenderParam  p,
ref Vector3  v,
bool  drawShadow 
)
inlinevirtual

Reimplemented from RenderObject.

Reimplemented in CharaRenderer.

Definition at line 72 of file CardRenderer.cs.

73 {
74 if (skip)
75 {
76 skip = false;
77 return;
78 }
80 RenderObject.currentParam = p;
81 p.dir = owner.dir;
82 if (!isSynced)
83 {
85 RenderObject.syncList.Add(this);
86 }
87 if ((bool)orbit)
88 {
89 orbit.Refresh();
90 }
91 else
92 {
94 }
96 {
98 {
99 SplashText splashText = Util.Instantiate<SplashText>("Media/Text/SplashText_boss2", EClass.ui.rectDynamic);
100 string text = owner.Chara.Aka.ToTitleCase(wholeText: true);
101 string text2 = owner.Chara.NameSimple.ToTitleCase();
102 if (!Lang.isBuiltin && Lang.langCode != "CN")
103 {
104 text = owner.Chara.source.aka.ToTitleCase(wholeText: true);
105 text2 = owner.Chara.source.name.ToTitleCase();
106 }
107 splashText.textSmall.text = text;
108 splashText.textBig.text = text2;
109 owner.Chara.bossText = false;
110 string id = owner.id;
111 if (!(id == "ungaga_pap"))
112 {
113 if (id == "lurie_boss")
114 {
116 {
117 if (EClass._map.plDay.list.Count > 0 && EClass._map.plDay.list[0].data.id != 107)
118 {
119 EClass._zone.SetBGM(107);
120 }
121 if (EClass.game.quests.GetPhase<QuestNegotiationDarkness>() == 2)
122 {
124 }
125 }
126 owner.PlaySound("warcry");
127 }
128 }
129 else if (EClass._zone is Zone_DungeonMino)
130 {
131 EClass._zone.SetBGM(107);
132 }
133 }
134 if (owner.Chara.host == null)
135 {
136 UpdatePosition(ref v, p);
137 }
138 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
139 {
140 drawShadow = false;
141 if (aI_Trolley.trolley.HideChara)
142 {
143 if (hasActor)
144 {
145 actor.SetActive(enable: false);
146 }
147 return;
148 }
149 }
150 if (hasActor)
151 {
152 actor.SetActive(enable: true);
153 }
154 }
155 else
156 {
157 p.x = (position.x = v.x);
158 p.y = (position.y = v.y);
159 p.z = (position.z = v.z);
160 }
161 if (anime != null)
162 {
163 anime.Update();
164 }
166 {
167 SubPassData.Current = SubPassData.Default;
169 p.tile = rendererObjDummy.tile;
170 p.dir = 0;
171 if (hasActor)
172 {
173 actor.SetActive(enable: false);
174 }
175 rendererObjDummy.Draw(p);
176 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
177 {
178 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);
179 }
180 }
181 else
182 {
183 SubPassData.Current = owner.GetSubPassData();
184 SourcePref pref = GetPref();
185 RenderData renderData = data;
186 int prefIndex = owner.PrefIndex;
187 if (Player.seedHallucination != 0 && CanBeHallucinated())
188 {
190 CardRow cardRow = null;
191 bool flag = false;
192 for (int i = 0; i < 20; i++)
193 {
194 if (owner.isChara)
195 {
196 cardRow = EClass.sources.charas.rows.RandomItem();
197 if (cardRow.multisize)
198 {
199 continue;
200 }
201 }
202 else
203 {
204 cardRow = EClass.sources.things.rows.RandomItem();
205 if (cardRow.tileType != owner.TileType)
206 {
207 continue;
208 }
209 }
210 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
211 {
212 flag = true;
213 break;
214 }
215 }
216 if (flag)
217 {
218 renderData = cardRow.renderData;
219 pref = cardRow.pref;
220 cardRow.model.dir = owner.dir;
221 cardRow.model.SetRenderParam(p);
222 prefIndex = cardRow.model.PrefIndex;
223 }
224 Rand.SetSeed();
225 }
226 if (owner.trait is TraitFigure)
227 {
229 {
230 TraitFigure traitFigure = owner.trait as TraitFigure;
231 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
232 renderData = row.renderData;
233 pref = row.pref;
234 if (row._tiles.Length == 0 || data.pass == null)
235 {
236 renderData = owner.sourceCard.renderData;
237 pref = owner.sourceCard.pref;
238 }
239 else
240 {
242 {
243 owner.refVal = row.skinAntiSpider;
244 }
245 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
246 p.matColor = traitFigure.GetMatColor();
247 drawShadow = traitFigure.ShowShadow;
248 pref = row.pref;
249 }
250 p.x += pref.x * (float)((owner.dir % 2 == 0) ? 1 : (-1));
251 p.y += pref.y;
252 p.z += pref.z;
254 {
255 drawShadow = false;
256 }
257 }
258 else
259 {
260 renderData = owner.sourceCard.renderData;
261 }
262 }
263 if (replacer != null)
264 {
265 renderData = replacer.data;
266 pref = replacer.pref;
267 SubPassData.Current = SubPassData.Default;
268 }
269 if (isChara)
270 {
271 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
272 p.z += pref.z;
273 }
274 p.y += pref.y;
275 int shadow = pref.shadow;
276 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.visibleWithTelepathy);
277 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
278 {
279 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
280 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);
281 }
282 if (usePass)
283 {
284 if (owner.noSnow)
285 {
286 p.snow = false;
287 }
288 if (!flag2)
289 {
290 renderData.Draw(p);
291 }
292 }
293 else if (hasActor)
294 {
296 {
297 Chara ride = owner.Chara.ride;
298 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
299 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
300 ride.angle = owner.angle;
301 if (charaActorPCC != null && charaActorPCC2 != null)
302 {
303 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
304 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
305 charaActorPCC.provider.SetSpriteMain();
306 charaActorPCC.RefreshSprite();
307 }
308 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
309 float x = p.x;
310 float y = p.y;
311 float z = p.z;
312 Vector3 v2 = new Vector3(v.x, v.y, v.z);
313 ride.renderer.Draw(p, ref v2, drawShadow: false);
314 int currentDir = actor.currentDir;
315 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
316 {
317 2 => -1,
318 1 => 1,
319 _ => 0,
320 });
321 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
322 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
323 }
324 if (flag2)
325 {
326 actor.SetActive(enable: false);
327 }
328 else
329 {
330 actor.SetActive(enable: true);
331 actor.OnRender(p);
332 }
333 }
334 if (isChara)
335 {
336 if (owner.Chara.parasite != null)
337 {
338 owner.Chara.parasite.renderer.position = position;
339 }
340 if (owner.Chara.ride != null)
341 {
342 owner.Chara.ride.renderer.position = position;
343 }
344 }
345 SubPassData.Current = SubPassData.Default;
346 }
347 if (listTC.Count > 0)
348 {
349 RenderObject.tempV = position;
350 RenderObject.tempV.y += data.offset.y + data.size.y;
351 for (int num = listTC.Count - 1; num >= 0; num--)
352 {
353 listTC[num].OnDraw(ref RenderObject.tempV);
354 }
355 }
357 {
359 }
360 bool CanBeHallucinated()
361 {
363 {
364 return false;
365 }
366 if (owner.isThing)
367 {
369 {
370 return false;
371 }
372 if (listTC.Count > 0)
373 {
374 return false;
375 }
376 }
377 return true;
378 }
379 }
BaseTileMap tileMap
MeshPass passShadow
Definition: BaseTileMap.cs:133
RenderDataObjDummy rendererObjDummy
Definition: BaseTileMap.cs:227
virtual void OnRender(RenderParam p)
Definition: CardActor.cs:103
virtual int currentDir
Definition: CardActor.cs:41
virtual int GetFrame()
Definition: CardActor.cs:98
override void Draw(RenderParam p)
Definition: CardRenderer.cs:53
SourcePref GetPref()
RendererReplacer replacer
Definition: CardRenderer.cs:29
Vector3 position
Definition: CardRenderer.cs:21
TransAnime anime
Definition: CardRenderer.cs:23
override void OnEnterScreen()
void TrySpawnOrbit()
virtual void UpdatePosition(ref Vector3 destPos, RenderParam p)
TCOrbit orbit
Definition: CardRenderer.cs:7
CardActor actor
Definition: CardRenderer.cs:11
string[] idActor
Definition: CardRow.cs:35
Card model
Definition: CardRow.cs:60
string idExtra
Definition: CardRow.cs:9
float angle
Definition: Card.cs:71
virtual bool isThing
Definition: Card.cs:2069
virtual Chara Chara
Definition: Card.cs:2058
string id
Definition: Card.cs:35
bool isRoofItem
Definition: Card.cs:578
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6038
ICardParent parent
Definition: Card.cs:55
bool ExistsOnMap
Definition: Card.cs:2073
virtual bool IsDeadOrSleeping
Definition: Card.cs:2097
TileType TileType
Definition: Card.cs:2123
Point pos
Definition: Card.cs:59
int uid
Definition: Card.cs:122
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5885
virtual SubPassData GetSubPassData()
Definition: Card.cs:6157
Trait trait
Definition: Card.cs:53
int altitude
Definition: Card.cs:230
bool IsInstalled
Definition: Card.cs:2369
virtual bool IsPC
Definition: Card.cs:2131
string NameSimple
Definition: Card.cs:2127
virtual bool isChara
Definition: Card.cs:2071
Cell Cell
Definition: Card.cs:2043
virtual int PrefIndex
Definition: Card.cs:2300
int dir
Definition: Card.cs:146
bool noSnow
Definition: Card.cs:758
virtual CardRow sourceCard
Definition: Card.cs:2119
bool noShadow
Definition: Card.cs:818
SourceCategory.Row category
Definition: Card.cs:2037
CardRenderer renderer
Definition: Card.cs:61
virtual bool flipX
Definition: Card.cs:2104
string c_idRefCard
Definition: Card.cs:1737
bool HasRoof
Definition: Cell.cs:648
bool ignoreObjShadow
Definition: Cell.cs:378
override void RefreshSprite()
SpriteProvider provider
Definition: CharaActorPCC.cs:9
Definition: Chara.cs:10
Card held
Definition: Chara.cs:70
AIAct ai
Definition: Chara.cs:200
Chara host
Definition: Chara.cs:33
bool IsNeutralOrAbove()
Definition: Chara.cs:6466
string Aka
Definition: Chara.cs:214
SourceChara.Row source
Definition: Chara.cs:156
bool visibleWithTelepathy
Definition: Chara.cs:150
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
bool bossText
Definition: Chara.cs:144
new GameConfig game
Definition: CoreConfig.cs:605
CoreConfig config
Definition: Core.cs:70
static Game game
Definition: EClass.cs:8
static Scene scene
Definition: EClass.cs:30
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
static Map _map
Definition: EClass.cs:18
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
Zone activeZone
Definition: Game.cs:248
QuestManager quests
Definition: Game.cs:179
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
static bool isBuiltin
Definition: Lang.cs:42
static LayerDrama Instance
Definition: LayerDrama.cs:20
bool IsIndoor
Definition: Map.cs:131
Playlist plDay
Definition: Map.cs:77
void AddShadow(MeshPassParam p, ref Vector3 fix)
Definition: MeshPass.cs:195
Definition: Player.cs:11
static int seedHallucination
Definition: Player.cs:1132
Thing LastThing
Definition: Point.cs:302
Cell cell
Definition: Point.cs:51
Quest Get(string id)
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
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
SourcePref shadowPref
Definition: RenderData.cs:48
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
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
List< Item > items
Definition: ShadowData.cs:101
static ShadowData Instance
Definition: ShadowData.cs:99
SourceThing things
SourceChara charas
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
virtual bool UseMountHeight
Definition: TileType.cs:221
virtual bool ShowShadow
Definition: TraitFigure.cs:10
virtual int GetMatColor()
Definition: TraitFigure.cs:12
virtual bool CanBeHallucinated
Definition: Trait.cs:298
virtual bool RenderExtra
Definition: Trait.cs:356
virtual bool UseDummyTile
Definition: Trait.cs:194
virtual void OnRenderExtra(RenderParam p)
Definition: Trait.cs:629
bool Update()
Definition: TransAnime.cs:40
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67
void SetBGM(List< int > ids, bool refresh=true, float fadeDuration=0f)
Definition: Zone.cs:2917

References RenderRow._idRenderData, EClass._map, RenderRow._tiles, EClass._zone, Game.activeZone, actor, MeshPass.AddShadow(), Chara.ai, Chara.Aka, Card.altitude, Card.angle, anime, CoreConfig.GameConfig.antiSpider, Chara.bossText, Card.c_idRefCard, Trait.CanBeHallucinated, Card.category, Card.Cell, Point.cell, RenderRow.chance, Card.Chara, SourceManager.charas, Core.config, EClass.core, SubPassData.Current, CardActor.currentDir, RendererReplacer.data, RenderObject.data, SubPassData.Default, Card.dir, Draw(), RenderDataObj.Draw(), RenderData.Draw(), Card.ExistsOnMap, Card.flipX, CoreConfig.game, EClass.game, QuestManager.Get(), CardActor.GetFrame(), TraitFigure.GetMatColor(), GetPref(), Card.GetSubPassData(), hasActor, Cell.HasRoof, Chara.held, Chara.host, Card.id, CardRow.idActor, CardRow.idExtra, Cell.ignoreObjShadow, LayerDrama.Instance, ShadowData.Instance, SplashText.Instance, Lang.isBuiltin, Card.isChara, isChara, Card.IsDeadOrSleeping, Map.IsIndoor, Card.IsInstalled, Chara.IsNeutralOrAbove(), Card.IsPC, Card.isRoofItem, RenderObject.isSynced, Card.isThing, ShadowData.items, Lang.langCode, Point.LastThing, listTC, CardRow.model, RenderRow.multisize, Card.NameSimple, Card.noShadow, Card.noSnow, RenderData.offsetShadow, OnEnterScreen(), CardActor.OnRender(), Trait.OnRenderExtra(), orbit, owner, Chara.parasite, Card.parent, RenderData.pass, BaseTileMap.passShadow, EClass.pc, Card.PlaySound(), Map.plDay, Card.pos, position, RendererReplacer.pref, RenderRow.pref, Card.PrefIndex, CharaActorPCC.provider, Game.quests, TCOrbit.Refresh(), CharaActorPCC.RefreshSprite(), RenderRow.renderData, Card.renderer, BaseTileMap.rendererObjDummy, Trait.RenderExtra, RenderObject.renderSetting, replacer, Chara.ride, EClass.scene, Scene.screenElin, Player.seedHallucination, Zone.SetBGM(), Card.SetRenderParam(), Rand.SetSeed(), SourcePref.shadow, SubPassData.shadow, RenderParam.shadowFix, RenderData.shadowPref, CoreConfig.GameConfig.showRide, TraitFigure.ShowShadow, RenderData.size, SourceChara.Row.skinAntiSpider, skip, MeshPassParam.snow, Chara.source, Card.sourceCard, EClass.sources, RenderObject.sync, RenderObject.syncFrame, RenderObject.syncList, RenderObject.tempV, SourceManager.things, RenderDataObjDummy.tile, BaseGameScreen.tileMap, Card.TileType, RenderRow.tileType, Card.trait, TrySpawnOrbit(), EClass.ui, Card.uid, TransAnime.Update(), UpdatePosition(), Trait.UseDummyTile, TileType.UseMountHeight, RenderObject.usePass, Util, Chara.visibleWithTelepathy, MeshPassParam.x, MeshPassParam.y, SourcePref.y, MeshPassParam.z, and SourcePref.z.

◆ DrawHeld()

virtual void CardRenderer.DrawHeld ( )
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 385 of file CardRenderer.cs.

386 {
387 }

◆ GetOrCreateTC< T >()

T CardRenderer.GetOrCreateTC< T > ( Func< T >  func)
inline
Type Constraints
T :TC 

Definition at line 610 of file CardRenderer.cs.

610 : TC
611 {
612 return GetTC<T>() ?? AddTC<T>(func());
613 }
T AddTC< T >(TC tc)

References AddTC< T >(), and GetTC< T >().

◆ GetPref()

SourcePref CardRenderer.GetPref ( )
inline

Definition at line 740 of file CardRenderer.cs.

741 {
743 {
744 return EClass.core.refs.prefs.pcc;
745 }
746 return owner.Pref;
747 }
virtual bool IsPCC
Definition: Card.cs:2135
virtual SourcePref Pref
Definition: Card.cs:2095
virtual bool HasHost
Definition: Card.cs:2411
SourcePref pcc
Definition: CoreRef.cs:328
PrefData prefs
Definition: CoreRef.cs:415
CoreRef refs
Definition: Core.cs:51

References Card.Chara, EClass.core, Card.HasHost, Chara.host, Card.IsPCC, owner, CoreRef.PrefData.pcc, Card.Pref, CoreRef.prefs, Core.refs, and Chara.ride.

Referenced by Draw(), and CharaRenderer.DrawHat().

◆ GetTC()

TC CardRenderer.GetTC ( string  id)
inline

Definition at line 594 of file CardRenderer.cs.

595 {
596 if (listTC.Count == 0)
597 {
598 return null;
599 }
600 for (int num = listTC.Count - 1; num >= 0; num--)
601 {
602 if (listTC[num].name == id)
603 {
604 return listTC[num];
605 }
606 }
607 return null;
608 }

References listTC.

Referenced by ActPlan._Update(), AddExtra(), RemoveExtra(), and AI_Idle.Run().

◆ GetTC< T >()

T CardRenderer.GetTC< T > ( )
inline
Type Constraints
T :TC 

Definition at line 578 of file CardRenderer.cs.

578 : TC
579 {
580 if (listTC.Count == 0)
581 {
582 return null;
583 }
584 for (int num = listTC.Count - 1; num >= 0; num--)
585 {
586 if (listTC[num] is T)
587 {
588 return listTC[num] as T;
589 }
590 }
591 return null;
592 }

References listTC.

Referenced by GetOrCreateTC< T >().

◆ IdleFrame()

virtual void CardRenderer.IdleFrame ( )
inlinevirtual

Definition at line 547 of file CardRenderer.cs.

548 {
549 if (hasActor)
550 {
552 }
553 }
virtual void IdleFrame()
Definition: CardActor.cs:86

References actor, hasActor, and CardActor.IdleFrame().

Referenced by CharaRenderer.UpdatePosition().

◆ IsTalking()

bool CardRenderer.IsTalking ( )
inline

Definition at line 662 of file CardRenderer.cs.

663 {
664 TCText tC = GetTC<TCText>();
665 if ((bool)tC)
666 {
667 return tC.pop.items.Count > 0;
668 }
669 return false;
670 }
Definition: TCText.cs:6

◆ KillActor()

void CardRenderer.KillActor ( )
inline

Definition at line 497 of file CardRenderer.cs.

498 {
499 actor.Kill();
500 hasActor = false;
501 actor = null;
502 }
virtual void Kill()
Definition: CardActor.cs:286

References actor, hasActor, and CardActor.Kill().

Referenced by Card.Destroy(), Map.OnDeactivate(), EffectIRenderer.OnKill(), Zone.OnKillGame(), and OnLeaveScreen().

◆ KillAnime()

virtual void CardRenderer.KillAnime ( )
inlinevirtual

Definition at line 542 of file CardRenderer.cs.

543 {
544 anime = null;
545 }

References anime.

Referenced by Card.KillAnime().

◆ NextDir()

virtual void CardRenderer.NextDir ( )
inlinevirtual

Definition at line 563 of file CardRenderer.cs.

564 {
565 if (hasActor)
566 {
567 actor.NextDir();
568 }
569 }
virtual void NextDir()
Definition: CardActor.cs:94

References actor, hasActor, and CardActor.NextDir().

◆ NextFrame()

◆ OnEnterScreen()

override void CardRenderer.OnEnterScreen ( )
inlinevirtual

Reimplemented from RenderObject.

Reimplemented in CharaRenderer.

Definition at line 397 of file CardRenderer.cs.

398 {
399 if (isSynced)
400 {
401 Debug.LogError("renderer alraedy synced:" + owner);
402 }
403 isSynced = true;
404 if (!usePass)
405 {
406 if (!hasActor)
407 {
409 if (actor == null)
410 {
411 if (owner.sourceCard.idActor.IsEmpty())
412 {
413 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
414 }
415 else
416 {
417 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
418 }
419 }
420 hasActor = true;
421 }
423 }
425 RefreshExtra();
426 if (owner.isCensored)
427 {
428 SetCensored(enable: true);
429 }
431 }
void SetOwner(Card t)
Definition: CardActor.cs:48
virtual void RefreshStateIcon()
void RefreshExtra()
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:434
virtual CardActor CreateActor()
Definition: RenderData.cs:84
virtual void OnEnterScreen()
Definition: Trait.cs:1413

References actor, RenderData.CreateActor(), RenderObject.data, Debug, hasActor, CardRow.idActor, Card.isCensored, Card.isChara, RenderObject.isSynced, Trait.OnEnterScreen(), owner, RefreshExtra(), RefreshStateIcon(), SetCensored(), CardActor.SetOwner(), Card.sourceCard, PoolManager.Spawn(), Card.trait, and RenderObject.usePass.

Referenced by Draw(), BaseListPeople.OnClick(), and EffectIRenderer.OnUpdate().

◆ OnLeaveScreen()

override void CardRenderer.OnLeaveScreen ( )
inlinevirtual

Reimplemented from RenderObject.

Definition at line 475 of file CardRenderer.cs.

476 {
477 isSynced = false;
479 {
480 KillActor();
481 }
482 for (int num = listTC.Count - 1; num >= 0; num--)
483 {
484 RemoveTC(num);
485 }
486 if (hasText)
487 {
489 }
490 if ((bool)orbit)
491 {
493 orbit = null;
494 }
495 }
void KillActor()
void DespawnSimpleText()
void RemoveTC(TC tc)
bool isMasked
Definition: Card.cs:590
bool persistActor
Definition: RenderData.cs:38

References RenderObject.data, PoolManager.Despawn(), DespawnSimpleText(), Card.ExistsOnMap, hasActor, hasText, Card.isMasked, RenderObject.isSynced, KillActor(), listTC, orbit, owner, RenderData.persistActor, and RemoveTC().

Referenced by BaseListPeople.OnClick(), and Zone.RemoveCard().

◆ PlayAnime() [1/4]

◆ PlayAnime() [2/4]

void CardRenderer.PlayAnime ( AnimeID  id,
Card  dest 
)
inline

Definition at line 509 of file CardRenderer.cs.

510 {
511 PlayAnime(id, (dest.renderer.position - position).normalized);
512 }

References PlayAnime(), position, and Card.renderer.

◆ PlayAnime() [3/4]

void CardRenderer.PlayAnime ( AnimeID  id,
Point  dest 
)
inline

Definition at line 514 of file CardRenderer.cs.

515 {
516 PlayAnime(id, (dest.PositionAuto() - position).normalized);
517 }
ref Vector3 PositionAuto()
Definition: Point.cs:527

References PlayAnime(), position, and Point.PositionAuto().

◆ PlayAnime() [4/4]

void CardRenderer.PlayAnime ( AnimeID  id,
Vector3  dest = default(Vector3),
bool  force = false 
)
inline

Definition at line 519 of file CardRenderer.cs.

520 {
521 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
522 {
523 return;
524 }
525 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
526 if (transAnimeData == null)
527 {
528 anime = null;
529 return;
530 }
531 anime = new TransAnime
532 {
533 data = transAnimeData,
534 renderer = this
535 }.Init();
536 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u)
537 {
538 anime.dest = dest;
539 }
540 }
AnimeID
Definition: AnimeID.cs:2
bool IsSync
Definition: Point.cs:332
bool IsValid
Definition: Point.cs:88
Definition: Zone.cs:12

References anime, RenderObject.data, Point.IsSync, Point.IsValid, owner, Card.parent, and Card.pos.

◆ PositionCenter()

Vector3 CardRenderer.PositionCenter ( )
inline

Definition at line 33 of file CardRenderer.cs.

34 {
35 return new Vector3(position.x + data.size.x + data.offset.x * 0.5f, position.y + data.size.y + data.offset.y, position.z);
36 }
Vector3 offset
Definition: RenderData.cs:18

References RenderObject.data, RenderData.offset, position, and RenderData.size.

Referenced by BaseStats.PopText().

◆ Refresh()

virtual void CardRenderer.Refresh ( )
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 736 of file CardRenderer.cs.

737 {
738 }

◆ RefreshExtra()

void CardRenderer.RefreshExtra ( )
inline

Definition at line 446 of file CardRenderer.cs.

447 {
448 string idExtra = owner.sourceCard.idExtra;
449 if (!idExtra.IsEmpty())
450 {
451 AddExtra(idExtra);
452 }
453 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
454 {
455 if (owner.c_bossType == BossType.Evolved)
456 {
457 AddExtra("c_unique_evolved");
458 }
459 else
460 {
461 AddExtra("c_unique");
462 }
463 }
464 }
BossType
Definition: BossType.cs:2
Rarity
Definition: Rarity.cs:2
void AddExtra(string id)
Rarity rarity
Definition: Card.cs:314
BossType c_bossType
Definition: Card.cs:1221
bool IsHomeMember()
Definition: Chara.cs:6480

References AddExtra(), Card.c_bossType, Card.Chara, CardRow.idExtra, isChara, Chara.IsHomeMember(), owner, Card.rarity, and Card.sourceCard.

Referenced by Chara.ChangeRarity(), TraitGodStatue.OnChangeMaterial(), OnEnterScreen(), and TraitPowerStatue.OnUse().

◆ RefreshSprite()

◆ RefreshStateIcon()

virtual void CardRenderer.RefreshStateIcon ( )
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 711 of file CardRenderer.cs.

712 {
713 }

Referenced by OnEnterScreen().

◆ RemoveExtra()

void CardRenderer.RemoveExtra ( string  id)
inline

Definition at line 466 of file CardRenderer.cs.

467 {
468 TC tC = GetTC(id);
469 if (tC != null)
470 {
471 RemoveTC(tC);
472 }
473 }

References GetTC(), and RemoveTC().

Referenced by Trait.RefreshRenderer(), and TraitToolTorch.RefreshRenderer().

◆ RemoveTC() [1/2]

void CardRenderer.RemoveTC ( int  index)
inline

Definition at line 637 of file CardRenderer.cs.

638 {
639 if (index != -1)
640 {
641 listTC[index].Kill();
642 listTC.RemoveAt(index);
643 }
644 }

References listTC.

◆ RemoveTC() [2/2]

void CardRenderer.RemoveTC ( TC  tc)
inline

Definition at line 632 of file CardRenderer.cs.

633 {
634 RemoveTC(listTC.IndexOf(tc));
635 }

References listTC, and RemoveTC().

Referenced by OnLeaveScreen(), CharaRenderer.RefreshStateIcon(), RemoveExtra(), and RemoveTC().

◆ RemoveTC< T >()

void CardRenderer.RemoveTC< T > ( )
inline
Type Constraints
T :TC 

Definition at line 615 of file CardRenderer.cs.

615 : TC
616 {
617 if (listTC.Count == 0)
618 {
619 return;
620 }
621 for (int num = listTC.Count - 1; num >= 0; num--)
622 {
623 if (listTC[num] is T)
624 {
625 listTC[num].Kill();
626 listTC.RemoveAt(num);
627 break;
628 }
629 }
630 }

References listTC.

◆ RenderToRenderCam()

override void CardRenderer.RenderToRenderCam ( RenderParam  p)
inlinevirtual

Reimplemented from RenderObject.

Definition at line 59 of file CardRenderer.cs.

60 {
61 Vector3 v = EClass.scene.camSupport.renderPos;
62 if (data.multiSize)
63 {
64 v.y -= 0.8f;
65 }
66 p.x = v.x;
67 p.y = v.y;
68 p.z = v.z;
69 Draw(p, ref v, drawShadow: false);
70 }
Vector3 renderPos
bool multiSize
Definition: RenderData.cs:32
CameraSupport camSupport
Definition: Scene.cs:41

References Scene.camSupport, RenderObject.data, Draw, RenderData.multiSize, CameraSupport.renderPos, and EClass.scene.

◆ Say()

void CardRenderer.Say ( string  text,
Color  c = default(Color),
float  duration = 0f 
)
inline

Definition at line 715 of file CardRenderer.cs.

716 {
717 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).Say(text, duration);
718 }
void Say(string text, Color c=default(Color), float duration=0f)
TCText text
Definition: CoreRef.cs:236
TCs tcs
Definition: CoreRef.cs:353

References EClass.core, Core.refs, Say(), PoolManager.Spawn(), CoreRef.tcs, CoreRef.TCs.text, and EClass.ui.

Referenced by Say().

◆ SetCensored()

void CardRenderer.SetCensored ( bool  enable)
inline

Definition at line 695 of file CardRenderer.cs.

696 {
697 if (!isSynced)
698 {
699 return;
700 }
701 if (enable)
702 {
703 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
704 }
705 else
706 {
707 RemoveTC<TCCensored>();
708 }
709 }
TCCensored censored
Definition: CoreRef.cs:238

References CoreRef.TCs.censored, EClass.core, RenderObject.isSynced, Core.refs, PoolManager.Spawn(), and CoreRef.tcs.

Referenced by OnEnterScreen(), and Card.SetCensored().

◆ SetFirst() [1/2]

virtual void CardRenderer.SetFirst ( bool  first)
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 732 of file CardRenderer.cs.

733 {
734 }

◆ SetFirst() [2/2]

virtual void CardRenderer.SetFirst ( bool  first,
Vector3  pos 
)
inlinevirtual

◆ SetOwner()

virtual void CardRenderer.SetOwner ( Card  c)
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 38 of file CardRenderer.cs.

39 {
40 owner = c;
42 {
43 data = EClass.sources.blocks.map[owner.refVal].renderData;
44 }
45 else if (data == null)
46 {
48 }
49 isChara = c.isChara;
50 usePass = data.pass != null;
51 }
int refVal
Definition: Card.cs:206
SourceBlock blocks

References SourceManager.blocks, RenderObject.data, Card.isChara, isChara, owner, Card.refVal, RenderRow.renderData, Card.sourceCard, EClass.sources, Card.trait, and RenderObject.usePass.

Referenced by Card._CreateRenderer().

◆ ShowEmo()

void CardRenderer.ShowEmo ( Emo  emo,
float  duration = 0f 
)
inline

Definition at line 720 of file CardRenderer.cs.

721 {
722 if (isSynced)
723 {
724 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
725 }
726 }
void ShowEmo(Emo emo, float duration=0f)

References EClass.core, RenderObject.isSynced, Core.refs, ShowEmo(), PoolManager.Spawn(), CoreRef.tcs, CoreRef.TCs.text, and EClass.ui.

Referenced by Card.ShowEmo(), and ShowEmo().

◆ SpawnSimpleText()

TCSimpleText CardRenderer.SpawnSimpleText ( )
inline

Definition at line 672 of file CardRenderer.cs.

673 {
674 if (!hasText)
675 {
676 hasText = true;
678 }
679 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
680 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
681 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
682 simpleText.transform.position = RenderObject.tempV;
683 return simpleText;
684 }
TCSimpleText simpleText
Definition: CoreRef.cs:242
static BaseGameScreen screen
Definition: EClass.cs:32
static GameSetting.RenderSetting.TCSetting _setting
Definition: TC.cs:5

References TC._setting, EClass.core, hasText, Core.refs, EClass.screen, simpleText, CoreRef.TCs.simpleText, PoolManager.Spawn(), CoreRef.tcs, and RenderObject.tempV.

◆ TrySpawnOrbit()

void CardRenderer.TrySpawnOrbit ( )
inline

Definition at line 646 of file CardRenderer.cs.

647 {
648 if (owner.isChara)
649 {
650 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
651 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
652 orbit.SetOwner(this);
653 }
654 else if (owner.trait.ShowOrbit)
655 {
656 string text2 = "tcOrbitThing";
657 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
658 orbit.SetOwner(this);
659 }
660 }
virtual bool ShowOrbit
Definition: Trait.cs:134

References Card.isChara, orbit, owner, TC.SetOwner(), Trait.ShowOrbit, PoolManager.Spawn(), and Card.trait.

Referenced by Draw().

◆ UpdatePosition()

virtual void CardRenderer.UpdatePosition ( ref Vector3  destPos,
RenderParam  p 
)
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 381 of file CardRenderer.cs.

382 {
383 }

Referenced by Draw().

Member Data Documentation

◆ actor

◆ anime

TransAnime CardRenderer.anime

Definition at line 23 of file CardRenderer.cs.

Referenced by Chara._Move(), Draw(), KillAnime(), and PlayAnime().

◆ hasActor

◆ hasText

bool CardRenderer.hasText

Definition at line 15 of file CardRenderer.cs.

Referenced by DespawnSimpleText(), OnLeaveScreen(), and SpawnSimpleText().

◆ isChara

bool CardRenderer.isChara

Definition at line 17 of file CardRenderer.cs.

Referenced by Draw(), RefreshExtra(), and SetOwner().

◆ listTC

List<TC> CardRenderer.listTC = new List<TC>()

Definition at line 25 of file CardRenderer.cs.

Referenced by AddTC< T >(), Draw(), GetTC(), GetTC< T >(), OnLeaveScreen(), RemoveTC(), and RemoveTC< T >().

◆ orbit

TCOrbit CardRenderer.orbit

Definition at line 7 of file CardRenderer.cs.

Referenced by BaseGameScreen.Draw(), Draw(), OnLeaveScreen(), and TrySpawnOrbit().

◆ owner

Card CardRenderer.owner

◆ position

◆ replacer

RendererReplacer CardRenderer.replacer

◆ simpleText

TCSimpleText CardRenderer.simpleText

Definition at line 27 of file CardRenderer.cs.

Referenced by DespawnSimpleText(), and SpawnSimpleText().

◆ skip

bool CardRenderer.skip

Definition at line 19 of file CardRenderer.cs.

Referenced by Draw().

Property Documentation

◆ IsMoving

virtual bool CardRenderer.IsMoving
get

Definition at line 31 of file CardRenderer.cs.

Referenced by BaseTileMap.DrawTile(), and AM_Adv.OnBeforeUpdate().


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