// Token: 0x06002C93 RID: 11411 RVA: 0x000A6EFC File Offset: 0x000A50FC public static bool Raycast(Ray ray, out global::ContextSprite sprite) { bool result = false; sprite = null; float num = float.PositiveInfinity; foreach (global::ContextSprite contextSprite in global::ContextSprite.g.visible) { if (contextSprite.contextRequestable) { Collider collider = contextSprite.contextRequestable.collider; if (!collider) { collider = contextSprite.collider; } if (collider) { if (!collider.enabled) { continue; } RaycastHit raycastHit; if (contextSprite.collider.Raycast(ray, ref raycastHit, 5f)) { float num2 = raycastHit.distance; num2 *= num2; if (num2 < num) { result = true; num = num2; sprite = contextSprite; } } } float num3; if (contextSprite.renderer.bounds.IntersectRay(ray, ref num3)) { num3 *= num3; if (num3 < num) { result = true; num = num3; sprite = contextSprite; } } } } return(result); }
// Token: 0x06002C97 RID: 11415 RVA: 0x000A709C File Offset: 0x000A529C public static bool FindSprite(Component component, out global::ContextSprite sprite) { if (component is global::ContextSprite) { sprite = (global::ContextSprite)component; return(true); } if (component is global::IContextRequestable) { sprite = component.GetComponentInChildren <global::ContextSprite>(); return(sprite && ((!sprite.contextRequestable) ? sprite._contextRequestable : sprite.contextRequestable) == component); } sprite = component.GetComponentInChildren <global::ContextSprite>(); return(sprite); }
// Token: 0x06002C9A RID: 11418 RVA: 0x000A7174 File Offset: 0x000A5374 public static void Add(global::ContextSprite sprite) { global::ContextSprite.g.visible.Add(sprite); global::ContextSprite.g.count++; HashSet <global::ContextSprite> hashSet; if (!global::ContextSprite.g.requestableVisibleSprites.TryGetValue(sprite.contextRequestable, out hashSet)) { hashSet = ((global::ContextSprite.g.hashRecycle.Count <= 0) ? new HashSet <global::ContextSprite>() : global::ContextSprite.g.hashRecycle.Dequeue()); global::ContextSprite.g.requestableVisibleSprites[sprite.contextRequestable] = hashSet; } hashSet.Add(sprite); if (global::ContextSprite.CalculateFadeOut(ref sprite.fade, Time.time - sprite.timeRemoved)) { sprite.UpdateMaterialProperties(); } }
// Token: 0x06002C9D RID: 11421 RVA: 0x000A7510 File Offset: 0x000A5710 public static void Remove(global::ContextSprite sprite) { global::ContextSprite.g.visible.Remove(sprite); global::ContextSprite.g.count--; HashSet <global::ContextSprite> hashSet; if (global::ContextSprite.g.requestableVisibleSprites.TryGetValue(sprite.contextRequestable, out hashSet)) { if (hashSet.Count == 1) { hashSet.Clear(); if (global::ContextSprite.g.hashRecycle.Count < 5) { global::ContextSprite.g.hashRecycle.Enqueue(hashSet); } global::ContextSprite.g.requestableVisibleSprites.Remove(sprite.contextRequestable); } else { hashSet.Remove(sprite); } } sprite.timeRemoved = Time.time; }