public IEnumerator AsyncMethodWithEmojiComplex2WithRelayout() { var box = AsyncBoxElement.GO( null,// bg画像 () => { Debug.Log("ルートがタップされた"); }, AsyncTextElement.GO("hannidjkfajfaoooood"), // テキスト AsyncImageElement.GO(null), // 画像 AsyncButtonElement.GO(null, () => { Debug.Log("ボタンがタップされた"); }), AsyncTextElement2.GO("hannin is yasu!\U0001F60A this is public problem! goooooooooooooad"), // テキスト AsyncImageElement.GO(null), // 画像 AsyncImageElement.GO(null), // 画像 AsyncTextElement3.GO("hannidjkfajfaoooood2") ); // レイアウトに使うクラスを生成する var layouter = new BasicAsyncLayouter(); // コンテンツのサイズをセットする var size = new Vector2(600, 100); // レイアウトを行う var done = false; LayouTaro.LayoutAsync <BasicMissingSpriteCache>( canvas.transform, size, box, layouter, () => { LayouTaro.RelayoutWithUpdateAsync <BasicMissingSpriteCache>( size, box, new Dictionary <LTElementType, object> { { LTElementType.AsyncText, "hannidjkfajfaoooood" }, { LTElementType.AsyncText2, "hannin is yasu!\U0001F60A this is public problem! goooooooooooooad" }, { LTElementType.AsyncText3, "hannidjkfajfaoooood2" }, }, layouter, () => { done = true; } ); } ); while (!done) { yield return(null); } var rectTrans = box.gameObject.GetComponent <RectTransform>(); rectTrans.anchoredPosition3D = Vector3.zero; rectTrans.localScale = Vector3.one; ScreenCapture.CaptureScreenshot("./images/" + methodName); yield break; }
public IEnumerator AsyncMethodWithEmojiComplexWithRelayout() { var box = AsyncBoxElement.GO( null,// bg画像 () => { Debug.Log("ルートがタップされた"); }, AsyncTextElement.GO("hannidjkfajfaoooood"), // テキスト AsyncImageElement.GO(null), // 画像 AsyncButtonElement.GO(null, () => { Debug.Log("ボタンがタップされた"); }), AsyncTextElement2.GO("hannin is yasu!\U0001F60A\U0001F60B this is public problem! goooooooooooooad") // 59から絵文字を1文字削ると?2文字減る。文字数カウント的にはUTF8と同じ扱いなのか。うーん // 事前にサイズを取得、インデックスポイントを送り込んで、取り除いて、という形にするか。 // どうすればできる?載せ替える四角を成立させればいいか。単純に文字列コンテンツを絵文字でぶった切るか!!これは手な気がする。 // 他になんかないかな。いけるな、 // 文字列を最初に渡すときに、N個の絵文字が出た場合、\Uで検索して文字を取り出す。そんで、その文字がどんな画像になるか、っていうのを別途やる。そんで、 // それぞれの文字を出力して、サイズを割り出し、文字列を再構成する。 // 再構成した上でレイアウトすればいい。で、それぞれのレイアウト終了時に絵文字の画像を割り当てるか。 // この方法であれば、まあ、そもそも画像を割り当てるような置換ができれば優勝できるな。 // 割り出し方に問題が出るかな、例があると嬉しいな。ない。今はない。 ); // レイアウトに使うクラスを生成する var layouter = new BasicAsyncLayouter(); // コンテンツのサイズをセットする var size = new Vector2(600, 100); // レイアウトを行う var done = false; LayouTaro.LayoutAsync <BasicMissingSpriteCache>( canvas.transform, size, box, layouter, () => { LayouTaro.RelayoutWithUpdateAsync <BasicMissingSpriteCache>( size, box, new Dictionary <LTElementType, object> { { LTElementType.AsyncText, "hannidjkfajfaoooood" }, { LTElementType.AsyncText2, "hannin is yasu!\U0001F60A\U0001F60B this is public problem! goooooooooooooad" } }, layouter, () => { done = true; } ); } ); while (!done) { yield return(null); } var rectTrans = box.gameObject.GetComponent <RectTransform>(); rectTrans.anchoredPosition3D = Vector3.zero; rectTrans.localScale = Vector3.one; ScreenCapture.CaptureScreenshot("./images/" + methodName); yield break; }