15 public SpriteRenderer
sr;
17 public SpriteRenderer
sr2;
21 public MaterialPropertyBlock
mpb;
23 public MaterialPropertyBlock
mpb2;
39 public virtual bool isPCC =>
false;
50 base.gameObject.SetActive(value:
true);
54 mpb =
new MaterialPropertyBlock();
59 sr.SetPropertyBlock(
mpb);
65 mpb2 =
new MaterialPropertyBlock();
71 if (Application.isEditor)
105 this.SetActive(enable:
true);
121 num = p.dir % 2 == 1;
128 tempV.x = p.x + data.offset.x + current.
offset.x;
129 tempV.y = p.y + data.offset.y + current.
offset.y;
130 tempV.z = p.z + data.offset.z + current.
offset.z;
133 tempV.x = p.x + data.offsetBack.x + current.
offset.x;
134 tempV.y = p.y + data.offsetBack.y + current.
offset.y;
135 tempV.z = p.z + data.offsetBack.z + current.
offset.z;
142 tempV.x = (float)(
int)(tempV.x * 100f) * 0.01f;
143 tempV.y = (float)(
int)(tempV.y * 100f) * 0.01f;
144 tempV2.x = charaActorPCC.provider.vCurrent.source.size.x * current.
scale.x;
145 tempV2.y = charaActorPCC.provider.vCurrent.source.size.y * current.
scale.y;
146 tempV2.z = renderDataPcc._scale.z * current.
scale.z;
147 base.transform.localRotation = current.
rotation;
151 tempV2.x = originalScale.x * current.
scale.x;
152 tempV2.y = originalScale.y * current.
scale.y;
153 tempV2.z = originalScale.z * current.
scale.z;
159 sr2.transform.localPosition =
new Vector3(0f, -0.005f * floatY,
sr2.transform.localPosition.z);
172 else if (floatY < 3f)
180 num2 = ((floatV == 1) ? ((!(floatY < 0f)) ? ((floatY < 3f) ? 1 : 2) : 0) : ((!(floatY < 2f)) ? ((!(floatY < 5f)) ? 2 : 3) : 0));
183 base.transform.position =
tempV;
184 base.transform.localScale =
tempV2;
189 sr.SetPropertyBlock(
mpb);
192 if ((
bool)
sr2.sprite)
194 mpb2.SetTexture(
"_MainTex",
sr2.sprite.texture);
196 mpb2.SetTexture(
"_MaskTex",
sr.sprite.texture);
207 if (data2.
frame <= 1)
238 sr2.transform.SetLocalScale(traitCanvas.Scale, traitCanvas.Scale, 1f);
249 case Type.MultiSprite:
254 SpriteRenderer spriteRenderer =
sr;
256 Sprite sprite4 = (spriteRenderer.sprite = sprite2);
257 Sprite sprite5 = sprite4;
258 sr.flipX = dir == 1 || dir == 3;
259 mpb.SetTexture(
"_MainTex", sprite5.texture);
260 Vector4 value =
new Vector4(sprite5.textureRect.min.x / (
float)sprite5.texture.width, sprite5.textureRect.min.y / (
float)sprite5.texture.height, sprite5.textureRect.max.x / (
float)sprite5.texture.width, sprite5.textureRect.max.y / (
float)sprite5.texture.height);
261 mpb.SetVector(
"_Rect", value);
262 mpb.SetFloat(
"_PixelHeight", sprite5.rect.height);
267 if ((
bool)
sr2.sprite && (
bool)
sr2.sprite.texture)
269 sr2.flipX = dir == 1 || dir == 3;
270 sprite5 =
sr2.sprite;
273 _ = sprite5.textureRect;
274 value =
new Vector4(sprite5.textureRect.min.x / (
float)sprite5.texture.width, sprite5.textureRect.min.y / (
float)sprite5.texture.height, sprite5.textureRect.max.x / (
float)sprite5.texture.width, sprite5.textureRect.max.y / (
float)sprite5.texture.height);
275 mpb2.SetTexture(
"_MainTex", sprite5.texture);
276 mpb2.SetVector(
"_Rect", value);
277 mpb2.SetFloat(
"_PixelHeight", sprite5.rect.height);
virtual void OnRender(RenderParam p)
SpriteReplacerAnimation srAnime
MaterialPropertyBlock mpb2
virtual void RefreshSprite()
MaterialPropertyBlock mpb
virtual void OnSetOwner()
SourceMaterial.Row material
virtual Sprite GetSprite(int dir=0)
virtual CardRow sourceCard
UD_String_MatData matColors
static ColorProfile Colors
static void Despawn(Component c)
static SubPassData Current
bool TryGetValue(TKey key, out TValue value)