Elin Decompiled Documentation EA 23.264 Nightly
Loading...
Searching...
No Matches
CharaRenderer Class Reference
Inheritance diagram for CharaRenderer:
CardRenderer RenderObject EClass IRenderer ISyncScreen

Public Member Functions

override void SetOwner (Card c)
 
override void OnEnterScreen ()
 
override void Draw (RenderParam p, ref Vector3 v, bool drawShadow)
 
override void NextFrame ()
 
override void UpdatePosition (ref Vector3 destPos, RenderParam p)
 
void DrawHat ()
 
override void DrawHeld ()
 
override void RefreshStateIcon ()
 
override void SetFirst (bool first)
 
override void SetFirst (bool first, Vector3 pos)
 
override void Refresh ()
 
- Public Member Functions inherited from CardRenderer
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

new Chara owner
 
Vector3 orgPos
 
bool first = true
 
bool ignoreFirst
 
Point movePoint = new Point()
 
AnimationCurve hopCurve
 
PCCData pccData
 
int step
 
bool isMoving
 
- Public Attributes inherited from CardRenderer
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
 

Static Public Attributes

static int _animeFramePC
 
static int _animeFramePCC
 
static int _animeFrame
 
static bool smoothmove
 
- 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
 

Properties

int currentDir [get]
 
override bool IsMoving [get]
 
- Properties inherited from CardRenderer
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]
 

Private Attributes

float moveTimer
 
float nextframeTimer
 
float actTime = 0.3f
 
float lastShadowFix
 
float lastShadowFix2
 

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 (long _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)
 

Detailed Description

Definition at line 3 of file CharaRenderer.cs.

Member Function Documentation

◆ Draw()

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

Reimplemented from CardRenderer.

Definition at line 98 of file CharaRenderer.cs.

99 {
100 base.Draw(p, ref v, drawShadow);
101 if ((Zone.sourceHat != null || owner.hat != null) && owner.host == null)
102 {
103 DrawHat();
104 }
105 if (owner.IsPC)
106 {
108 {
109 DrawHeld();
110 }
111 }
112 else if (owner.held != null && !owner.IsDeadOrSleeping && !owner.held.trait.ShowAsTool)
113 {
114 DrawHeld();
115 }
116 }
Trait trait
Definition: Card.cs:54
CardRow hat
Definition: Card.cs:64
new Chara owner
Definition: CharaRenderer.cs:5
override void DrawHeld()
Card held
Definition: Chara.cs:70
override bool IsPC
Definition: Chara.cs:614
Chara host
Definition: Chara.cs:33
override bool IsDeadOrSleeping
Definition: Chara.cs:575
static bool disableTool
Definition: HotItemHeld.cs:11
virtual bool ShowAsTool
Definition: Trait.cs:347
Definition: Zone.cs:12
static CardRow sourceHat
Definition: Zone.cs:29

References HotItemHeld.disableTool, DrawHat(), DrawHeld(), Card.hat, Chara.held, Chara.host, Chara.IsDeadOrSleeping, Chara.IsPC, owner, Trait.ShowAsTool, Zone.sourceHat, and Card.trait.

◆ DrawHat()

void CharaRenderer.DrawHat ( )
inline

Definition at line 318 of file CharaRenderer.cs.

319 {
320 if (pccData != null)
321 {
323 {
324 return;
325 }
326 }
327 else if (owner.conSleep != null && owner.host == null && owner.pos.Equals(EClass.pc.pos) && owner.IsHuman && owner.GetBool(123))
328 {
329 return;
330 }
331 CardRow cardRow = Zone.sourceHat ?? owner.hat;
332 SourcePref pref = GetPref();
333 if (pref.hatY != 0f)
334 {
335 bool flag = currentDir == 1 || currentDir == 3;
336 int liquidLv = RenderObject.currentParam.liquidLv;
337 float num = ((replacer != null) ? replacer.pref.hatY : pref.hatY);
338 if (pccData != null)
339 {
340 num += RenderObject.renderSetting.hatPos[actor.GetFrame()].y;
341 }
342 RenderObject.currentParam.liquidLv = 0;
343 RenderObject.currentParam.x += 0.01f * (float)pref.equipX;
344 RenderObject.currentParam.y += num + 0.01f * (float)(pref.equipY + cardRow.pref.equipY);
345 RenderObject.currentParam.z += -0.09f;
346 RenderObject.currentParam.tile = cardRow._tiles[owner.uid % cardRow._tiles.Length] * ((!flag) ? 1 : (-1));
347 RenderObject.currentParam.mat = cardRow.DefaultMaterial;
348 RenderObject.currentParam.matColor = cardRow.GetColorInt(RenderObject.currentParam.mat);
350 RenderObject.currentParam.x -= 0.01f * (float)pref.equipX;
351 RenderObject.currentParam.y -= num + 0.01f * (float)(pref.equipY + cardRow.pref.equipY);
352 RenderObject.currentParam.z -= -0.09f;
353 RenderObject.currentParam.liquidLv = liquidLv;
354 }
355 }
bool GetBool(int id)
Definition: BaseCard.cs:15
virtual int GetFrame()
Definition: CardActor.cs:98
SourcePref GetPref()
RendererReplacer replacer
Definition: CardRenderer.cs:29
CardActor actor
Definition: CardRenderer.cs:11
Point pos
Definition: Card.cs:60
PCCData pccData
bool IsHuman
Definition: Chara.cs:881
ConSleep conSleep
Definition: Chara.cs:102
Definition: EClass.cs:6
static Chara pc
Definition: EClass.cs:15
bool Equals(int _x, int _z)
Definition: Point.cs:960
void Draw(RenderParam p, int tile)
Definition: RenderData.cs:128
static RenderParam currentParam
Definition: RenderObject.cs:18
static GameSetting.RenderSetting renderSetting
Definition: RenderObject.cs:14
SourceMaterial.Row mat
Definition: RenderParam.cs:17
int liquidLv
Definition: RenderParam.cs:7
int GetColorInt(SourceMaterial.Row mat)
Definition: RenderRow.cs:429
RenderData renderData
Definition: RenderRow.cs:71
SourcePref pref
Definition: RenderRow.cs:68
int[] _tiles
Definition: RenderRow.cs:12
SourceMaterial.Row DefaultMaterial
Definition: RenderRow.cs:86
float hatY
Definition: SourcePref.cs:87

References RenderRow._tiles, CardRenderer.actor, Chara.conSleep, currentDir, RenderObject.currentParam, RenderRow.DefaultMaterial, RenderData.Draw(), Point.Equals(), SourcePref.equipX, SourcePref.equipY, BaseCard.GetBool(), RenderRow.GetColorInt(), CardActor.GetFrame(), CardRenderer.GetPref(), Card.hat, SourcePref.hatY, Chara.host, Chara.IsDeadOrSleeping, Chara.IsHuman, RenderParam.liquidLv, RenderParam.mat, owner, EClass.pc, pccData, Card.pos, RendererReplacer.pref, RenderRow.pref, RenderRow.renderData, RenderObject.renderSetting, CardRenderer.replacer, and MeshPassParam.y.

Referenced by Draw().

◆ DrawHeld()

override void CharaRenderer.DrawHeld ( )
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 357 of file CharaRenderer.cs.

358 {
359 Card held = owner.held;
360 int num = currentDir;
361 RenderData renderData = held.renderer.data;
362 SourcePref pref = held.Pref;
363 bool flag = num == 1 || num == 3;
364 if (held.isChara)
365 {
366 Vector3[] array = (EClass.player.altHeldPos ? RenderObject.renderSetting.heldPosChara2 : RenderObject.renderSetting.heldPosChara);
367 RenderObject.currentParam.x += array[num].x;
368 RenderObject.currentParam.y += array[num].y;
369 RenderObject.currentParam.z += array[num].z + data.offset.z - renderData.offset.z;
371 {
372 held.SetDir((owner.dir == 0) ? 2 : ((owner.dir == 1) ? 1 : ((owner.dir != 2) ? 3 : 0)));
373 }
374 else
375 {
376 held.SetDir((owner.dir == 0) ? 2 : owner.dir);
377 }
378 }
379 else
380 {
381 Vector3[] heldPos = RenderObject.renderSetting.heldPos;
382 if (hasActor)
383 {
384 RenderObject.currentParam.x += heldPos[num].x;
385 RenderObject.currentParam.y += heldPos[num].y + 0.02f * (float)(actor.GetFrame() % 2);
386 RenderObject.currentParam.z += heldPos[num].z + data.offset.z - renderData.offset.z;
387 }
388 else
389 {
390 RenderObject.currentParam.x += heldPos[4].x;
391 RenderObject.currentParam.y += heldPos[4].y;
392 RenderObject.currentParam.z += heldPos[4].z + data.offset.z - renderData.offset.z;
393 }
394 if (held.trait.NoHeldDir || !held.sourceCard.ContainsTag("noHeldDir"))
395 {
396 held.dir = (owner.flipX ? 1 : 0);
397 }
398 }
399 if (!owner.Cell.sourceSurface.tileType.IsDeepWater)
400 {
401 int liquidLv = RenderObject.currentParam.liquidLv;
402 if (held.isChara)
403 {
404 RenderObject.currentParam.liquidLv = 0;
405 }
407 RenderObject.currentParam.x += renderData.heldPos.x - renderData.offset.x + (flag ? 0.01f : (-0.01f)) * (float)pref.equipX;
408 RenderObject.currentParam.y += renderData.heldPos.y - renderData.offset.y + 0.01f * (float)pref.equipY;
409 RenderObject.currentParam.z += renderData.heldPos.z;
410 RenderObject.tempV.x = RenderObject.currentParam.x;
411 RenderObject.tempV.y = RenderObject.currentParam.y;
412 RenderObject.tempV.z = RenderObject.currentParam.z;
413 held.renderer.Draw(RenderObject.currentParam, ref RenderObject.tempV, drawShadow: false);
414 RenderObject.currentParam.liquidLv = liquidLv;
415 }
416 }
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
Definition: Card.cs:11
virtual void SetDir(int d)
Definition: Card.cs:6370
virtual SourcePref Pref
Definition: Card.cs:2108
virtual void SetRenderParam(RenderParam p)
Definition: Card.cs:6143
virtual bool isChara
Definition: Card.cs:2084
Cell Cell
Definition: Card.cs:2056
int dir
Definition: Card.cs:147
virtual CardRow sourceCard
Definition: Card.cs:2132
CardRenderer renderer
Definition: Card.cs:62
SourceFloor.Row sourceSurface
Definition: Cell.cs:1059
static Player player
Definition: EClass.cs:13
bool altHeldPos
Definition: Player.cs:1153
Vector3 offset
Definition: RenderData.cs:18
Vector3 heldPos
Definition: RenderData.cs:24
static Vector3 tempV
Definition: RenderObject.cs:20
RenderData data
Definition: RenderObject.cs:34
bool ContainsTag(string _tag)
Definition: RenderRow.cs:148
virtual bool NoHeldDir
Definition: Trait.cs:363

References CardRenderer.actor, Player.altHeldPos, Card.Cell, RenderRow.ContainsTag(), currentDir, RenderObject.currentParam, RenderObject.data, Card.dir, CardRenderer.Draw(), SourcePref.equipX, SourcePref.equipY, CardActor.GetFrame(), CardRenderer.hasActor, Chara.held, RenderData.heldPos, Card.isChara, RenderParam.liquidLv, Trait.NoHeldDir, RenderData.offset, owner, EClass.player, Card.Pref, Card.renderer, RenderObject.renderSetting, Card.SetDir(), Card.SetRenderParam(), Card.sourceCard, Cell.sourceSurface, RenderObject.tempV, Card.trait, MeshPassParam.x, SourcePref.x, MeshPassParam.y, and MeshPassParam.z.

Referenced by Draw().

◆ NextFrame()

override void CharaRenderer.NextFrame ( )
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 118 of file CharaRenderer.cs.

119 {
120 base.NextFrame();
121 owner.idleTimer = RenderObject.animeSetting.idleTime;
122 }
static GameSetting.RenderSetting.AnimeSetting animeSetting
Definition: RenderObject.cs:12

References RenderObject.animeSetting.

◆ OnEnterScreen()

override void CharaRenderer.OnEnterScreen ( )
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 83 of file CharaRenderer.cs.

84 {
85 base.OnEnterScreen();
86 if (!ignoreFirst)
87 {
88 first = true;
89 }
90 ignoreFirst = false;
91 nextframeTimer = 0f;
93 {
94 EClass.player.enemySpotted = true;
95 }
96 }
bool ExistsOnMap
Definition: Card.cs:2086
float nextframeTimer
bool CanSeeLos(Card c, int dist=-1)
Definition: Chara.cs:1252
bool IsHostile()
Definition: Chara.cs:6495
new GameConfig game
Definition: CoreConfig.cs:609
CoreConfig config
Definition: Core.cs:70
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
virtual bool IsRegion
Definition: Spatial.cs:515

References EClass._zone, Chara.CanSeeLos(), Core.config, EClass.core, Card.ExistsOnMap, first, CoreConfig.game, CoreConfig.GameConfig.haltOnSpotEnemy, ignoreFirst, Chara.IsHostile(), Spatial.IsRegion, nextframeTimer, owner, and EClass.pc.

◆ Refresh()

override void CharaRenderer.Refresh ( )
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 462 of file CharaRenderer.cs.

463 {
464 }

◆ RefreshStateIcon()

override void CharaRenderer.RefreshStateIcon ( )
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 418 of file CharaRenderer.cs.

419 {
420 if (!isSynced)
421 {
422 return;
423 }
424 TCState tCState = GetTC<TCState>();
425 MultiSprite stateIcon = owner.ai.GetStateIcon();
426 if (stateIcon == null)
427 {
428 if ((bool)tCState)
429 {
430 RemoveTC(tCState);
431 }
432 return;
433 }
434 if (!tCState)
435 {
436 tCState = AddTC<TCState>(PoolManager.Spawn(EClass.core.refs.tcs.state));
437 }
438 tCState.SetSprite(stateIcon);
439 }
override MultiSprite GetStateIcon()
Definition: AIAct.cs:129
void RemoveTC(TC tc)
AIAct ai
Definition: Chara.cs:204
TCState state
Definition: CoreRef.cs:240
TCs tcs
Definition: CoreRef.cs:353
CoreRef refs
Definition: Core.cs:51
static Transform Spawn(string id, string path, Transform parent)
Definition: PoolManager.cs:86
void SetSprite(MultiSprite _sprites)
Definition: TCState.cs:13

References Chara.ai, EClass.core, AIAct.GetStateIcon(), RenderObject.isSynced, owner, Core.refs, CardRenderer.RemoveTC(), TCState.SetSprite(), PoolManager.Spawn(), CoreRef.TCs.state, and CoreRef.tcs.

◆ SetFirst() [1/2]

override void CharaRenderer.SetFirst ( bool  first)
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 441 of file CharaRenderer.cs.

442 {
443 this.first = first;
445 }

References first, and ignoreFirst.

◆ SetFirst() [2/2]

override void CharaRenderer.SetFirst ( bool  first,
Vector3  pos 
)
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 447 of file CharaRenderer.cs.

448 {
449 this.first = first;
451 position = pos;
452 if (owner.IsPC)
453 {
454 EClass.player.position = position;
455 }
457 step = 9999999;
458 isMoving = false;
459 moveTimer = 0f;
460 }
Vector3 position
Definition: CardRenderer.cs:21
Point Set(int _x, int _z)
Definition: Point.cs:503

References first, ignoreFirst, isMoving, Chara.IsPC, movePoint, moveTimer, owner, Card.pos, CardRenderer.position, Point.Set(), and step.

◆ SetOwner()

override void CharaRenderer.SetOwner ( Card  c)
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 59 of file CharaRenderer.cs.

60 {
61 owner = c as Chara;
62 owner.spriteReplacer = null;
63 if (pccData != null)
64 {
65 data = ((pccData.GetBodySet2().id == "unique") ? EClass.core.refs.renderers.pcc_L : EClass.core.refs.renderers.pcc);
66 }
67 else if (replacer == null && !owner.c_idSpriteReplacer.IsEmpty())
68 {
70 if (spriteReplacer != null)
71 {
72 data = ResourceCache.Load<RenderData>("Scene/Render/Data/chara_custom_" + ((spriteReplacer.data.GetSprite().texture.height <= 128) ? "128" : "256"));
73 owner.spriteReplacer = spriteReplacer;
74 }
75 }
76 if (owner.source.moveAnime == "hop")
77 {
79 }
80 base.SetOwner(c);
81 }
string c_idSpriteReplacer
Definition: Card.cs:1558
AnimationCurve hopCurve
Definition: Chara.cs:10
SourceChara.Row source
Definition: Chara.cs:160
RenderData pcc_L
Definition: CoreRef.cs:300
RenderData pcc
Definition: CoreRef.cs:298
Renderers renderers
Definition: CoreRef.cs:357
static GameSetting setting
Definition: EClass.cs:35
RenderSetting render
Definition: GameSetting.cs:301
Sprite GetSprite(bool snow=false)
Definition: SpriteData.cs:67
SpriteData data
static Dictionary< string, SpriteReplacer > dictSkins

References GameSetting.RenderSetting.anime, Card.c_idSpriteReplacer, EClass.core, RenderObject.data, SpriteReplacer.data, SpriteReplacer.dictSkins, SpriteData.GetSprite(), GameSetting.RenderSetting.AnimeSetting.hop, hopCurve, owner, CoreRef.Renderers.pcc, CoreRef.Renderers.pcc_L, pccData, Core.refs, GameSetting.render, CoreRef.renderers, CardRenderer.replacer, EClass.setting, and Chara.source.

Referenced by Chara._CreateRenderer().

◆ UpdatePosition()

override void CharaRenderer.UpdatePosition ( ref Vector3  destPos,
RenderParam  p 
)
inlinevirtual

Reimplemented from CardRenderer.

Definition at line 124 of file CharaRenderer.cs.

125 {
126 bool isPC = owner.IsPC;
127 int num = (isPC ? _animeFramePC : ((pccData != null) ? _animeFramePCC : _animeFrame));
128 bool flag = isPC || num >= 10;
129 if (num == 0 || Scene.skipAnime || first || !data.animate || (owner.IsDeadOrSleeping && pccData != null && !owner.IsPC))
130 {
131 first = false;
132 position = destPos;
133 if (isPC)
134 {
135 EClass.player.position = position;
136 }
138 step = 9999999;
139 isMoving = false;
140 moveTimer = 0f;
142 p.x = position.x;
143 p.y = position.y;
144 p.z = position.z;
146 return;
147 }
149 {
150 if (RenderObject.gameSpeed > 1f)
151 {
152 p.shadowFix = (lastShadowFix = 0f);
153 }
154 else
155 {
156 p.shadowFix = (lastShadowFix = lastShadowFix2);
157 }
161 if (isPC && EClass.player.renderExtraTime > 0f)
162 {
164 }
166 step = 1;
167 if (!isMoving)
168 {
169 isMoving = true;
170 if (!isPC || EClass.player.renderExtraTime <= 0f)
171 {
172 nextframeTimer = (RenderObject.animeSetting.nextFrameInterval + actTime / 4f) / 2f;
173 }
174 }
175 moveTimer = 0f;
176 }
177 if (num < 100)
178 {
179 num = (int)((float)num / 0.3f * actTime);
180 }
181 float num2 = (actTime + ((!isPC && owner.IsPCParty) ? RenderObject.animeSetting.animeExtraTimeParty : RenderObject.animeSetting.animeExtraTime) * RenderObject.gameSpeed) / (float)num;
183 if (step >= num)
184 {
185 if (position == destPos)
186 {
187 if (isMoving && isPC)
188 {
189 EClass.player.position = position;
190 }
191 isMoving = false;
192 moveTimer = 0f;
193 }
194 else if (!flag)
195 {
196 position = destPos;
197 }
198 else if (moveTimer >= num2)
199 {
200 int num3 = (int)(moveTimer / num2);
201 moveTimer -= (float)num3 * num2;
202 if (Vector3.Distance(position, destPos) < RenderObject.animeSetting.destRadius)
203 {
204 position = destPos;
205 if (isMoving && isPC)
206 {
207 EClass.player.position = position;
208 }
209 isMoving = false;
210 }
211 else
212 {
213 position.z = destPos.z;
214 Vector3 vector = Vector3.MoveTowards(position, destPos, (float)num3 * RenderObject.animeSetting.slowSpeed / (float)step);
215 position = vector;
216 }
217 }
218 if (owner.idleTimer > 0f)
219 {
220 owner.idleTimer -= RenderObject.gameDelta;
221 if (flag && owner.idleTimer <= 0f)
222 {
223 IdleFrame();
224 nextframeTimer = 0f;
225 }
226 }
227 p.x = position.x;
228 p.y = position.y;
229 p.z = position.z;
231 if (isPC)
232 {
233 CellDetail detail = EClass.pc.Cell.detail;
234 if (detail == null || detail.anime == null)
235 {
236 position.z = destPos.z;
237 Vector3 vector2 = Vector3.MoveTowards(position, destPos, 0.1f);
238 position = vector2;
239 EClass.player.position = Vector3.Lerp(EClass.player.position, position, 0.6f);
240 }
241 }
242 return;
243 }
244 if (moveTimer >= num2)
245 {
246 int num4 = (int)(moveTimer / num2);
247 step += num4;
248 moveTimer -= (float)num4 * num2;
249 if (step >= num)
250 {
251 step = num;
252 }
253 }
254 owner.idleTimer = RenderObject.animeSetting.idleTime;
255 float num5 = (float)step / (float)num;
256 p.shadowFix = p.shadowFix * num5 + lastShadowFix * (1f - num5);
258 Vector3 vector3 = orgPos + (destPos - orgPos) * num5 * ((flag && smoothmove) ? RenderObject.animeSetting.fixedMove : 1f);
259 if (destPos.z < orgPos.z)
260 {
261 vector3.z = orgPos.z + (destPos.z - orgPos.z) * RenderObject.animeSetting.gradientZForward.Evaluate(num5);
262 }
263 else
264 {
265 vector3.z = orgPos.z + (destPos.z - orgPos.z) * RenderObject.animeSetting.gradientZBack.Evaluate(num5);
266 }
267 position = vector3;
268 if (hasActor)
269 {
271 {
272 nextframeTimer += RenderObject.gameDelta * 0.5f;
273 float nextFrameInterval = RenderObject.animeSetting.nextFrameInterval;
274 if (nextframeTimer > nextFrameInterval)
275 {
276 if (owner.ai is AI_Trolley)
277 {
279 }
280 else
281 {
283 }
284 nextframeTimer -= nextFrameInterval;
285 }
286 }
287 else
288 {
290 float num6 = RenderObject.animeSetting.nextFrameInterval + actTime / 4f * (0.5f + RenderObject.gameSpeed / 2f);
291 if (nextframeTimer > num6)
292 {
293 if (owner.ai is AI_Trolley)
294 {
296 }
297 else
298 {
300 }
301 nextframeTimer -= num6;
302 }
303 }
304 }
305 p.x = position.x;
306 p.y = position.y;
307 p.z = position.z;
308 if (isPC)
309 {
310 EClass.player.position = vector3;
311 }
312 else if (!hasActor && num >= 5 && hopCurve != null)
313 {
314 p.y += hopCurve.Evaluate(num5) * RenderObject.animeSetting.hopStrength;
315 }
316 }
virtual void NextFrame()
Definition: CardActor.cs:90
virtual void IdleFrame()
Definition: CardActor.cs:86
void RefreshSprite()
virtual void IdleFrame()
TransAnime anime
Definition: CellDetail.cs:21
CellDetail detail
Definition: Cell.cs:92
static int _animeFramePCC
float lastShadowFix2
Vector3 orgPos
Definition: CharaRenderer.cs:7
static int _animeFramePC
float lastShadowFix
static bool smoothmove
static int _animeFrame
float idleTimer
Definition: Chara.cs:122
override bool IsPCParty
Definition: Chara.cs:617
float actTime
Definition: Chara.cs:180
GraphicSetting graphic
Definition: CoreConfig.cs:607
float renderExtraTime
Definition: Player.cs:1203
Vector3 position
Definition: Player.cs:1217
bool animate
Definition: RenderData.cs:34
static float gameDelta
Definition: RenderObject.cs:6
static float gameSpeed
Definition: RenderObject.cs:8
float shadowFix
Definition: RenderParam.cs:21
Definition: Scene.cs:8
static bool skipAnime
Definition: Scene.cs:25

References _animeFrame, _animeFramePC, _animeFramePCC, CardRenderer.actor, Chara.actTime, actTime, Chara.ai, RenderData.animate, CellDetail.anime, RenderObject.animeSetting, Card.Cell, Core.config, EClass.core, RenderObject.data, Cell.detail, Point.Equals(), first, RenderObject.gameDelta, RenderObject.gameSpeed, CoreConfig.graphic, CardRenderer.hasActor, hopCurve, CardActor.IdleFrame(), CardRenderer.IdleFrame(), Chara.idleTimer, Chara.IsDeadOrSleeping, isMoving, Chara.IsPC, Chara.IsPCParty, lastShadowFix, lastShadowFix2, movePoint, moveTimer, CardActor.NextFrame(), nextframeTimer, orgPos, owner, EClass.pc, pccData, EClass.player, Card.pos, CardRenderer.position, Player.position, CardRenderer.RefreshSprite(), Player.renderExtraTime, Point.Set(), RenderParam.shadowFix, Scene.skipAnime, smoothmove, CoreConfig.GraphicSetting.spriteFrameMode, and step.

Member Data Documentation

◆ _animeFrame

int CharaRenderer._animeFrame
static

Definition at line 37 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ _animeFramePC

int CharaRenderer._animeFramePC
static

Definition at line 33 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ _animeFramePCC

int CharaRenderer._animeFramePCC
static

Definition at line 35 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ actTime

float CharaRenderer.actTime = 0.3f
private

Definition at line 23 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ first

bool CharaRenderer.first = true

Definition at line 13 of file CharaRenderer.cs.

Referenced by OnEnterScreen(), SetFirst(), and UpdatePosition().

◆ hopCurve

AnimationCurve CharaRenderer.hopCurve

Definition at line 19 of file CharaRenderer.cs.

Referenced by SetOwner(), and UpdatePosition().

◆ ignoreFirst

bool CharaRenderer.ignoreFirst

Definition at line 15 of file CharaRenderer.cs.

Referenced by OnEnterScreen(), and SetFirst().

◆ isMoving

bool CharaRenderer.isMoving

Definition at line 31 of file CharaRenderer.cs.

Referenced by SetFirst(), and UpdatePosition().

◆ lastShadowFix

float CharaRenderer.lastShadowFix
private

Definition at line 25 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ lastShadowFix2

float CharaRenderer.lastShadowFix2
private

Definition at line 27 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ movePoint

Point CharaRenderer.movePoint = new Point()

Definition at line 17 of file CharaRenderer.cs.

Referenced by SetFirst(), and UpdatePosition().

◆ moveTimer

float CharaRenderer.moveTimer
private

Definition at line 9 of file CharaRenderer.cs.

Referenced by SetFirst(), and UpdatePosition().

◆ nextframeTimer

float CharaRenderer.nextframeTimer
private

Definition at line 11 of file CharaRenderer.cs.

Referenced by OnEnterScreen(), and UpdatePosition().

◆ orgPos

Vector3 CharaRenderer.orgPos

Definition at line 7 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ owner

new Chara CharaRenderer.owner

◆ pccData

PCCData CharaRenderer.pccData

Definition at line 21 of file CharaRenderer.cs.

Referenced by Chara._CreateRenderer(), DrawHat(), SetOwner(), and UpdatePosition().

◆ smoothmove

bool CharaRenderer.smoothmove
static

Definition at line 39 of file CharaRenderer.cs.

Referenced by UpdatePosition().

◆ step

int CharaRenderer.step

Definition at line 29 of file CharaRenderer.cs.

Referenced by SetFirst(), and UpdatePosition().

Property Documentation

◆ currentDir

int CharaRenderer.currentDir
get

Definition at line 41 of file CharaRenderer.cs.

42 {
43 get
44 {
45 if (!hasActor)
46 {
47 if (!owner.flipX)
48 {
49 return 1;
50 }
51 return 0;
52 }
53 return actor.currentDir;
54 }
55 }
virtual int currentDir
Definition: CardActor.cs:41
override bool flipX
Definition: Chara.cs:549

Referenced by DrawHat(), and DrawHeld().

◆ IsMoving

override bool CharaRenderer.IsMoving
get

Definition at line 57 of file CharaRenderer.cs.


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