// Start is called before the first frame update void Start() { PowerZoomTarget = transform.parent.Find("PowerZoomTarget").gameObject; SlideI = 0f; Icon = transform.Find("Icon").gameObject; MagicGlowParticle = Icon.transform.Find("MagicGlowParticle").gameObject; PS = MagicGlowParticle.GetComponent <ParticleSystem>(); Emission = PS.emission; StartRotation = Icon.transform.localRotation; EndRotation = Quaternion.FromToRotation(Vector3.forward, Icon.transform.localPosition - PowerZoomTarget.transform.localPosition); StartPosition = Icon.transform.localPosition; EndPosition = StartPosition + new Vector3(0, 0, -.25f); MagicMenu = transform.parent.GetComponent <MagicMenu>(); PowerPreviewScript = Icon.transform.GetComponentInChildren <PowerPreviewScript>(); }
public static void DrawBridges(ref Texture2D texture, MagicMenu magicMenu, float rStart, float rEnd, Color color) { var sectionAngle = (float)(2 * Math.PI / magicMenu.Magics); //Debug.Log(rStart); //Debug.Log(rEnd); for (int m = 0; m < magicMenu.Magics; m++) { var angle = sectionAngle * m; var x = (float)Math.Cos(angle); var y = (float)Math.Sin(angle); var center = new Vector2(texture.width / 2, texture.height / 2); var p1 = new Vector2((int)(x * rStart), (int)(y * rStart)); var p2 = new Vector2((int)(x * rEnd), (int)(y * rEnd)); for (var z = -2f; z < 2f; z += .01f) { var q = Quaternion.Euler(0, 0, z); DrawLine(ref texture, (Vector2)(q * p1) + center, (Vector2)(q * p2) + center, color); } } }