Elin Decompiled Documentation EA 23.130 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 ()
 
SourcePref GetPref ()
 
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 ()
 
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 449 of file CardRenderer.cs.

450 {
451 if (GetTC(id) == null)
452 {
453 TC tC = AddTC<TC>(PoolManager.Spawn<TC>("tcExtra_" + id, "Scene/Render/Actor/Component/Extra/" + id));
454 if (tC.isUI)
455 {
456 tC.transform.SetParent(EClass.ui.rectDynamic, worldPositionStays: false);
457 }
458 tC.name = id;
459 }
460 }
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 587 of file CardRenderer.cs.

587 : TC
588 {
589 listTC.Add(tc);
590 tc.SetOwner(this);
591 return tc as T;
592 }
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 702 of file CardRenderer.cs.

703 {
704 if (hasText)
705 {
707 hasText = false;
708 }
709 }
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 49 of file CardRenderer.cs.

50 {
51 Vector3 v = p.NewVector3;
52 Draw(p, ref v, drawShadow: true);
53 }
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 68 of file CardRenderer.cs.

69 {
70 if (skip)
71 {
72 skip = false;
73 return;
74 }
76 RenderObject.currentParam = p;
77 p.dir = owner.dir;
78 if (!isSynced)
79 {
81 RenderObject.syncList.Add(this);
82 }
83 if ((bool)orbit)
84 {
85 orbit.Refresh();
86 }
87 else
88 {
90 }
92 {
93 if (owner.Chara.bossText && !EClass.ui.IsActive && !SplashText.Instance)
94 {
95 SplashText splashText = Util.Instantiate<SplashText>("Media/Text/SplashText_boss2", EClass.ui.rectDynamic);
96 string text = owner.Chara.Aka.ToTitleCase(wholeText: true);
97 string text2 = owner.Chara.NameSimple.ToTitleCase();
98 if (!Lang.isBuiltin && Lang.langCode != "CN")
99 {
100 text = owner.Chara.source.aka.ToTitleCase(wholeText: true);
101 text2 = owner.Chara.source.name.ToTitleCase();
102 }
103 splashText.textSmall.text = text;
104 splashText.textBig.text = text2;
105 owner.Chara.bossText = false;
106 }
107 if (owner.Chara.host == null)
108 {
109 UpdatePosition(ref v, p);
110 }
111 if (owner.Chara.ai is AI_Trolley { IsRunning: not false } aI_Trolley)
112 {
113 drawShadow = false;
114 if (aI_Trolley.trolley.HideChara)
115 {
116 if (hasActor)
117 {
118 actor.SetActive(enable: false);
119 }
120 return;
121 }
122 }
123 if (hasActor)
124 {
125 actor.SetActive(enable: true);
126 }
127 }
128 else
129 {
130 p.x = (position.x = v.x);
131 p.y = (position.y = v.y);
132 p.z = (position.z = v.z);
133 }
134 if (anime != null)
135 {
136 anime.Update();
137 }
139 {
140 SubPassData.Current = SubPassData.Default;
142 p.tile = rendererObjDummy.tile;
143 p.dir = 0;
144 if (hasActor)
145 {
146 actor.SetActive(enable: false);
147 }
148 rendererObjDummy.Draw(p);
149 if (drawShadow && !owner.pos.cell.ignoreObjShadow)
150 {
151 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);
152 }
153 }
154 else
155 {
156 SubPassData.Current = owner.GetSubPassData();
157 SourcePref pref = GetPref();
158 RenderData renderData = data;
159 int prefIndex = owner.PrefIndex;
160 if (Player.seedHallucination != 0 && CanBeHallucinated())
161 {
163 CardRow cardRow = null;
164 bool flag = false;
165 for (int i = 0; i < 20; i++)
166 {
167 if (owner.isChara)
168 {
169 cardRow = EClass.sources.charas.rows.RandomItem();
170 if (cardRow.multisize)
171 {
172 continue;
173 }
174 }
175 else
176 {
177 cardRow = EClass.sources.things.rows.RandomItem();
178 if (cardRow.tileType != owner.TileType)
179 {
180 continue;
181 }
182 }
183 if (cardRow.chance != 0 && cardRow._tiles.Length != 0 && cardRow.idActor.IsEmpty() && cardRow.idExtra.IsEmpty() && SubPassData.Current == SubPassData.Default && !(cardRow._idRenderData != owner.sourceCard._idRenderData))
184 {
185 flag = true;
186 break;
187 }
188 }
189 if (flag)
190 {
191 renderData = cardRow.renderData;
192 pref = cardRow.pref;
193 cardRow.model.dir = owner.dir;
194 cardRow.model.SetRenderParam(p);
195 prefIndex = cardRow.model.PrefIndex;
196 }
197 Rand.SetSeed();
198 }
199 if (owner.trait is TraitFigure)
200 {
202 {
203 TraitFigure traitFigure = owner.trait as TraitFigure;
204 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
205 renderData = row.renderData;
206 pref = row.pref;
207 if (row._tiles.Length == 0 || data.pass == null)
208 {
209 renderData = owner.sourceCard.renderData;
210 pref = owner.sourceCard.pref;
211 }
212 else
213 {
214 if (EClass.core.config.game.antiSpider && row.race == "spider" && row._tiles.Length > 1)
215 {
216 owner.refVal = 1;
217 }
218 p.tile = row._tiles[owner.refVal % row._tiles.Length] * ((owner.dir % 2 == 0) ? 1 : (-1));
219 p.matColor = traitFigure.GetMatColor();
220 drawShadow = traitFigure.ShowShadow;
221 pref = row.pref;
222 }
223 if (renderData.pass != null && EClass.pc.held == owner)
224 {
225 int num = (int)renderData.pass.pmesh.tiling.x;
226 string name = renderData.pass.name;
227 if (!(name == "pass charaL"))
228 {
229 if (name == "pass charaLW")
230 {
231 if (p.tile < 0f)
232 {
233 p.tile *= -1f;
234 }
235 p.tile = (int)p.tile / num * num * 4 + (int)p.tile % num * 2;
236 }
237 }
238 else
239 {
240 p.tile = (int)p.tile / num * num * 2 + (int)p.tile % num;
241 }
242 }
243 }
244 else
245 {
246 renderData = owner.sourceCard.renderData;
247 }
248 }
249 if (replacer != null)
250 {
251 renderData = replacer.data;
252 pref = replacer.pref;
253 SubPassData.Current = SubPassData.Default;
254 }
255 if (isChara)
256 {
257 p.x += pref.x * (float)((!owner.flipX) ? 1 : (-1));
258 }
259 p.y += pref.y;
260 int shadow = pref.shadow;
261 bool flag2 = isChara && owner.isHidden && !EClass.pc.canSeeInvisible && (!EClass.pc.hasTelepathy || !owner.Chara.race.visibleWithTelepathy);
262 if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
263 {
264 bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
265 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) - RenderObject.altitudeFix * (float)owner.altitude, position.z + renderData.offsetShadow.z, ShadowData.Instance.items[shadow], pref, prefIndex, p.snow);
266 }
267 if (usePass)
268 {
269 if (owner.noSnow)
270 {
271 p.snow = false;
272 }
273 if (!flag2)
274 {
275 renderData.Draw(p);
276 }
277 }
278 else if (hasActor)
279 {
281 {
282 Chara ride = owner.Chara.ride;
283 CharaActorPCC charaActorPCC = ride.renderer.actor as CharaActorPCC;
284 CharaActorPCC charaActorPCC2 = actor as CharaActorPCC;
285 ride.angle = owner.angle;
286 if (charaActorPCC != null && charaActorPCC2 != null)
287 {
288 charaActorPCC.provider.currentDir = charaActorPCC2.provider.currentDir;
289 charaActorPCC.provider.currentFrame = charaActorPCC2.provider.currentFrame;
290 charaActorPCC.provider.SetSpriteMain();
291 charaActorPCC.RefreshSprite();
292 }
293 PCCData.RideData ride2 = (ride.renderer as CharaRenderer).pccData.ride;
294 float x = p.x;
295 float y = p.y;
296 float z = p.z;
297 Vector3 v2 = new Vector3(v.x, v.y, v.z);
298 ride.renderer.Draw(p, ref v2, drawShadow: false);
299 int currentDir = actor.currentDir;
300 p.x = x + RenderObject.renderSetting.ridePos[currentDir].x + ride2.x * (float)(currentDir switch
301 {
302 2 => -1,
303 1 => 1,
304 _ => 0,
305 });
306 p.y = y + RenderObject.renderSetting.ridePos[currentDir].y + ride2.y + ride2.jump * (float)((actor.GetFrame() % 2 == 1) ? 1 : 0);
307 p.z = z + RenderObject.renderSetting.ridePos[currentDir].z - ride2.z;
308 }
309 if (flag2)
310 {
311 actor.SetActive(enable: false);
312 }
313 else
314 {
315 actor.SetActive(enable: true);
316 actor.OnRender(p);
317 }
318 }
319 if (isChara)
320 {
321 if (owner.Chara.parasite != null)
322 {
323 owner.Chara.parasite.renderer.position = position;
324 }
325 if (owner.Chara.ride != null)
326 {
327 owner.Chara.ride.renderer.position = position;
328 }
329 }
330 SubPassData.Current = SubPassData.Default;
331 }
332 if (listTC.Count > 0)
333 {
334 RenderObject.tempV = position;
335 RenderObject.tempV.y += data.offset.y + data.size.y;
336 for (int num2 = listTC.Count - 1; num2 >= 0; num2--)
337 {
338 listTC[num2].OnDraw(ref RenderObject.tempV);
339 }
340 }
342 {
344 }
345 bool CanBeHallucinated()
346 {
348 {
349 return false;
350 }
351 if (owner.isThing)
352 {
354 {
355 return false;
356 }
357 if (listTC.Count > 0)
358 {
359 return false;
360 }
361 }
362 return true;
363 }
364 }
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:49
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:1981
virtual Chara Chara
Definition: Card.cs:1970
bool isRoofItem
Definition: Card.cs:550
ICardParent parent
Definition: Card.cs:51
bool ExistsOnMap
Definition: Card.cs:1985
virtual bool IsDeadOrSleeping
Definition: Card.cs:2009
TileType TileType
Definition: Card.cs:2035
Point pos
Definition: Card.cs:55
int uid
Definition: Card.cs:118
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:5439
virtual SubPassData GetSubPassData()
Definition: Card.cs:5704
Trait trait
Definition: Card.cs:49
int altitude
Definition: Card.cs:214
bool IsInstalled
Definition: Card.cs:2281
virtual bool IsPC
Definition: Card.cs:2043
string NameSimple
Definition: Card.cs:2039
virtual bool isChara
Definition: Card.cs:1983
Cell Cell
Definition: Card.cs:1955
virtual int PrefIndex
Definition: Card.cs:2212
int dir
Definition: Card.cs:142
bool noSnow
Definition: Card.cs:730
virtual CardRow sourceCard
Definition: Card.cs:2031
SourceCategory.Row category
Definition: Card.cs:1949
CardRenderer renderer
Definition: Card.cs:57
virtual bool flipX
Definition: Card.cs:2016
string c_idRefCard
Definition: Card.cs:1661
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:192
Chara host
Definition: Chara.cs:33
string Aka
Definition: Chara.cs:206
SourceChara.Row source
Definition: Chara.cs:148
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
bool bossText
Definition: Chara.cs:142
SourceRace.Row race
Definition: Chara.cs:454
new GameConfig game
Definition: CoreConfig.cs:598
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:951
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:89
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:209
virtual bool ShowShadow
Definition: TraitFigure.cs:10
virtual int GetMatColor()
Definition: TraitFigure.cs:12
virtual bool CanBeHallucinated
Definition: Trait.cs:293
virtual bool RenderExtra
Definition: Trait.cs:351
virtual bool UseDummyTile
Definition: Trait.cs:191
virtual void OnRenderExtra(RenderParam p)
Definition: Trait.cs:620
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 370 of file CardRenderer.cs.

371 {
372 }

◆ GetOrCreateTC< T >()

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

Definition at line 626 of file CardRenderer.cs.

626 : TC
627 {
628 return GetTC<T>() ?? AddTC<T>(func());
629 }
T AddTC< T >(TC tc)

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

◆ GetPref()

SourcePref CardRenderer.GetPref ( )
inline

Definition at line 374 of file CardRenderer.cs.

375 {
376 if (isChara)
377 {
379 {
380 return EClass.core.refs.prefs.pcc;
381 }
382 if (owner.idSkin > 0)
383 {
384 switch (owner.sourceCard.tiles.TryGet(owner.idSkin))
385 {
386 case 2319:
387 case 2619:
388 case 2621:
389 case 2623:
390 case 2625:
392 case 2320:
393 case 2611:
394 case 2620:
395 case 2622:
396 case 2624:
397 case 2626:
399 }
400 }
401 }
402 return owner.Pref;
403 }
virtual bool IsPCC
Definition: Card.cs:2047
virtual SourcePref Pref
Definition: Card.cs:2007
int idSkin
Definition: Card.cs:346
virtual bool HasHost
Definition: Card.cs:2323
SourcePref snowputit2
Definition: CoreRef.cs:322
SourcePref pcc
Definition: CoreRef.cs:324
SourcePref sonwputit1
Definition: CoreRef.cs:320
PrefData prefs
Definition: CoreRef.cs:401
CoreRef refs
Definition: Core.cs:51
int[] tiles
Definition: RenderRow.cs:10

References Card.Chara, EClass.core, Card.HasHost, Chara.host, Card.idSkin, isChara, Card.IsPCC, owner, CoreRef.PrefData.pcc, Card.Pref, CoreRef.prefs, Core.refs, Chara.ride, CoreRef.PrefData.snowputit2, CoreRef.PrefData.sonwputit1, Card.sourceCard, and RenderRow.tiles.

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

◆ GetTC()

TC CardRenderer.GetTC ( string  id)
inline

Definition at line 610 of file CardRenderer.cs.

611 {
612 if (listTC.Count == 0)
613 {
614 return null;
615 }
616 for (int num = listTC.Count - 1; num >= 0; num--)
617 {
618 if (listTC[num].name == id)
619 {
620 return listTC[num];
621 }
622 }
623 return null;
624 }

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

594 : TC
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] is T)
603 {
604 return listTC[num] as T;
605 }
606 }
607 return null;
608 }

References listTC.

Referenced by GetOrCreateTC< T >().

◆ IdleFrame()

virtual void CardRenderer.IdleFrame ( )
inlinevirtual

Definition at line 563 of file CardRenderer.cs.

564 {
565 if (hasActor)
566 {
568 }
569 }
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 678 of file CardRenderer.cs.

679 {
680 TCText tC = GetTC<TCText>();
681 if ((bool)tC)
682 {
683 return tC.pop.items.Count > 0;
684 }
685 return false;
686 }
Definition: TCText.cs:6

◆ KillActor()

void CardRenderer.KillActor ( )
inline

Definition at line 513 of file CardRenderer.cs.

514 {
515 actor.Kill();
516 hasActor = false;
517 actor = null;
518 }
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 558 of file CardRenderer.cs.

559 {
560 anime = null;
561 }

References anime.

Referenced by Card.KillAnime().

◆ NextDir()

virtual void CardRenderer.NextDir ( )
inlinevirtual

Definition at line 579 of file CardRenderer.cs.

580 {
581 if (hasActor)
582 {
583 actor.NextDir();
584 }
585 }
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 413 of file CardRenderer.cs.

414 {
415 if (isSynced)
416 {
417 Debug.LogError("renderer alraedy synced:" + owner);
418 }
419 isSynced = true;
420 if (!usePass)
421 {
422 if (!hasActor)
423 {
425 if (actor == null)
426 {
427 if (owner.sourceCard.idActor.IsEmpty())
428 {
429 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + (owner.isChara ? "CharaActor" : "ThingActor")));
430 }
431 else
432 {
433 actor = PoolManager.Spawn(Resources.Load<CardActor>("Scene/Render/Actor/" + owner.sourceCard.idActor[0]));
434 }
435 }
436 hasActor = true;
437 }
439 }
441 RefreshExtra();
442 if (owner.isCensored)
443 {
444 SetCensored(enable: true);
445 }
447 }
void SetOwner(Card t)
Definition: CardActor.cs:48
virtual void RefreshStateIcon()
void RefreshExtra()
void SetCensored(bool enable)
bool isCensored
Definition: Card.cs:406
virtual CardActor CreateActor()
Definition: RenderData.cs:84
virtual void OnEnterScreen()
Definition: Trait.cs:1404

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

492 {
493 isSynced = false;
495 {
496 KillActor();
497 }
498 for (int num = listTC.Count - 1; num >= 0; num--)
499 {
500 RemoveTC(num);
501 }
502 if (hasText)
503 {
505 }
506 if ((bool)orbit)
507 {
509 orbit = null;
510 }
511 }
void KillActor()
void DespawnSimpleText()
void RemoveTC(TC tc)
bool persistActor
Definition: RenderData.cs:38

References RenderObject.data, PoolManager.Despawn(), DespawnSimpleText(), Card.ExistsOnMap, hasActor, hasText, 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 525 of file CardRenderer.cs.

526 {
527 PlayAnime(id, (dest.renderer.position - position).normalized);
528 }

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

◆ PlayAnime() [3/4]

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

Definition at line 530 of file CardRenderer.cs.

531 {
532 PlayAnime(id, (dest.PositionAuto() - position).normalized);
533 }
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 535 of file CardRenderer.cs.

536 {
537 if (!force && owner.parent is Zone && (!owner.pos.IsValid || !owner.pos.IsSync))
538 {
539 return;
540 }
541 TransAnimeData transAnimeData = ResourceCache.Load<TransAnimeData>("Scene/Render/Anime/" + id);
542 if (transAnimeData == null)
543 {
544 anime = null;
545 return;
546 }
547 anime = new TransAnime
548 {
549 data = transAnimeData,
550 renderer = this
551 }.Init();
552 if (id == AnimeID.Attack || (uint)(id - 18) <= 1u)
553 {
554 anime.dest = dest;
555 }
556 }
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 752 of file CardRenderer.cs.

753 {
754 }

◆ RefreshExtra()

void CardRenderer.RefreshExtra ( )
inline

Definition at line 462 of file CardRenderer.cs.

463 {
464 string idExtra = owner.sourceCard.idExtra;
465 if (!idExtra.IsEmpty())
466 {
467 AddExtra(idExtra);
468 }
469 if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
470 {
471 if (owner.c_bossType == BossType.Evolved)
472 {
473 AddExtra("c_unique_evolved");
474 }
475 else
476 {
477 AddExtra("c_unique");
478 }
479 }
480 }
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:1181
bool IsHomeMember()
Definition: Chara.cs:6000

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

728 {
729 }

Referenced by OnEnterScreen().

◆ RemoveExtra()

void CardRenderer.RemoveExtra ( string  id)
inline

Definition at line 482 of file CardRenderer.cs.

483 {
484 TC tC = GetTC(id);
485 if (tC != null)
486 {
487 RemoveTC(tC);
488 }
489 }

References GetTC(), and RemoveTC().

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

◆ RemoveTC() [1/2]

void CardRenderer.RemoveTC ( int  index)
inline

Definition at line 653 of file CardRenderer.cs.

654 {
655 if (index != -1)
656 {
657 listTC[index].Kill();
658 listTC.RemoveAt(index);
659 }
660 }

References listTC.

◆ RemoveTC() [2/2]

void CardRenderer.RemoveTC ( TC  tc)
inline

Definition at line 648 of file CardRenderer.cs.

649 {
650 RemoveTC(listTC.IndexOf(tc));
651 }

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

631 : TC
632 {
633 if (listTC.Count == 0)
634 {
635 return;
636 }
637 for (int num = listTC.Count - 1; num >= 0; num--)
638 {
639 if (listTC[num] is T)
640 {
641 listTC[num].Kill();
642 listTC.RemoveAt(num);
643 break;
644 }
645 }
646 }

References listTC.

◆ RenderToRenderCam()

override void CardRenderer.RenderToRenderCam ( RenderParam  p)
inlinevirtual

Reimplemented from RenderObject.

Definition at line 55 of file CardRenderer.cs.

56 {
57 Vector3 v = EClass.scene.camSupport.renderPos;
58 if (data.multiSize)
59 {
60 v.y -= 0.8f;
61 }
62 p.x = v.x;
63 p.y = v.y;
64 p.z = v.z;
65 Draw(p, ref v, drawShadow: false);
66 }
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 731 of file CardRenderer.cs.

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

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

712 {
713 if (!isSynced)
714 {
715 return;
716 }
717 if (enable)
718 {
719 GetOrCreateTC(() => PoolManager.Spawn(EClass.core.refs.tcs.censored));
720 }
721 else
722 {
723 RemoveTC<TCCensored>();
724 }
725 }
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 748 of file CardRenderer.cs.

749 {
750 }

◆ 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;
41 if (data == null)
42 {
44 }
45 isChara = c.isChara;
46 usePass = data.pass != null;
47 }

References RenderObject.data, Card.isChara, isChara, owner, RenderRow.renderData, Card.sourceCard, and RenderObject.usePass.

Referenced by Card._CreateRenderer().

◆ ShowEmo()

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

Definition at line 736 of file CardRenderer.cs.

737 {
738 if (isSynced)
739 {
740 (GetTC<TCText>() ?? AddTC<TCText>(PoolManager.Spawn(EClass.core.refs.tcs.text, EClass.ui.rectDynamic))).ShowEmo(emo, duration);
741 }
742 }
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 688 of file CardRenderer.cs.

689 {
690 if (!hasText)
691 {
692 hasText = true;
694 }
695 RenderObject.tempV.x = position.x + TC._setting.simpleTextPos.x;
696 RenderObject.tempV.y = position.y + TC._setting.simpleTextPos.y;
697 RenderObject.tempV.z = position.z + TC._setting.simpleTextPos.z;
698 simpleText.transform.position = RenderObject.tempV;
699 return simpleText;
700 }
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 662 of file CardRenderer.cs.

663 {
664 if (owner.isChara)
665 {
666 string text = (owner.IsPC ? "tcOrbitPC" : "tcOrbitChara");
667 orbit = PoolManager.Spawn<TCOrbitChara>(text, "Scene/Render/Actor/Component/" + text);
668 orbit.SetOwner(this);
669 }
670 else if (owner.trait.ShowOrbit)
671 {
672 string text2 = "tcOrbitThing";
673 orbit = PoolManager.Spawn<TCOrbitThing>(text2, "Scene/Render/Actor/Component/" + text2);
674 orbit.SetOwner(this);
675 }
676 }
virtual bool ShowOrbit
Definition: Trait.cs:133

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

367 {
368 }

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(), GetPref(), 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

Definition at line 29 of file CardRenderer.cs.

Referenced by Chara._CreateRenderer(), Chara._Move(), Draw(), and CharaRenderer.DrawHat().

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