public virtual bool insideSprite(Camera camera, Sprite sprite, ICollection<TouchPhase> phases) { if (input.touchCount == 0) { return false; } if (!touchesFor(phases).Any(touch => sprite.Contains(camera, touch.position))) { return false; } var spritesInScene = gameObjectFinder.allSprites(); foreach (var touch in touchesFor(phases)) { if (!sprite.Contains(camera, touch.position)) { continue; } var topSprite = sprite; foreach (var spriteInScene in spritesInScene) { if (spriteInScene.Contains(camera, touch.position) && spriteInScene.worldPosition.z < sprite.worldPosition.z && (spriteInScene.getAlphaAtScreenPosition(touch.position) > OPAQUE)) { topSprite = spriteInScene; } } if (topSprite == sprite && topSprite.getAlphaAtScreenPosition(touch.position) > OPAQUE) { return true; } } return false; }
public bool insideSprite(Camera camera, Sprite sprite, ICollection<TouchPhase> phases) { foreach (var touch in touchesFor(phases)) { if (sprite.Contains(camera, touch.position)) return true; } return false; }
public virtual bool insideSprite(Camera camera, Sprite sprite, ICollection <TouchPhase> phases) { if (input.touchCount == 0) { return(false); } if (!touchesFor(phases).Any(touch => sprite.Contains(camera, touch.position))) { return(false); } var spritesInScene = gameObjectFinder.allSprites(); foreach (var touch in touchesFor(phases)) { if (!sprite.Contains(camera, touch.position)) { continue; } var topSprite = sprite; foreach (var spriteInScene in spritesInScene) { if (spriteInScene.Contains(camera, touch.position) && spriteInScene.worldPosition.z < sprite.worldPosition.z && (spriteInScene.getAlphaAtScreenPosition(touch.position) > OPAQUE)) { topSprite = spriteInScene; } } if (topSprite == sprite && topSprite.getAlphaAtScreenPosition(touch.position) > OPAQUE) { return(true); } } return(false); }
/// if the sprite was dragged, return move amount in screen coordinates. /// return the zero vector if dragging happened outside of the sprite public Vector3 movementIfDragged() { if (input.touchCount > 0 && input.hasMoved(0)) { var touch = input.GetTouch(0); if (!sprite.Contains(Camera.main, touch.position)) { return(Vector3.zero); } return(new Vector3(touch.deltaPosition.x, touch.deltaPosition.y, 0f)); } return(Vector3.zero); }
private IEnumerator AnimateSprite(Sprite desiredFinalSprite) { Sprite currentSprite = (Sprite)spritehandler.CataloguePage; if (desiredFinalSprite == currentSprite) { yield break; } var offSprites = new Sprite[] { Sprite.Off, Sprite.InOff, Sprite.OutOff }; var transitionSprites = new Sprite[] { Sprite.OutStarting, Sprite.OutStopping, Sprite.InStarting, Sprite.InStopping }; var operatingSprites = new Sprite[] { Sprite.Out, Sprite.In }; // Run the animatable transitions. if (desiredFinalSprite == Sprite.Off && operatingSprites.Contains(currentSprite)) { // Bring impeller to a standstill from operation. ToOffFrom(currentSprite); } else if (operatingSprites.Contains(desiredFinalSprite) && (offSprites.Contains(currentSprite) || transitionSprites.Contains(currentSprite))) { // Bring impeller to operation from a standstill. FromOffTo(desiredFinalSprite); } else if (operatingSprites.Contains(desiredFinalSprite) && operatingSprites.Contains(currentSprite)) { // Bring impeller to a standstill before reversing direction. yield return(FromTo(currentSprite, desiredFinalSprite)); } else { // No transitions; just set instantly. spritehandler.ChangeSprite((int)desiredFinalSprite); } }
public bool guyContains(Vector2 position) { return(guyLeft.Contains(Camera.main, position) || guyRight.Contains(Camera.main, position)); }