Page 1 of 1

ConstantMultilineAttributeをつけたFlexibleStringについて

Posted: 2018/05/14 09:44
by kudou
ConstantMultilineAttributeをつけたFlexibleStringでテキストの切り取り、貼り付けなどが使用できません。
また編集中も半角全角の切り替えなどをしていると入力ができなくなります。

FlexibleStringPropertyDrawer.csを確認したところ下記の修正でこちらの思ったとおりの動作になりました。
下記の修正で問題ないでしょうか?

修正前
string value = GUI.TextArea(fieldPosition, valueProperty.stringValue);

if (EditorGUI.EndChangeCheck())
{
valueProperty.stringValue = value;
}

修正後
valueProperty.stringValue = EditorGUI.TextArea(fieldPosition, valueProperty.stringValue);

Re: ConstantMultilineAttributeをつけたFlexibleStringについて

Posted: 2018/05/14 10:20
by kudou
環境を記載するのを忘れていました。
Windows 8.1
Unity 2018 1.0 f2 Personal
Arbor 3.0.2 p1

Re: ConstantMultilineAttributeをつけたFlexibleStringについて

Posted: 2018/06/19 08:18
by caitsithware
ご報告ありがとうございます。

開発時にEditorGUI.TextAreaだと折り返しされなく、スクロールバーなどが表示されるわけでもないため視認性に問題があるとしてGUI.TextAreaを使用していました。
たしかにコピーなどの編集ができないためこちらの方が非常に不便になっていますね。
EditorGUI.TextAreaへ修正いたします。
下記の修正で問題ないでしょうか?
EditorGUI.EndChangeCheck()も使用しないようにした場合は、TextAreaの前にあるEditorGUI.BeginChangeCheck()も呼ぶ必要がないのでそこも削除しても問題ありません。

それ以外は暫定対処として問題ないかと思います。