private void UpdateSpriteSize(Vector2 originPosition, Image2 image, Rect spriteRect) { float posX = originPosition.x * scaleRatio.x; float posY = originPosition.y * scaleRatio.y; MadTransform.SetLocalPosition(image.rectTransform, new Vector3(posX, posY)); SetSize(image.rectTransform, new Vector2(spriteRect.width * scaleRatio.x, spriteRect.height * scaleRatio.y)); }
private void UpdateBarScaleAndOffset() { if (imageBar != null) { var pivot = rectTransform.pivot; var rect = imageBar.rectTransform.rect; float ox = -(pivot.x - 0.5f) * rect.width; float oy = -(pivot.y - 0.5f) * rect.height; var computedLocalPosition = new Vector3(barImageOffset.x + ox, barImageOffset.y + oy, barImageOffset.z); MadTransform.SetLocalScale(imageBar.transform, barImageScale); MadTransform.SetLocalPosition(imageBar.transform, computedLocalPosition); if (effectTilledImageBarMask != null) { MadTransform.SetLocalScale(effectTilledImageBarMask.transform, barImageScale); MadTransform.SetLocalPosition(effectTilledImageBarMask.transform, computedLocalPosition); } } if (imageBurn != null) { var pivot = rectTransform.pivot; var rect = imageBurn.rectTransform.rect; float ox = -(pivot.x - 0.5f) * rect.width; float oy = -(pivot.y - 0.5f) * rect.height; var computedLocalPosition = new Vector3(barImageOffset.x + ox, barImageOffset.y + oy, barImageOffset.z); MadTransform.SetLocalScale(imageBurn.transform, barImageScale); MadTransform.SetLocalPosition(imageBurn.transform, computedLocalPosition); } }
private void UpdateBarOffset(Image bar) { var pivot = rectTransform.pivot; var rect = bar.rectTransform.rect; float ox = -(pivot.x - 0.5f) * rect.width; float oy = -(pivot.y - 0.5f) * rect.height; var computedLocalPosition = new Vector3( bar.transform.localPosition.x + barImageOffset.x + ox, bar.transform.localPosition.y + barImageOffset.y + oy, barImageOffset.z); MadTransform.SetLocalPosition(bar.transform, computedLocalPosition); }
private void UpdateScreenSpace() { if (cameraReference == null) { Debug.LogError("Render Camera must be set for the follow script to work.", this); return; } var rect = canvas.pixelRect; var w2 = rect.width / 2; var h2 = rect.height / 2; var screenPoint = cameraReference.WorldToScreenPoint(followObject.transform.position); var pos = screenPoint + offset - new Vector3(w2, h2); pos = new Vector3(pos.x / canvas.scaleFactor, pos.y / canvas.scaleFactor); MadTransform.SetLocalPosition(transform, pos); }
void UpdateFollowEffect() { if (!effectFollow) { return; } Color color = effectFollowColor.Evaluate(ValueF2); float scaleX = effectFollowScaleX.Evaluate(ValueF2); float scaleY = effectFollowScaleY.Evaluate(ValueF2); float scaleZ = effectFollowScaleZ.Evaluate(ValueF2); float rotation = effectFollowRotation.Evaluate(ValueF2) * 360; if (effectFollowSprite != null) { MadTransform.SetLocalPosition(effectFollowSprite.transform, EdgePosition()); MadTransform.SetLocalScale(effectFollowSprite.transform, new Vector3(scaleX, scaleY, scaleZ)); effectFollowSprite.tint = color; var newEulerAngles = new Vector3(0, 0, rotation); if (effectFollowSprite.transform.localEulerAngles != newEulerAngles) { effectFollowSprite.transform.localEulerAngles = newEulerAngles; } } else if (effectFollowObject != null && effectFollowObject is GameObject) { var worldPos = spriteBar.transform.TransformPoint(EdgePosition()); GameObject obj = effectFollowObject as GameObject; MadTransform.SetPosition(obj.transform, worldPos); MadTransform.SetLocalScale(obj.transform, new Vector3(scaleX, scaleY, scaleZ)); if (obj.GetComponent<Renderer>() != null) { obj.GetComponent<Renderer>().sharedMaterial.color = color; } var newEulerAngles = new Vector3(0, 0, rotation); if (obj.transform.localEulerAngles != newEulerAngles) { obj.transform.localEulerAngles = newEulerAngles; } } }