private static bool CalculateFadeDim(ref double fade, float elapsed) { if (fade < 0.15) { if (ContextSprite.CalculateFadeIn(ref fade, elapsed)) { if (fade > 0.15) { fade = 0.15; } return(true); } } else if (fade > 0.15 && ContextSprite.CalculateFadeOut(ref fade, elapsed)) { if (fade < 0.15) { fade = 0.15; } return(true); } return(false); }
public static void Step(Camera camera) { float single; RaycastHit raycastHit; bool flag; ContextSprite contextSprite = null; ContextStatusFlags contextStatusFlag; bool flag1; if (ContextSprite.g.count > 0) { single = Time.deltaTime; if (single <= 0f) { return; } int num = 525313; if (!RPOS.hideSprites) { Label2: foreach (ContextSprite contextSprite in ContextSprite.g.visible) { if (!contextSprite.requestableHasStatus) { flag = false; } else { contextStatusFlag = contextSprite.requestableStatus.ContextStatusPoll() & (ContextStatusFlags.SpriteFlag0 | ContextStatusFlags.SpriteFlag1); if ((int)contextStatusFlag != 0) { if (contextStatusFlag != ContextStatusFlags.SpriteFlag0) { goto Label1; } flag = true; goto Label0; } Label3: flag = false; Label0: } Vector3 vector3 = contextSprite.transform.position; Ray ray = camera.ScreenPointToRay(camera.WorldToScreenPoint(vector3)); Vector3 vector31 = ray.direction; Vector3 vector32 = ray.origin; float single1 = vector3.x * vector31.x + vector3.y * vector31.y + vector3.z * vector31.z - (vector32.x * vector31.x + vector32.y * vector31.y + vector32.z * vector31.z); if (single1 <= 0f || ContextSprite.g.PhysRaycast(ref ray, out raycastHit, single1, num) && !contextSprite.IsSeeThrough(ref raycastHit)) { flag1 = ContextSprite.CalculateFadeOut(ref contextSprite.fade, single); } else { flag1 = (!flag ? ContextSprite.CalculateFadeIn(ref contextSprite.fade, single) : ContextSprite.CalculateFadeDim(ref contextSprite.fade, single)); } if (!flag1) { continue; } contextSprite.UpdateMaterialProperties(); } } else { foreach (ContextSprite contextSprite1 in ContextSprite.g.visible) { if (!ContextSprite.CalculateFadeOut(ref contextSprite1.fade, single)) { continue; } contextSprite1.UpdateMaterialProperties(); } } } return; if (contextStatusFlag == ContextStatusFlags.SpriteFlag1) { if (ContextSprite.CalculateFadeOut(ref contextSprite.fade, single)) { contextSprite.UpdateMaterialProperties(); } goto Label2; } else if (contextStatusFlag == (ContextStatusFlags.SpriteFlag0 | ContextStatusFlags.SpriteFlag1)) { if (ContextSprite.CalculateFadeIn(ref contextSprite.fade, single)) { contextSprite.UpdateMaterialProperties(); } goto Label2; } else { goto Label3; } }