private void OnDrawGizmos() { for (float t = 0; t <= 1; t += 0.05f) { gposition = MMathf.Powed(1 - t, 3) * cpoints[0].position + 3 * MMathf.Powed(1 - t, 2) * t * cpoints[1].position + 3 * (1 - t) * MMathf.Powed(t, 2) * cpoints[2].position + MMathf.Powed(t, 3) * cpoints[3].position; Gizmos.DrawCube(gposition, new Vector3(0.25f, 0.25f, 0.25f)); //Gizmos. Gizmos.color = Color.green; } Gizmos.DrawLine(new Vector2(cpoints[0].position.x, cpoints[0].position.y), new Vector2(cpoints[1].position.x, cpoints[1].position.y)); Gizmos.DrawLine(new Vector2(cpoints[2].position.x, cpoints[2].position.y), new Vector2(cpoints[3].position.x, cpoints[3].position.y)); }
private IEnumerator GoIEnumerator(int rnum) { IenumeratorAllowed = false; Vector2 p1 = rts[rnum].GetChild(0).position; Vector2 p2 = rts[rnum].GetChild(1).position; Vector2 p3 = rts[rnum].GetChild(2).position; Vector2 p4 = rts[rnum].GetChild(3).position; while (tParam < 1 && mousedown) { tParam += Time.deltaTime * speedMod; tpar += Time.deltaTime * speedMod; cPosition = MMathf.Powed(1 - tParam, 3) * p1 + 3 * MMathf.Powed(1 - tParam, 2) * tParam * p2 + 3 * (1 - tParam) * MMathf.Powed(tParam, 2) * p3 + MMathf.Powed(tParam, 3) * p4; //print(cPosition); transform.position = cPosition; yield return(new WaitForEndOfFrame()); } if (tParam < 1) { } else { score += 25; tParam = 0; rtsGo += 1; } if (rtsGo > rts.Length - 1) { tpar = 0; goToCam = false; Camera.main.transform.position = new Vector3(31.44f, -4.450001f, -10); rtsGo = 0; OpenAppLevel.THIS.loadNext(); } IenumeratorAllowed = true; }