void SetIconVisible(Image2 image, float scale = 1) { image.color = ComputeColor(spriteIcon.color); image.fillValue = 1; MadTransform.SetLocalScale(image.transform, new Vector3(scale, scale, scale)); image.enabled = true; }
private void UpdateTransform() { if (transformTranslate) { Vector2 translate = translateFunction.Value(ValueF2); Vector2 size; if (TryGetNativeSize(out size)) { imageObject.transform.localPosition = new Vector2( translate.x * size.x, translate.y * size.y); } } if (transformRotate) { Quaternion rotate = rotateFunction.Value(ValueF2); var localRotation = Quaternion.identity * Quaternion.Inverse(rotate); // ReSharper disable once RedundantCheckBeforeAssignment if (imageObject.transform.localRotation != localRotation) { imageObject.transform.localRotation = localRotation; } } if (transformScale) { Vector3 scale = scaleFunction.Value(ValueF2); MadTransform.SetLocalScale(imageObject.transform, scale); } }
private void UpdateSize() { var thisRectTransform = rectTransform; for (int i = 0; i < createdChildren.Count; ++i) { var child = createdChildren[i]; if (child.gameObject == imageObject.gameObject) { continue; } var otherRectTransform = child.GetComponent <RectTransform>(); if (otherRectTransform != null) { SetSize(otherRectTransform, thisRectTransform.rect.size); } } // update container scale Vector2 nativeSize; if (TryGetNativeSize(out nativeSize)) { var ratio = new Vector3( thisRectTransform.rect.width / nativeSize.x, thisRectTransform.rect.height / nativeSize.y, 1); MadTransform.SetLocalScale(imageObjectContainer.transform, ratio); } }
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); } }
void SetIconVisible(MadSprite sprite) { bool wasInvisible = sprite.visible == false; sprite.tint = ComputeColor(tintIcon); sprite.fillValue = 1; MadTransform.SetLocalScale(sprite.transform, 1); sprite.visible = true; if (wasInvisible && onIconShow != null) { onIconShow(sprite); } }
private void UpdateFollowEffect() { if (!effectFollow) { return; } UpdateEffectFollowDefaults(); 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 (effectFollowObject != null) { var worldPos = imageBar.transform.TransformPoint(EdgePosition()); GameObject obj = effectFollowObject; 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; } // if object contains Graphic, then manipulate the color var graphics = obj.GetComponent <Graphic>(); if (graphics) { graphics.color = color; } } }
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; } } }
void SetSpriteVisible(MadSprite sprite) { sprite.tint = tintIcon; sprite.fillValue = 1; MadTransform.SetLocalScale(sprite.transform, 1); sprite.visible = true; }
void UpdateSlot(MadSprite sprite) { if (sprite != null) { sprite.tint = ComputeColor(tintSlot); MadTransform.SetLocalScale(sprite.transform, 1); } }