private static void EyeLookMaterialControll_Update_Postfix(EyeLookMaterialControll __instance, Material ____material) { if (__instance._renderer.sharedMaterials.Length == 1) { return; } for (int i = 0; i < __instance.texStates.Length; i++) { var texState = __instance.texStates[i]; for (int j = 0; j < __instance._renderer.sharedMaterials.Length; j++) { var mat = __instance._renderer.sharedMaterials[j]; mat.SetTextureOffset(texState.texID, ____material.GetTextureOffset(texState.texID)); mat.SetTextureScale(texState.texID, ____material.GetTextureScale(texState.texID)); } } }
private static bool EyeLookMaterialControll_Update(EyeLookMaterialControll __instance) { if (__instance.script == null) { return(false); } float x = __instance.script.GetAngleHRate(__instance.eyeLR) + __instance.offset.x; float y = __instance.script.GetAngleVRate() + __instance.offset.y; Vector2 vector = new Vector2(x, y); if (vector.magnitude > 1f) { vector = vector.normalized; } float num = Mathf.Lerp(__instance.InsideWait, __instance.OutsideWait, Mathf.InverseLerp(-1f, 1f, vector.x)); float num2 = Mathf.Lerp(__instance.DownWait, __instance.UpWait, Mathf.InverseLerp(-1f, 1f, vector.y)); float num3 = Mathf.Lerp(1f, 5f, __instance.scale.x); float num4 = Mathf.Lerp(1f, 5f, __instance.scale.y); bool flag = false; if (__instance.YureTime < __instance.YureTimer) { flag = true; __instance.YureTimer = 0f; } __instance.YureTimer += Time.deltaTime; Vector2 a = __instance.scale; a.x *= __instance.YureAddScale.x; a.y *= __instance.YureAddScale.y; for (int i = 0; i < 3; i++) { var texState = __instance.texStates[i]; Vector2 vector2 = new Vector2(__instance.power, __instance.power); if (texState.isYure) { vector2.x *= 0.8f; vector2.y *= 0.5f; } Vector2 vector3 = new Vector2(Mathf.Clamp(num * (vector2.x * num3), __instance.InsideLimit, __instance.OutsideLimit), Mathf.Clamp(num2 * (vector2.y * num4), __instance.UpLimit, __instance.DownLimit)); switch (i) { case 1: vector3 = new Vector2(vector3.x + __instance.hlUpOffsetX, vector3.y + __instance.hlUpOffsetY); break; case 2: vector3 = new Vector2(vector3.x + __instance.hlDownOffsetX, vector3.y + __instance.hlDownOffsetY); break; } Vector2 value = vector3; if (texState.isYure) { value += a * -0.5f; if (flag) { __instance.YureAddScale.x = Random.Range(1f, 2f); __instance.YureAddScale.y = Random.Range(1f, 1.5f); } value += __instance.YureAddVec; __instance.YureTimer += Time.deltaTime; } else { value += __instance.scale * -0.5f; } if (texState.texID != -1) { __instance._material.SetTextureOffset(texState.texID, value); if (texState.isYure) { __instance._material.SetTextureScale(texState.texID, new Vector2(1f + a.x, 1f + a.y)); } else { __instance._material.SetTextureScale(texState.texID, new Vector2(1f + __instance.scale.x, 1f + __instance.scale.y)); } } } return(false); }