Elin Decompiled Documentation EA 23.174 Nightly
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 (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 422 of file CardRenderer.cs.

423 {
424 if (GetTC(id) == null)
425 {
426 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
427 if (tC.isUI)
428 {
429 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
430 }
431 tC.name = id;
432 }
433 }
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 560 of file CardRenderer.cs.

560 : TC
561 {
562 listTC.Add(tc);
563 tc.SetOwner(this);
564 return tc as T;
565 }
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 675 of file CardRenderer.cs.

676 {
677 if (hasText)
678 {
680 hasText = false;
681 }
682 }
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 {
97 if (owner.Chara.bossText && !EClass.ui.IsActive && !SplashText.Instance)
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 }
111 if (owner.Chara.host == null)
112 {
113 UpdatePosition(ref v, p);
114 }
115 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
116 {
117 drawShadow = false;
118 if (aI_Trolley.trolley.HideChara)
119 {
120 if (hasActor)
121 {
122 actor.SetActive(enable: false);
123 }
124 return;
125 }
126 }
127 if (hasActor)
128 {
129 actor.SetActive(enable: true);
130 }
131 }
132 else
133 {
134 p.x = (position.x = v.x);
135 p.y = (position.y = v.y);
136 p.z = (position.z = v.z);
137 }
138 if (anime != null)
139 {
140 anime.Update();
141 }
143 {
144 SubPassData.Current = SubPassData.Default;
146 p.tile = rendererObjDummy.tile;
147 p.dir = 0;
148 if (hasActor)
149 {
150 actor.SetActive(enable: false);
151 }
152 rendererObjDummy.Draw(p);
153 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
154 {
155 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);
156 }
157 }
158 else
159 {
160 SubPassData.Current = owner.GetSubPassData();
161 SourcePref pref = GetPref();
162 RenderData renderData = data;
163 int prefIndex = owner.PrefIndex;
164 if (Player.seedHallucination != 0 && CanBeHallucinated())
165 {
167 CardRow cardRow = null;
168 bool flag = false;
169 for (int i = 0; i < 20; i++)
170 {
171 if (owner.isChara)
172 {
173 cardRow = EClass.sources.charas.rows.RandomItem();
174 if (cardRow.multisize)
175 {
176 continue;
177 }
178 }
179 else
180 {
181 cardRow = EClass.sources.things.rows.RandomItem();
182 if (cardRow.tileType != owner.TileType)
183 {
184 continue;
185 }
186 }
187 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
188 {
189 flag = true;
190 break;
191 }
192 }
193 if (flag)
194 {
195 renderData = cardRow.renderData;
196 pref = cardRow.pref;
197 cardRow.model.dir = owner.dir;
198 cardRow.model.SetRenderParam(p);
199 prefIndex = cardRow.model.PrefIndex;
200 }
201 Rand.SetSeed();
202 }
203 if (owner.trait is TraitFigure)
204 {
206 {
207 TraitFigure traitFigure = owner.trait as TraitFigure;
208 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
209 renderData = row.renderData;
210 pref = row.pref;
211 if (row._tiles.Length == 0 || data.pass == null)
212 {
213 renderData = owner.sourceCard.renderData;
214 pref = owner.sourceCard.pref;
215 }
216 else
217 {
218 if (EClass.core.config.game.antiSpider && row.race == "spider" && row._tiles.Length > 1)
219 {
220 owner.refVal = 1;
221 }
222 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
223 p.matColor = traitFigure.GetMatColor();
224 drawShadow = traitFigure.ShowShadow;
225 pref = row.pref;
226 }
227 if (renderData.pass != null && EClass.pc.held == owner)
228 {
229 int num = (int)renderData.pass.pmesh.tiling.x;
230 string name = renderData.pass.name;
231 if (!(name == "pass charaL"))
232 {
233 if (name == "pass charaLW")
234 {
235 if (p.tile < 0f)
236 {
237 p.tile *= -1f;
238 }
239 p.tile = (int)p.tile / num * num * 4 + (int)p.tile % num * 2;
240 }
241 }
242 else
243 {
244 p.tile = (int)p.tile / num * num * 2 + (int)p.tile % num;
245 }
246 }
247 }
248 else
249 {
250 renderData = owner.sourceCard.renderData;
251 }
252 }
253 if (replacer != null)
254 {
255 renderData = replacer.data;
256 pref = replacer.pref;
257 SubPassData.Current = SubPassData.Default;
258 }
259 if (isChara)
260 {
261 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
262 }
263 p.y += pref.y;
264 int shadow = pref.shadow;
265 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.race.visibleWithTelepathy);
266 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
267 {
268 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
269 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);
270 }
271 if (usePass)
272 {
273 if (owner.noSnow)
274 {
275 p.snow = false;
276 }
277 if (!flag2)
278 {
279 renderData.Draw(p);
280 }
281 }
282 else if (hasActor)
283 {
285 {
286 Chara ride = owner.Chara.ride;
287 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
288 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
289 ride.angle = owner.angle;
290 if (charaActorPCC != null && charaActorPCC2 != null)
291 {
292 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
293 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
294 charaActorPCC.provider.SetSpriteMain();
295 charaActorPCC.RefreshSprite();
296 }
297 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
298 float x = p.x;
299 float y = p.y;
300 float z = p.z;
301 Vector3 v2 = new Vector3(v.x, v.y, v.z);
302 ride.renderer.Draw(p, ref v2, drawShadow: false);
303 int currentDir = actor.currentDir;
304 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
305 {
306 2 => -1,
307 1 => 1,
308 _ => 0,
309 });
310 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
311 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
312 }
313 if (flag2)
314 {
315 actor.SetActive(enable: false);
316 }
317 else
318 {
319 actor.SetActive(enable: true);
320 actor.OnRender(p);
321 }
322 }
323 if (isChara)
324 {
325 if (owner.Chara.parasite != null)
326 {
327 owner.Chara.parasite.renderer.position = position;
328 }
329 if (owner.Chara.ride != null)
330 {
331 owner.Chara.ride.renderer.position = position;
332 }
333 }
334 SubPassData.Current = SubPassData.Default;
335 }
336 if (listTC.Count > 0)
337 {
338 RenderObject.tempV = position;
339 RenderObject.tempV.y += data.offset.y + data.size.y;
340 for (int num2 = listTC.Count - 1; num2 >= 0; num2--)
341 {
342 listTC[num2].OnDraw(ref RenderObject.tempV);
343 }
344 }
346 {
348 }
349 bool CanBeHallucinated()
350 {
352 {
353 return false;
354 }
355 if (owner.isThing)
356 {
358 {
359 return false;
360 }
361 if (listTC.Count > 0)
362 {
363 return false;
364 }
365 }
366 return true;
367 }
368 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
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:67
virtual bool isThing
Definition: Card.cs:2017
virtual Chara Chara
Definition: Card.cs:2006
bool isRoofItem
Definition: Card.cs:562
ICardParent parent
Definition: Card.cs:51
bool ExistsOnMap
Definition: Card.cs:2021
virtual bool IsDeadOrSleeping
Definition: Card.cs:2045
TileType TileType
Definition: Card.cs:2071
Point pos
Definition: Card.cs:55
int uid
Definition: Card.cs:118
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5646
virtual SubPassData GetSubPassData()
Definition: Card.cs:5918
Trait trait
Definition: Card.cs:49
int altitude
Definition: Card.cs:214
bool IsInstalled
Definition: Card.cs:2317
virtual bool IsPC
Definition: Card.cs:2079
string NameSimple
Definition: Card.cs:2075
virtual bool isChara
Definition: Card.cs:2019
Cell Cell
Definition: Card.cs:1991
virtual int PrefIndex
Definition: Card.cs:2248
int dir
Definition: Card.cs:142
bool noSnow
Definition: Card.cs:742
virtual CardRow sourceCard
Definition: Card.cs:2067
SourceCategory.Row category
Definition: Card.cs:1985
CardRenderer renderer
Definition: Card.cs:57
virtual bool flipX
Definition: Card.cs:2052
string c_idRefCard
Definition: Card.cs:1697
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:198
Chara host
Definition: Chara.cs:33
string Aka
Definition: Chara.cs:212
SourceChara.Row source
Definition: Chara.cs:154
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
bool bossText
Definition: Chara.cs:144
SourceRace.Row race
Definition: Chara.cs:460
new GameConfig game
Definition: CoreConfig.cs:602
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 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:245
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
static bool isBuiltin
Definition: Lang.cs:42
bool IsIndoor
Definition: Map.cs:131
ProceduralMesh pmesh
Definition: MeshPass.cs:25
void AddShadow(MeshPassParam p, ref Vector3 fix)
Definition: MeshPass.cs:195
Definition: Player.cs:11
static int seedHallucination
Definition: Player.cs:1055
Thing LastThing
Definition: Point.cs:302
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:35
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:211
virtual bool ShowShadow
Definition: TraitFigure.cs:10
virtual int GetMatColor()
Definition: TraitFigure.cs:12
virtual bool CanBeHallucinated
Definition: Trait.cs:296
virtual bool RenderExtra
Definition: Trait.cs:354
virtual bool UseDummyTile
Definition: Trait.cs:194
virtual void OnRenderExtra(RenderParam p)
Definition: Trait.cs:623
bool Update()
Definition: TransAnime.cs:40
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67

References RenderRow._idRenderData, EClass._map, RenderRow._tiles, 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, CardActor.GetFrame(), TraitFigure.GetMatColor(), GetPref(), Card.GetSubPassData(), hasActor, Cell.HasRoof, Chara.held, Chara.host, CardRow.idActor, CardRow.idExtra, if(), Cell.ignoreObjShadow, ShadowData.Instance, SplashText.Instance, Lang.isBuiltin, Card.isChara, isChara, Card.IsDeadOrSleeping, Map.IsIndoor, Card.IsInstalled, Card.IsPC, Card.isRoofItem, RenderObject.isSynced, Card.isThing, ShadowData.items, Lang.langCode, Point.LastThing, listTC, CardRow.model, RenderRow.multisize, Card.NameSimple, Card.noSnow, RenderData.offsetShadow, OnEnterScreen(), CardActor.OnRender(), Trait.OnRenderExtra(), orbit, owner, Chara.parasite, Card.parent, RenderData.pass, BaseTileMap.passShadow, EClass.pc, MeshPass.pmesh, Card.pos, position, RendererReplacer.pref, RenderRow.pref, Card.PrefIndex, CharaActorPCC.provider, Chara.race, SourceChara.Row.race, 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, CoreConfig.GameConfig.showRide, TraitFigure.ShowShadow, RenderData.size, skip, MeshPassParam.snow, Chara.source, Card.sourceCard, EClass.sources, RenderObject.sync, RenderObject.syncFrame, RenderObject.syncList, RenderObject.tempV, SourceManager.things, MeshPassParam.tile, RenderDataObjDummy.tile, BaseGameScreen.tileMap, Card.TileType, RenderRow.tileType, ProceduralMesh.tiling, Card.trait, TrySpawnOrbit(), EClass.ui, Card.uid, TransAnime.Update(), UpdatePosition(), Trait.UseDummyTile, TileType.UseMountHeight, RenderObject.usePass, Util, MeshPassParam.x, MeshPassParam.y, SourcePref.y, and MeshPassParam.z.

◆ DrawHeld()

virtual void CardRenderer.DrawHeld ( )
inlinevirtual

Reimplemented in CharaRenderer.

Definition at line 374 of file CardRenderer.cs.

375 {
376 }

◆ GetOrCreateTC< T >()

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

Definition at line 599 of file CardRenderer.cs.

599 : TC
600 {
601 return GetTC<T>() ?? AddTC<T>(func());
602 }
T AddTC< T >(TC tc)

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

◆ GetPref()

SourcePref CardRenderer.GetPref ( )
inline

Definition at line 729 of file CardRenderer.cs.

730 {
732 {
733 return EClass.core.refs.prefs.pcc;
734 }
735 return owner.Pref;
736 }
virtual bool IsPCC
Definition: Card.cs:2083
virtual SourcePref Pref
Definition: Card.cs:2043
virtual bool HasHost
Definition: Card.cs:2359
SourcePref pcc
Definition: CoreRef.cs:326
PrefData prefs
Definition: CoreRef.cs:405
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 583 of file CardRenderer.cs.

584 {
585 if (listTC.Count == 0)
586 {
587 return null;
588 }
589 for (int num = listTC.Count - 1; num >= 0; num--)
590 {
591 if (listTC[num].name == id)
592 {
593 return listTC[num];
594 }
595 }
596 return null;
597 }

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

567 : TC
568 {
569 if (listTC.Count == 0)
570 {
571 return null;
572 }
573 for (int num = listTC.Count - 1; num >= 0; num--)
574 {
575 if (listTC[num] is T)
576 {
577 return listTC[num] as T;
578 }
579 }
580 return null;
581 }

References listTC.

Referenced by GetOrCreateTC< T >().

◆ IdleFrame()

virtual void CardRenderer.IdleFrame ( )
inlinevirtual

Definition at line 536 of file CardRenderer.cs.

537 {
538 if (hasActor)
539 {
541 }
542 }
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 651 of file CardRenderer.cs.

652 {
653 TCText tC = GetTC<TCText>();
654 if ((bool)tC)
655 {
656 return tC.pop.items.Count > 0;
657 }
658 return false;
659 }
Definition: TCText.cs:6

◆ KillActor()

void CardRenderer.KillActor ( )
inline

Definition at line 486 of file CardRenderer.cs.

487 {
488 actor.Kill();
489 hasActor = false;
490 actor = null;
491 }
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 531 of file CardRenderer.cs.

532 {
533 anime = null;
534 }

References anime.

Referenced by Card.KillAnime().

◆ NextDir()

virtual void CardRenderer.NextDir ( )
inlinevirtual

Definition at line 552 of file CardRenderer.cs.

553 {
554 if (hasActor)
555 {
556 actor.NextDir();
557 }
558 }
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 386 of file CardRenderer.cs.

387 {
388 if (isSynced)
389 {
390 Debug.LogError("renderer alraedy synced:" + owner);
391 }
392 isSynced = true;
393 if (!usePass)
394 {
395 if (!hasActor)
396 {
398 if (actor == null)
399 {
400 if (owner.sourceCard.idActor.IsEmpty())
401 {
402 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
403 }
404 else
405 {
406 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
407 }
408 }
409 hasActor = true;
410 }
412 }
414 RefreshExtra();
415 if (owner.isCensored)
416 {
417 SetCensored(enable: true);
418 }
420 }
void SetOwner(Card t)
Definition: CardActor.cs:48
virtual void RefreshStateIcon()
void RefreshExtra()
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:418
virtual CardActor CreateActor()
Definition: RenderData.cs:84
virtual void OnEnterScreen()
Definition: Trait.cs:1407

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

465 {
466 isSynced = false;
468 {
469 KillActor();
470 }
471 for (int num = listTC.Count - 1; num >= 0; num--)
472 {
473 RemoveTC(num);
474 }
475 if (hasText)
476 {
478 }
479 if ((bool)orbit)
480 {
482 orbit = null;
483 }
484 }
void KillActor()
void DespawnSimpleText()
void RemoveTC(TC tc)
bool isMasked
Definition: Card.cs:574
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 498 of file CardRenderer.cs.

499 {
500 PlayAnime(id, (dest.renderer.position - position).normalized);
501 }

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

◆ PlayAnime() [3/4]

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

Definition at line 503 of file CardRenderer.cs.

504 {
505 PlayAnime(id, (dest.PositionAuto() - position).normalized);
506 }
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 508 of file CardRenderer.cs.

509 {
510 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
511 {
512 return;
513 }
514 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
515 if (transAnimeData == null)
516 {
517 anime = null;
518 return;
519 }
520 anime = new TransAnime
521 {
522 data = transAnimeData,
523 renderer = this
524 }.Init();
525 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u)
526 {
527 anime.dest = dest;
528 }
529 }
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 725 of file CardRenderer.cs.

726 {
727 }

◆ RefreshExtra()

void CardRenderer.RefreshExtra ( )
inline

Definition at line 435 of file CardRenderer.cs.

436 {
437 string idExtra = owner.sourceCard.idExtra;
438 if (!idExtra.IsEmpty())
439 {
440 AddExtra(idExtra);
441 }
442 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
443 {
444 if (owner.c_bossType == BossType.Evolved)
445 {
446 AddExtra("c_unique_evolved");
447 }
448 else
449 {
450 AddExtra("c_unique");
451 }
452 }
453 }
BossType
Definition: BossType.cs:2
Rarity
Definition: Rarity.cs:2
void AddExtra(string id)
Rarity rarity
Definition: Card.cs:298
BossType c_bossType
Definition: Card.cs:1193
bool IsHomeMember()
Definition: Chara.cs:6099

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

701 {
702 }

Referenced by OnEnterScreen().

◆ RemoveExtra()

void CardRenderer.RemoveExtra ( string  id)
inline

Definition at line 455 of file CardRenderer.cs.

456 {
457 TC tC = GetTC(id);
458 if (tC != null)
459 {
460 RemoveTC(tC);
461 }
462 }

References GetTC(), and RemoveTC().

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

◆ RemoveTC() [1/2]

void CardRenderer.RemoveTC ( int  index)
inline

Definition at line 626 of file CardRenderer.cs.

627 {
628 if (index != -1)
629 {
630 listTC[index].Kill();
631 listTC.RemoveAt(index);
632 }
633 }

References listTC.

◆ RemoveTC() [2/2]

void CardRenderer.RemoveTC ( TC  tc)
inline

Definition at line 621 of file CardRenderer.cs.

622 {
623 RemoveTC(listTC.IndexOf(tc));
624 }

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

604 : TC
605 {
606 if (listTC.Count == 0)
607 {
608 return;
609 }
610 for (int num = listTC.Count - 1; num >= 0; num--)
611 {
612 if (listTC[num] is T)
613 {
614 listTC[num].Kill();
615 listTC.RemoveAt(num);
616 break;
617 }
618 }
619 }

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

705 {
706 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).Say(text, duration);
707 }
void Say(string text, Color c=default(Color), float duration=0f)
TCText text
Definition: CoreRef.cs:234
TCs tcs
Definition: CoreRef.cs:343

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

685 {
686 if (!isSynced)
687 {
688 return;
689 }
690 if (enable)
691 {
692 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
693 }
694 else
695 {
696 RemoveTC<TCCensored>();
697 }
698 }
TCCensored censored
Definition: CoreRef.cs:236

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

722 {
723 }

◆ 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:190
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 709 of file CardRenderer.cs.

710 {
711 if (isSynced)
712 {
713 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
714 }
715 }
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 661 of file CardRenderer.cs.

662 {
663 if (!hasText)
664 {
665 hasText = true;
667 }
668 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
669 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
670 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
671 simpleText.transform.position = RenderObject.tempV;
672 return simpleText;
673 }
TCSimpleText simpleText
Definition: CoreRef.cs:240
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 635 of file CardRenderer.cs.

636 {
637 if (owner.isChara)
638 {
639 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
640 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
641 orbit.SetOwner(this);
642 }
643 else if (owner.trait.ShowOrbit)
644 {
645 string text2 = "tcOrbitThing";
646 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
647 orbit.SetOwner(this);
648 }
649 }
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 370 of file CardRenderer.cs.

371 {
372 }

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: