IEnumerator StartTestCoroutine() { yield return(new WaitForEndOfFrame()); var input = "Input"; var output = "Output"; var nand = "Nand"; var not = "NOT"; var log = new Action <string>((message) => Console.Instance.Log(message)); var scheme = new UIScheme(new UISelfSchemeBuildInfo(not), 2, 1, 2); SchemeDesigner.Instance.CreateScheme(scheme); var width = IOSelfIOGroupDesign.MinCellWidth; var heigth = IOSelfIOGroupDesign.DefaultCellHeight; scheme.AddIOGroup(new UIIOGroupBuildInfo( new IOGroupBuildString(input, 1, IO.Input), new Vector2(-200, 0), new Vector2(width, heigth * 1) )); scheme.AddIOGroup(new UIIOGroupBuildInfo( new IOGroupBuildString(output, 1, IO.Output), new Vector2(200, 0), new Vector2(width, heigth * 1) )); scheme.AddScheme(new UIInnerSchemeBuildInfo(nand, NAND.Type, null, Vector2.zero, Vector2.one * 240)); scheme.AddLink(new LinkBuilder(not, nand, input, NAND.Input, 0, 1, 0, 2)); scheme.AddLink(new LinkBuilder(nand, not, NAND.Output, output, 0, 1, 0, 1)); log(scheme.IOGroups[input].IOArray.Print()); log(scheme.IOGroups[output].IOArray.Print()); scheme.SetIO(input, Extensions.Array(true), 0, 1, 0, 1); log(scheme.IOGroups[input].IOArray.Print()); log(scheme.IOGroups[output].IOArray.Print()); scheme.SetIO(input, Extensions.Array(false), 0, 1, 0, 1); log(scheme.IOGroups[input].IOArray.Print()); log(scheme.IOGroups[output].IOArray.Print()); SchemeDesigner.Instance.SaveScheme(); yield break; }