Elin Decompiled Documentation EA 23.247 Stable Patch 1
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)
 
void ShowBossText ()
 
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 sqrt (int a)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- 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 443 of file CardRenderer.cs.

444 {
445 if (GetTC(id) == null)
446 {
447 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
448 if (tC.isUI)
449 {
450 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
451 }
452 tC.name = id;
453 }
454 }
TC GetTC(string id)
Definition: EClass.cs:6
static UI ui
Definition: EClass.cs:17
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 581 of file CardRenderer.cs.

581 : TC
582 {
583 listTC.Add(tc);
584 tc.SetOwner(this);
585 return tc as T;
586 }
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 696 of file CardRenderer.cs.

697 {
698 if (hasText)
699 {
701 hasText = false;
702 }
703 }
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 115 of file CardRenderer.cs.

116 {
117 if (skip)
118 {
119 skip = false;
120 return;
121 }
123 RenderObject.currentParam = p;
124 p.dir = owner.dir;
125 if (!isSynced)
126 {
128 RenderObject.syncList.Add(this);
129 }
130 if ((bool)orbit)
131 {
132 orbit.Refresh();
133 }
134 else
135 {
137 }
139 {
141 {
142 ShowBossText();
143 }
144 if (owner.Chara.host == null)
145 {
146 UpdatePosition(ref v, p);
147 }
148 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
149 {
150 drawShadow = false;
151 if (aI_Trolley.trolley.HideChara)
152 {
153 if (hasActor)
154 {
155 actor.SetActive(enable: false);
156 }
157 return;
158 }
159 }
160 if (hasActor)
161 {
162 actor.SetActive(enable: true);
163 }
164 }
165 else
166 {
167 p.x = (position.x = v.x);
168 p.y = (position.y = v.y);
169 p.z = (position.z = v.z);
170 }
171 if (anime != null)
172 {
173 anime.Update();
174 }
176 {
177 SubPassData.Current = SubPassData.Default;
179 p.tile = rendererObjDummy.tile;
180 p.dir = 0;
181 if (hasActor)
182 {
183 actor.SetActive(enable: false);
184 }
185 rendererObjDummy.Draw(p);
186 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
187 {
188 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);
189 }
190 }
191 else
192 {
193 SubPassData.Current = owner.GetSubPassData();
194 SourcePref pref = GetPref();
195 RenderData renderData = data;
196 int prefIndex = owner.PrefIndex;
197 if (Player.seedHallucination != 0 && CanBeHallucinated())
198 {
200 CardRow cardRow = null;
201 bool flag = false;
202 for (int i = 0; i < 20; i++)
203 {
204 if (owner.isChara)
205 {
206 cardRow = EClass.sources.charas.rows.RandomItem();
207 if (cardRow.multisize)
208 {
209 continue;
210 }
211 }
212 else
213 {
214 cardRow = EClass.sources.things.rows.RandomItem();
215 if (cardRow.tileType != owner.TileType)
216 {
217 continue;
218 }
219 }
220 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
221 {
222 flag = true;
223 break;
224 }
225 }
226 if (flag)
227 {
228 renderData = cardRow.renderData;
229 pref = cardRow.pref;
230 cardRow.model.dir = owner.dir;
231 cardRow.model.SetRenderParam(p);
232 prefIndex = cardRow.model.PrefIndex;
233 }
234 Rand.SetSeed();
235 }
236 if (owner.trait is TraitFigure)
237 {
239 {
240 TraitFigure traitFigure = owner.trait as TraitFigure;
241 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
242 renderData = row.renderData;
243 pref = row.pref;
244 if (row._tiles.Length == 0 || data.pass == null)
245 {
246 renderData = owner.sourceCard.renderData;
247 pref = owner.sourceCard.pref;
248 }
249 else
250 {
252 {
253 owner.refVal = row.skinAntiSpider;
254 }
255 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
256 p.matColor = traitFigure.GetMatColor();
257 drawShadow = traitFigure.ShowShadow;
258 pref = row.pref;
259 }
260 p.x += pref.x * (float)((owner.dir % 2 == 0) ? 1 : (-1));
261 p.y += pref.y;
262 p.z += pref.z;
264 {
265 drawShadow = false;
266 }
267 }
268 else
269 {
270 renderData = owner.sourceCard.renderData;
271 }
272 }
273 if (replacer != null)
274 {
275 renderData = replacer.data;
276 pref = replacer.pref;
277 SubPassData.Current = SubPassData.Default;
278 }
279 if (isChara)
280 {
281 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
282 p.z += pref.z;
283 }
284 p.y += pref.y;
285 int shadow = pref.shadow;
286 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.visibleWithTelepathy);
287 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
288 {
289 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
290 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);
291 }
292 if (usePass)
293 {
294 if (owner.noSnow)
295 {
296 p.snow = false;
297 }
298 if (!flag2)
299 {
300 renderData.Draw(p);
301 }
302 }
303 else if (hasActor)
304 {
306 {
307 Chara ride = owner.Chara.ride;
308 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
309 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
310 ride.angle = owner.angle;
311 if (charaActorPCC != null && charaActorPCC2 != null)
312 {
313 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
314 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
315 charaActorPCC.provider.SetSpriteMain();
316 charaActorPCC.RefreshSprite();
317 }
318 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
319 float x = p.x;
320 float y = p.y;
321 float z = p.z;
322 Vector3 v2 = new Vector3(v.x, v.y, v.z);
323 ride.renderer.Draw(p, ref v2, drawShadow: false);
324 int currentDir = actor.currentDir;
325 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
326 {
327 2 => -1,
328 1 => 1,
329 _ => 0,
330 });
331 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
332 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
333 }
334 if (flag2)
335 {
336 actor.SetActive(enable: false);
337 }
338 else
339 {
340 actor.SetActive(enable: true);
341 actor.OnRender(p);
342 }
343 }
344 if (isChara)
345 {
346 if (owner.Chara.parasite != null)
347 {
348 owner.Chara.parasite.renderer.position = position;
349 }
350 if (owner.Chara.ride != null)
351 {
352 owner.Chara.ride.renderer.position = position;
353 }
354 }
355 SubPassData.Current = SubPassData.Default;
356 }
357 if (listTC.Count > 0)
358 {
359 RenderObject.tempV = position;
360 RenderObject.tempV.y += data.offset.y + data.size.y;
361 for (int num = listTC.Count - 1; num >= 0; num--)
362 {
363 listTC[num].OnDraw(ref RenderObject.tempV);
364 }
365 }
367 {
369 }
370 bool CanBeHallucinated()
371 {
373 {
374 return false;
375 }
376 if (owner.isThing)
377 {
379 {
380 return false;
381 }
382 if (listTC.Count > 0)
383 {
384 return false;
385 }
386 }
387 return true;
388 }
389 }
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
void ShowBossText()
Definition: CardRenderer.cs:72
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:2081
virtual Chara Chara
Definition: Card.cs:2070
bool isRoofItem
Definition: Card.cs:578
ICardParent parent
Definition: Card.cs:55
bool ExistsOnMap
Definition: Card.cs:2085
virtual bool IsDeadOrSleeping
Definition: Card.cs:2109
TileType TileType
Definition: Card.cs:2135
Point pos
Definition: Card.cs:59
int uid
Definition: Card.cs:122
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6014
virtual SubPassData GetSubPassData()
Definition: Card.cs:6296
Trait trait
Definition: Card.cs:53
int altitude
Definition: Card.cs:230
bool IsInstalled
Definition: Card.cs:2381
virtual bool IsPC
Definition: Card.cs:2143
virtual bool isChara
Definition: Card.cs:2083
Cell Cell
Definition: Card.cs:2055
virtual int PrefIndex
Definition: Card.cs:2312
int dir
Definition: Card.cs:146
bool noSnow
Definition: Card.cs:758
virtual CardRow sourceCard
Definition: Card.cs:2131
bool noShadow
Definition: Card.cs:818
SourceCategory.Row category
Definition: Card.cs:2049
CardRenderer renderer
Definition: Card.cs:61
virtual bool flipX
Definition: Card.cs:2116
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:202
Chara host
Definition: Chara.cs:33
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:609
CoreConfig config
Definition: Core.cs:70
static Game game
Definition: EClass.cs:9
static Scene scene
Definition: EClass.cs:31
static Core core
Definition: EClass.cs:7
static Map _map
Definition: EClass.cs:19
static SourceManager sources
Definition: EClass.cs:43
static Chara pc
Definition: EClass.cs:15
Zone activeZone
Definition: Game.cs:251
static LayerDrama Instance
Definition: LayerDrama.cs:20
bool IsIndoor
Definition: Map.cs:131
void AddShadow(MeshPassParam p, ref Vector3 fix)
Definition: MeshPass.cs:195
Definition: Player.cs:11
static int seedHallucination
Definition: Player.cs:1135
Thing LastThing
Definition: Point.cs:314
Cell cell
Definition: Point.cs:51
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:300
virtual bool RenderExtra
Definition: Trait.cs:358
virtual bool UseDummyTile
Definition: Trait.cs:196
virtual void OnRenderExtra(RenderParam p)
Definition: Trait.cs:633
bool Update()
Definition: TransAnime.cs:40

References RenderRow._idRenderData, EClass._map, RenderRow._tiles, Game.activeZone, actor, MeshPass.AddShadow(), Chara.ai, 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, CardActor.GetFrame(), TraitFigure.GetMatColor(), GetPref(), Card.GetSubPassData(), hasActor, Cell.HasRoof, Chara.held, Chara.host, CardRow.idActor, CardRow.idExtra, Cell.ignoreObjShadow, LayerDrama.Instance, ShadowData.Instance, SplashText.Instance, Card.isChara, isChara, Card.IsDeadOrSleeping, Map.IsIndoor, Card.IsInstalled, Card.IsPC, Card.isRoofItem, RenderObject.isSynced, Card.isThing, ShadowData.items, Point.LastThing, listTC, CardRow.model, RenderRow.multisize, Card.noShadow, Card.noSnow, RenderData.offsetShadow, OnEnterScreen(), CardActor.OnRender(), Trait.OnRenderExtra(), orbit, owner, Chara.parasite, Card.parent, RenderData.pass, BaseTileMap.passShadow, EClass.pc, Card.pos, position, RendererReplacer.pref, RenderRow.pref, Card.PrefIndex, CharaActorPCC.provider, TCOrbit.Refresh(), CharaActorPCC.RefreshSprite(), RenderRow.renderData, Card.renderer, BaseTileMap.rendererObjDummy, Trait.RenderExtra, RenderObject.renderSetting, replacer, Chara.ride, EClass.scene, Scene.screenElin, Player.seedHallucination, Card.SetRenderParam(), Rand.SetSeed(), SourcePref.shadow, SubPassData.shadow, RenderParam.shadowFix, RenderData.shadowPref, ShowBossText(), CoreConfig.GameConfig.showRide, TraitFigure.ShowShadow, RenderData.size, SourceChara.Row.skinAntiSpider, skip, MeshPassParam.snow, 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, 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 395 of file CardRenderer.cs.

396 {
397 }

◆ GetOrCreateTC< T >()

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

Definition at line 620 of file CardRenderer.cs.

620 : TC
621 {
622 return GetTC<T>() ?? AddTC<T>(func());
623 }
T AddTC< T >(TC tc)

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

◆ GetPref()

SourcePref CardRenderer.GetPref ( )
inline

Definition at line 750 of file CardRenderer.cs.

751 {
752 if (replacer != null)
753 {
754 return replacer.pref;
755 }
756 if ((owner.IsPCC && replacer == null) || (owner.HasHost && owner.Chara.host.ride == owner))
757 {
758 return EClass.core.refs.prefs.pcc;
759 }
760 return owner.Pref;
761 }
virtual bool IsPCC
Definition: Card.cs:2147
virtual SourcePref Pref
Definition: Card.cs:2107
virtual bool HasHost
Definition: Card.cs:2423
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, RendererReplacer.pref, CoreRef.prefs, Core.refs, replacer, and Chara.ride.

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

◆ GetTC()

TC CardRenderer.GetTC ( string  id)
inline

Definition at line 604 of file CardRenderer.cs.

605 {
606 if (listTC.Count == 0)
607 {
608 return null;
609 }
610 for (int num = listTC.Count - 1; num >= 0; num--)
611 {
612 if (listTC[num].name == id)
613 {
614 return listTC[num];
615 }
616 }
617 return null;
618 }

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 588 of file CardRenderer.cs.

588 : TC
589 {
590 if (listTC.Count == 0)
591 {
592 return null;
593 }
594 for (int num = listTC.Count - 1; num >= 0; num--)
595 {
596 if (listTC[num] is T)
597 {
598 return listTC[num] as T;
599 }
600 }
601 return null;
602 }

References listTC.

Referenced by GetOrCreateTC< T >().

◆ IdleFrame()

virtual void CardRenderer.IdleFrame ( )
inlinevirtual

Definition at line 557 of file CardRenderer.cs.

558 {
559 if (hasActor)
560 {
562 }
563 }
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 672 of file CardRenderer.cs.

673 {
674 TCText tC = GetTC<TCText>();
675 if ((bool)tC)
676 {
677 return tC.pop.items.Count > 0;
678 }
679 return false;
680 }
Definition: TCText.cs:6

◆ KillActor()

void CardRenderer.KillActor ( )
inline

Definition at line 507 of file CardRenderer.cs.

508 {
509 actor.Kill();
510 hasActor = false;
511 actor = null;
512 }
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 552 of file CardRenderer.cs.

553 {
554 anime = null;
555 }

References anime.

Referenced by Card.KillAnime().

◆ NextDir()

virtual void CardRenderer.NextDir ( )
inlinevirtual

Definition at line 573 of file CardRenderer.cs.

574 {
575 if (hasActor)
576 {
577 actor.NextDir();
578 }
579 }
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 407 of file CardRenderer.cs.

408 {
409 if (isSynced)
410 {
411 Debug.LogError("renderer alraedy synced:" + owner);
412 }
413 isSynced = true;
414 if (!usePass)
415 {
416 if (!hasActor)
417 {
419 if (actor == null)
420 {
421 if (owner.sourceCard.idActor.IsEmpty())
422 {
423 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
424 }
425 else
426 {
427 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
428 }
429 }
430 hasActor = true;
431 }
433 }
435 RefreshExtra();
436 if (owner.isCensored)
437 {
438 SetCensored(enable: true);
439 }
441 }
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:1417

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 485 of file CardRenderer.cs.

486 {
487 isSynced = false;
489 {
490 KillActor();
491 }
492 for (int num = listTC.Count - 1; num >= 0; num--)
493 {
494 RemoveTC(num);
495 }
496 if (hasText)
497 {
499 }
500 if ((bool)orbit)
501 {
503 orbit = null;
504 }
505 }
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 519 of file CardRenderer.cs.

520 {
521 PlayAnime(id, (dest.renderer.position - position).normalized);
522 }

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

◆ PlayAnime() [3/4]

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

Definition at line 524 of file CardRenderer.cs.

525 {
526 PlayAnime(id, (dest.PositionAuto() - position).normalized);
527 }
ref Vector3 PositionAuto()
Definition: Point.cs:539

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 529 of file CardRenderer.cs.

530 {
531 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
532 {
533 return;
534 }
535 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
536 if (transAnimeData == null)
537 {
538 anime = null;
539 return;
540 }
541 anime = new TransAnime
542 {
543 data = transAnimeData,
544 renderer = this
545 }.Init();
546 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u)
547 {
548 anime.dest = dest;
549 }
550 }
AnimeID
Definition: AnimeID.cs:2
bool IsSync
Definition: Point.cs:344
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 746 of file CardRenderer.cs.

747 {
748 }

◆ RefreshExtra()

void CardRenderer.RefreshExtra ( )
inline

Definition at line 456 of file CardRenderer.cs.

457 {
458 string idExtra = owner.sourceCard.idExtra;
459 if (!idExtra.IsEmpty())
460 {
461 AddExtra(idExtra);
462 }
463 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
464 {
465 if (owner.c_bossType == BossType.Evolved)
466 {
467 AddExtra("c_unique_evolved");
468 }
469 else
470 {
471 AddExtra("c_unique");
472 }
473 }
474 }
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:6588

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 721 of file CardRenderer.cs.

722 {
723 }

Referenced by OnEnterScreen().

◆ RemoveExtra()

void CardRenderer.RemoveExtra ( string  id)
inline

Definition at line 476 of file CardRenderer.cs.

477 {
478 TC tC = GetTC(id);
479 if (tC != null)
480 {
481 RemoveTC(tC);
482 }
483 }

References GetTC(), and RemoveTC().

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

◆ RemoveTC() [1/2]

void CardRenderer.RemoveTC ( int  index)
inline

Definition at line 647 of file CardRenderer.cs.

648 {
649 if (index != -1)
650 {
651 listTC[index].Kill();
652 listTC.RemoveAt(index);
653 }
654 }

References listTC.

◆ RemoveTC() [2/2]

void CardRenderer.RemoveTC ( TC  tc)
inline

Definition at line 642 of file CardRenderer.cs.

643 {
644 RemoveTC(listTC.IndexOf(tc));
645 }

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 625 of file CardRenderer.cs.

625 : TC
626 {
627 if (listTC.Count == 0)
628 {
629 return;
630 }
631 for (int num = listTC.Count - 1; num >= 0; num--)
632 {
633 if (listTC[num] is T)
634 {
635 listTC[num].Kill();
636 listTC.RemoveAt(num);
637 break;
638 }
639 }
640 }

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 725 of file CardRenderer.cs.

726 {
727 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).Say(text, duration);
728 }
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(), and CoreDebug.UpdateInput().

◆ SetCensored()

void CardRenderer.SetCensored ( bool  enable)
inline

Definition at line 705 of file CardRenderer.cs.

706 {
707 if (!isSynced)
708 {
709 return;
710 }
711 if (enable)
712 {
713 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
714 }
715 else
716 {
717 RemoveTC<TCCensored>();
718 }
719 }
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 742 of file CardRenderer.cs.

743 {
744 }

◆ 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().

◆ ShowBossText()

void CardRenderer.ShowBossText ( )
inline

Definition at line 72 of file CardRenderer.cs.

73 {
75 {
76 return;
77 }
78 SplashText splashText = Util.Instantiate<SplashText>("Media/Text/SplashText_boss2", EClass.ui.rectDynamic);
79 string text = owner.Chara.Aka.ToTitleCase(wholeText: true);
80 string text2 = owner.Chara.NameSimple.ToTitleCase();
81 if (!Lang.isBuiltin && Lang.langCode != "CN")
82 {
83 text = owner.Chara.source.aka.ToTitleCase(wholeText: true);
84 text2 = owner.Chara.source.name.ToTitleCase();
85 }
86 splashText.textSmall.text = text;
87 splashText.textBig.text = text2;
88 owner.Chara.bossText = false;
89 string id = owner.id;
90 if (!(id == "ungaga_pap"))
91 {
92 if (!(id == "lurie_boss"))
93 {
94 return;
95 }
97 {
98 if (EClass._map.plDay.list.Count > 0 && EClass._map.plDay.list[0].data.id != 107)
99 {
100 EClass._zone.SetBGM(107);
101 }
102 if (EClass.game.quests.GetPhase<QuestNegotiationDarkness>() == 2)
103 {
105 }
106 }
107 owner.PlaySound("warcry");
108 }
109 else if (EClass._zone is Zone_DungeonMino)
110 {
111 EClass._zone.SetBGM(107);
112 }
113 }
string id
Definition: Card.cs:35
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:6177
string NameSimple
Definition: Card.cs:2139
bool IsNeutralOrAbove()
Definition: Chara.cs:6574
string Aka
Definition: Chara.cs:216
SourceChara.Row source
Definition: Chara.cs:158
static Zone _zone
Definition: EClass.cs:21
QuestManager quests
Definition: Game.cs:182
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
static bool isBuiltin
Definition: Lang.cs:42
Playlist plDay
Definition: Map.cs:77
Quest Get(string id)
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:2959

References EClass._map, EClass._zone, Chara.Aka, Card.Chara, EClass.game, QuestManager.Get(), Card.id, Lang.isBuiltin, Chara.IsNeutralOrAbove(), Lang.langCode, Card.NameSimple, owner, Card.PlaySound(), Map.plDay, Game.quests, Zone.SetBGM(), Chara.source, EClass.ui, and Util.

Referenced by Draw().

◆ ShowEmo()

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

Definition at line 730 of file CardRenderer.cs.

731 {
732 if (isSynced)
733 {
734 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
735 }
736 }
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 682 of file CardRenderer.cs.

683 {
684 if (!hasText)
685 {
686 hasText = true;
688 }
689 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
690 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
691 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
692 simpleText.transform.position = RenderObject.tempV;
693 return simpleText;
694 }
TCSimpleText simpleText
Definition: CoreRef.cs:242
static BaseGameScreen screen
Definition: EClass.cs:33
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 656 of file CardRenderer.cs.

657 {
658 if (owner.isChara)
659 {
660 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
661 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
662 orbit.SetOwner(this);
663 }
664 else if (owner.trait.ShowOrbit)
665 {
666 string text2 = "tcOrbitThing";
667 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
668 orbit.SetOwner(this);
669 }
670 }
virtual bool ShowOrbit
Definition: Trait.cs:136

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 391 of file CardRenderer.cs.

392 {
393 }

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

◆ 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: