/// <summary> /// Gets a layer's raw scroll vector from an input value. /// </summary> /// <remarks> /// Useful for figuring out how much a layer will scroll without moving it. /// </remarks> public static Vector2 GetRawScrollVector(ScrollLayer layer, Vector2 scrollValue) { if (!instance) { Debug.LogError("Error: Trying to get raw scroll vector without a parallax manager!"); return(Vector2.zero); } if (layer.isObjectLayer && !layer.objectLayerPixelSpace) { if (instance.GetScrollConstraints() == ScrollConstraints.X) { return(instance.GetParallaxCamera().transform.right * -scrollValue.x * instance.baseSpeed * layer.GetScrollSpeed() * layer.GetScrollMod()); } else if (instance.GetScrollConstraints() == ScrollConstraints.Y) { return(instance.GetParallaxCamera().transform.up * -scrollValue.y * instance.baseSpeed * layer.GetScrollSpeed() * layer.GetScrollMod()); } else { Vector3 sV = (instance.GetParallaxCamera().transform.right * -scrollValue.x) + (instance.GetParallaxCamera().transform.up * -scrollValue.y); return(sV * instance.baseSpeed * layer.GetScrollSpeed() * layer.GetScrollMod()); } } else { return(scrollValue * instance.baseSpeed * layer.GetScrollSpeed() * layer.GetScrollMod()); } }
void Awake() { scrollLayer = this.GetComponent <ScrollLayer>(); SyncToScrollLayer(); }