Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
CharaActorPCC Class Reference
Inheritance diagram for CharaActorPCC:
CharaActor CardActor Actor SceneObject EMono

Public Member Functions

override void OnSetOwner ()
 
override void NextFrame ()
 
override void IdleFrame ()
 
override int GetFrame ()
 
override void NextDir ()
 
override void Kill ()
 
override void OnRender (RenderParam p)
 
override void RefreshSprite ()
 
- Public Member Functions inherited from CharaActor
void SetOwnerAsChara ()
 
override void OnSetOwner ()
 
override void NextFrame ()
 
override void RefreshSprite ()
 
- Public Member Functions inherited from CardActor
void SetOwner (Card t)
 
virtual void OnSetOwner ()
 
virtual void IdleFrame ()
 
virtual void NextFrame ()
 
virtual void NextDir ()
 
virtual int GetFrame ()
 
virtual void OnRender (RenderParam p)
 
virtual void RefreshSprite ()
 
virtual void Kill ()
 

Public Attributes

PCC pcc
 
SpriteProvider provider = new SpriteProvider()
 
- Public Attributes inherited from CharaActor
new Chara owner
 
- Public Attributes inherited from CardActor
Card owner
 
SpriteRenderer sr
 
SpriteRenderer sr2
 
SpriteReplacerAnimation srAnime
 
MaterialPropertyBlock mpb
 
MaterialPropertyBlock mpb2
 
Type type
 

Static Public Attributes

static Vector3 V2 = new Vector3(2f, 2f, 1f)
 
- Static Public Attributes inherited from EMono
static Core core
 

Properties

override bool isPCC [get]
 
override int currentDir [get]
 
- Properties inherited from CardActor
virtual bool isPCC [get]
 
virtual int currentDir [get]
 
- Properties inherited from EMono
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 Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static CoreDebug debug [get]
 

Private Attributes

float lastNextFrame
 

Static Private Attributes

static Vector3 org
 

Additional Inherited Members

- Public Types inherited from CardActor
enum  Type { Default , Boat , Canvas , MultiSprite }
 
- Static Public Member Functions inherited from EMono
static int rnd (int a)
 
- Static Protected Attributes inherited from CardActor
static Vector3 tempV
 
static Vector3 tempV2
 

Detailed Description

Definition at line 3 of file CharaActorPCC.cs.

Member Function Documentation

◆ GetFrame()

override int CharaActorPCC.GetFrame ( )
inlinevirtual

Reimplemented from CardActor.

Definition at line 52 of file CharaActorPCC.cs.

53 {
54 return provider.currentFrame % 2;
55 }

◆ IdleFrame()

override void CharaActorPCC.IdleFrame ( )
inlinevirtual

Reimplemented from CardActor.

Definition at line 44 of file CharaActorPCC.cs.

45 {
46 if (!owner.isDead)
47 {
48 provider.SetSpriteIdle();
49 }
50 }
SpriteProvider provider
Definition: CharaActorPCC.cs:9
new Chara owner
Definition: CharaActor.cs:5
bool isDead
Definition: Chara.cs:374

References Chara.isDead, CharaActor.owner, and provider.

Referenced by OnSetOwner().

◆ Kill()

override void CharaActorPCC.Kill ( )
inlinevirtual

Reimplemented from CardActor.

Definition at line 66 of file CharaActorPCC.cs.

67 {
68 base.Kill();
69 pcc = null;
70 provider.pcc = null;
71 }

References pcc.

◆ NextDir()

override void CharaActorPCC.NextDir ( )
inlinevirtual

Reimplemented from CardActor.

Definition at line 57 of file CharaActorPCC.cs.

58 {
59 provider.NextDir();
60 owner.angle = provider.angle;
61 provider.SetDir();
62 provider.SetSpriteMain();
64 }
override void RefreshSprite()

References provider, and RefreshSprite().

Referenced by CoreDebug.UpdateInput().

◆ NextFrame()

override void CharaActorPCC.NextFrame ( )
inlinevirtual

Reimplemented from CharaActor.

Definition at line 35 of file CharaActorPCC.cs.

36 {
37 if (lastNextFrame != Time.timeSinceLevelLoad)
38 {
39 provider.NextFrame();
40 lastNextFrame = Time.timeSinceLevelLoad;
41 }
42 }
float lastNextFrame

References lastNextFrame, and provider.

Referenced by CoreDebug.UpdateInput().

◆ OnRender()

override void CharaActorPCC.OnRender ( RenderParam  p)
inlinevirtual

Reimplemented from CardActor.

Definition at line 73 of file CharaActorPCC.cs.

74 {
75 base.OnRender(p);
76 if (pcc.data.isUnique)
77 {
78 return;
79 }
80 org.x = p.x;
81 org.y = p.y;
82 org.z = p.z + owner.renderer.data.offset.z;
83 bool flag = owner.combatCount <= 0 && EMono.core.config.game.hideWeapons;
84 Cell cell = owner.Cell;
85 if ((owner.held == null || (owner.held.trait.ShowAsTool && !HotItemHeld.disableTool)) && !owner.IsDeadOrSleeping && pcc.data.state != PCCState.Naked && (owner.Cell.isFloating || !cell.sourceSurface.tileType.IsDeepWater || cell.IsIceTile))
86 {
87 int num = currentDir;
88 int tempLeft = pcc.data.tempLeft;
89 int tempRight = pcc.data.tempRight;
90 switch (tempRight)
91 {
92 default:
93 {
95 bool flag3 = num == 0 || num == 1;
96 Vector3[] mainHandPos2 = EMono.setting.render.mainHandPos;
97 Vector3[] mainHand2 = EMono.setting.render.animeWalk[provider.currentFrame].mainHand;
98 p.tile = tempRight * (flag3 ? 1 : (-1));
99 p.matColor = 104025f;
100 p.x = org.x + mainHandPos2[num].x + mainHand2[num].x;
101 p.y = org.y + mainHandPos2[num].y + mainHand2[num].y;
102 p.z = org.z - renderTempEQ.offset.z + mainHandPos2[num].z + mainHand2[num].z;
103 renderTempEQ.Draw(p);
104 break;
105 }
106 case 0:
107 {
108 Thing thing = ((owner.IsPC && EMono.player.currentHotItem.RenderThing != null) ? EMono.player.currentHotItem.RenderThing : ((!flag && owner.body.slotMainHand?.thing != null) ? owner.body.slotMainHand.thing : null));
109 if (thing != null)
110 {
111 bool flag2 = num == 0 || num == 1;
112 if (thing.trait.InvertHeldSprite)
113 {
114 flag2 = !flag2;
115 }
116 Vector3[] mainHandPos = EMono.setting.render.mainHandPos;
117 Vector3[] mainHand = EMono.setting.render.animeWalk[provider.currentFrame].mainHand;
118 SourcePref pref = thing.sourceCard.pref;
119 thing.dir = ((!flag2) ? 1 : 0);
120 thing.SetRenderParam(p);
121 p.x = org.x + mainHandPos[num].x + mainHand[num].x + (flag2 ? 0.01f : (-0.01f)) * (float)pref.equipX;
122 p.y = org.y + mainHandPos[num].y + mainHand[num].y + 0.01f * (float)pref.equipY;
123 p.z = org.z - thing.renderer.data.offset.z + mainHandPos[num].z + mainHand[num].z;
124 p.v.x = p.x;
125 p.v.y = p.y;
126 p.v.z = p.z;
127 if (thing.renderer.hasActor)
128 {
129 thing.renderer.RefreshSprite();
130 }
131 thing.renderer.Draw(p, ref p.v, drawShadow: false);
132 }
133 break;
134 }
135 case -1:
136 break;
137 }
138 switch (tempLeft)
139 {
140 default:
141 {
143 bool flag5 = num == 1 || num == 3;
144 Vector3[] offHandPos2 = EMono.setting.render.offHandPos;
145 Vector3[] offHand2 = EMono.setting.render.animeWalk[provider.currentFrame].offHand;
146 p.tile = tempLeft * (flag5 ? 1 : (-1));
147 p.matColor = 104025f;
148 p.x = org.x + offHandPos2[num].x + offHand2[num].x;
149 p.y = org.y + offHandPos2[num].y + offHand2[num].y;
150 p.z = org.z - renderTempEQ2.offset.z + offHandPos2[num].z + offHand2[num].z;
151 renderTempEQ2.Draw(p);
152 break;
153 }
154 case 0:
155 {
156 if (flag || owner.body.slotOffHand == null || !EMono.core.config.game.showOffhand)
157 {
158 break;
159 }
161 if (thing2 != null)
162 {
163 bool flag4 = num == 1 || num == 3;
164 Vector3[] offHandPos = EMono.setting.render.offHandPos;
165 Vector3[] offHand = EMono.setting.render.animeWalk[provider.currentFrame].offHand;
166 SourcePref pref2 = thing2.source.pref;
167 thing2.dir = ((!flag4) ? 1 : 0);
168 thing2.SetRenderParam(p);
169 p.x = org.x + offHandPos[num].x + offHand[num].x + (flag4 ? 0.01f : (-0.01f)) * (float)pref2.equipX;
170 p.y = org.y + offHandPos[num].y + offHand[num].y + 0.01f * (float)pref2.equipY;
171 p.z = org.z - thing2.renderer.data.offset.z + offHandPos[num].z + offHand[num].z;
172 if (thing2.renderer.hasActor)
173 {
174 thing2.renderer.RefreshSprite();
175 }
176 thing2.renderer.Draw(p);
177 }
178 break;
179 }
180 case -1:
181 break;
182 }
183 }
184 p.x = org.x;
185 p.y = org.y;
186 p.z = org.z - owner.renderer.data.offset.z;
187 }
Vector3[] mainHand
Vector3[] offHand
Thing thing
Definition: BodySlot.cs:8
override void Draw(RenderParam p)
Definition: CardRenderer.cs:49
void RefreshSprite()
Trait trait
Definition: Card.cs:49
Cell Cell
Definition: Card.cs:1931
CardRenderer renderer
Definition: Card.cs:57
Definition: Cell.cs:7
bool IsIceTile
Definition: Cell.cs:806
bool isFloating
Definition: Cell.cs:474
SourceFloor.Row sourceSurface
Definition: Cell.cs:1059
override int currentDir
static Vector3 org
Definition: CharaActorPCC.cs:5
BodySlot slotOffHand
Definition: CharaBody.cs:12
BodySlot slotMainHand
Definition: CharaBody.cs:10
CharaBody body
Definition: Chara.cs:91
Card held
Definition: Chara.cs:67
override bool IsDeadOrSleeping
Definition: Chara.cs:558
new GameConfig game
Definition: CoreConfig.cs:596
CoreConfig config
Definition: Core.cs:70
Definition: EMono.cs:4
static GameSetting setting
Definition: EMono.cs:31
static Core core
Definition: EMono.cs:5
static Player player
Definition: EMono.cs:11
static Scene scene
Definition: EMono.cs:27
RenderData renderTempEQ
Definition: GameScreen.cs:7
AnimationFrame[] animeWalk
Definition: GameSetting.cs:216
RenderSetting render
Definition: GameSetting.cs:301
static bool disableTool
Definition: HotItemHeld.cs:11
virtual Thing RenderThing
Definition: HotItem.cs:19
HotItem currentHotItem
Definition: Player.cs:901
Vector3 offset
Definition: RenderData.cs:18
RenderData data
Definition: RenderObject.cs:34
Vector3 v
Definition: RenderParam.cs:19
SourcePref pref
Definition: RenderRow.cs:68
GameScreen screenElin
Definition: Scene.cs:89
Definition: Thing.cs:8
SourceThing.Row source
Definition: Thing.cs:11
override void SetRenderParam(RenderParam p)
Definition: Thing.cs:1401
override CardRow sourceCard
Definition: Thing.cs:47
virtual bool ShowAsTool
Definition: Trait.cs:323
virtual bool InvertHeldSprite
Definition: Trait.cs:66

References GameSetting.RenderSetting.animeWalk, Chara.body, Card.Cell, Core.config, EMono.core, currentDir, Player.currentHotItem, RenderObject.data, HotItemHeld.disableTool, CardRenderer.Draw(), RenderData.Draw(), SourcePref.equipX, SourcePref.equipY, CoreConfig.game, CardRenderer.hasActor, Chara.held, CoreConfig.GameConfig.hideWeapons, Trait.InvertHeldSprite, Chara.IsDeadOrSleeping, Cell.isFloating, Cell.IsIceTile, AnimationFrame.mainHand, GameSetting.RenderSetting.mainHandPos, AnimationFrame.offHand, GameSetting.RenderSetting.offHandPos, RenderData.offset, org, CharaActor.owner, pcc, EMono.player, RenderRow.pref, provider, CardRenderer.RefreshSprite(), GameSetting.render, Card.renderer, GameScreen.renderTempEQ, HotItem.RenderThing, EMono.scene, Scene.screenElin, Thing.SetRenderParam(), EMono.setting, Trait.ShowAsTool, CoreConfig.GameConfig.showOffhand, CharaBody.slotMainHand, CharaBody.slotOffHand, Thing.source, Thing.sourceCard, Cell.sourceSurface, BodySlot.thing, Card.trait, RenderParam.v, MeshPassParam.x, MeshPassParam.y, and MeshPassParam.z.

◆ OnSetOwner()

override void CharaActorPCC.OnSetOwner ( )
inlinevirtual

Reimplemented from CharaActor.

Definition at line 19 of file CharaActorPCC.cs.

20 {
22 sr.flipX = false;
23 pcc = PCC.Get((owner.renderer as CharaRenderer).pccData);
24 provider.onSetSprite = delegate(Sprite a)
25 {
26 sr.sprite = a;
27 mpb.SetTexture("_MainTex", sr.sprite.texture);
28 };
29 provider.angle = owner.angle;
30 provider.SetPCC(pcc);
31 mpb.SetTexture("_MainTex", sr.sprite.texture);
32 IdleFrame();
33 }
SpriteRenderer sr
Definition: CardActor.cs:15
MaterialPropertyBlock mpb
Definition: CardActor.cs:21
float angle
Definition: Card.cs:67
override void IdleFrame()
void SetOwnerAsChara()
Definition: CharaActor.cs:7

References Card.angle, IdleFrame(), CardActor.mpb, CharaActor.owner, pcc, provider, Card.renderer, CharaActor.SetOwnerAsChara(), and CardActor.sr.

◆ RefreshSprite()

override void CharaActorPCC.RefreshSprite ( )
inlinevirtual

Reimplemented from CharaActor.

Definition at line 189 of file CharaActorPCC.cs.

190 {
191 provider.angle = owner.angle;
192 provider.SetDir();
193 provider.SetSpriteMain();
194 base.RefreshSprite();
195 }

References Card.angle, CharaActor.owner, and provider.

Referenced by CardRenderer.Draw(), NextDir(), and CoreDebug.UpdateInput().

Member Data Documentation

◆ lastNextFrame

float CharaActorPCC.lastNextFrame
private

Definition at line 11 of file CharaActorPCC.cs.

Referenced by NextFrame().

◆ org

Vector3 CharaActorPCC.org
staticprivate

Definition at line 5 of file CharaActorPCC.cs.

Referenced by OnRender().

◆ pcc

PCC CharaActorPCC.pcc

Definition at line 7 of file CharaActorPCC.cs.

Referenced by Kill(), OnRender(), OnSetOwner(), and CoreDebug.UpdateInput().

◆ provider

SpriteProvider CharaActorPCC.provider = new SpriteProvider()

◆ V2

Vector3 CharaActorPCC.V2 = new Vector3(2f, 2f, 1f)
static

Definition at line 13 of file CharaActorPCC.cs.

Property Documentation

◆ currentDir

override int CharaActorPCC.currentDir
get

Definition at line 17 of file CharaActorPCC.cs.

Referenced by OnRender().

◆ isPCC

override bool CharaActorPCC.isPCC
get

Definition at line 15 of file CharaActorPCC.cs.


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