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; } } }
private void UpdateFollowObjectWorldSpace() { MadTransform.SetPosition(transform, followObject.transform.position + offset); }