UguiNovelTextに入る文字が二重で同じ文字が入る。

119 views
Skip to first unread message

bg.ha...@gmail.com

unread,
Apr 19, 2018, 12:19:23 AM4/19/18
to 宴ユーザーグループ
Unityの習熟度:Unity歴2年 プログラマー
宴のバージョン:3.2.6
UnityのバージョンとOS:Unity2017.2.1p3、Windows
UnityのConsoleウィンドウのエラーメッセージ:特になし

現在、宴を活用させていただきアドベンチャーゲームを作成しています。
UguiNovelTextのAligmentの設定を真ん中揃えにして実行したところ、
表示されるテキストが真ん中揃えになりませんでした。

実行中のUguiNovelTextをInspectorで確認したところ
表示したい文字列が二重で入っている事に気づきました。
 例)Hogeという文字列をシナリオ側で指定した際、実行中のUguiNovelTextのInspectorのText欄にはHogeHogeとなる

こちらで調査したところAdvPage.csの436行目にあるRemakeTextDataという関数が影響していることがわかりました。
以下、こちらの解釈と合わせたコメントを付けた記述となります。
void RemakeTextData()
{
StringBuilder builder = new StringBuilder();
///表示する文字列を取得する 
foreach (var item in this.TextDataList)
{
        string itemText = (item.ParseCellLocalizedText());
builder.Append(item.ParseCellLocalizedText());
if (item.IsNextBr) builder.Append("\n");
}
CurrentTextLengthMax = new TextData(builder.ToString()).Length;

int index = 0;
for (int i = 0; i < CurrentData.TextDataList.Count; ++i)
{
var item = CurrentData.TextDataList[i];
if (!this.TextDataList.Contains(item))
{
/// 要素が登録されていない場合そのインデックスを保存する
/// 要素が全て登録されていればindexの内部は0のままになってしまうので
/// 下部の処理で再度同じ文字列が含まれてしまう。
index = i;
}
}
/// 上記でなかった場合そのインデックスから再度取得する?
    for (int i = index; i < CurrentData.TextDataList.Count; ++i)
    {
        var item = CurrentData.TextDataList[i];
        builder.Append(item.ParseCellLocalizedText());
        if (item.IsNextBr) builder.Append("\n");
    }
    this.TextData = new TextData(builder.ToString());
}

この二重で文字列が入るというのは仕様でしょうか?
仕様の場合はどういった想定がなされてのことでしょうか?
ご確認の程、よろしくお願い致します。

マッドネスラボ

unread,
Apr 19, 2018, 6:52:01 AM4/19/18
to 宴ユーザーグループ
過去のバージョンでの不具合です。
本来は高速化のために行っていた過去のコードの名残で、内部構造を変えたせいで誤動作を起こしてしまっています。
3.3.4移行で修正済みですで、バージョンアップしてください。

bg.ha...@gmail.com

unread,
Apr 19, 2018, 6:55:50 AM4/19/18
to 宴ユーザーグループ
ご確認ありがとうございます。
過去バージョンの名残とのこと承知しました。
これで解決とさせていただきます。

bg.ha...@gmail.com

unread,
Apr 19, 2018, 7:25:22 AM4/19/18
to 宴ユーザーグループ
アップデートを試みようとしましたが
現在のAssetStoreの最新を落としてもバージョンが3.2.6のままで更新されません。
どのような手順で更新を行えば良いでしょうか?

マッドネスラボ

unread,
Apr 19, 2018, 8:03:25 AM4/19/18
to 宴ユーザーグループ
AssetStoreからインポートしてください。

bg.ha...@gmail.com

unread,
Apr 19, 2018, 8:10:44 AM4/19/18
to 宴ユーザーグループ
インポートしてもバージョンが変わらないのですが
基本的にAssetStoreからのインポート以外での更新はない認識で良いでしょうか?

マッドネスラボ

unread,
Apr 19, 2018, 8:23:14 AM4/19/18
to 宴ユーザーグループ
AssetStoreからのインポート以外は特になにもする必要はありません。
もし、アップデートによってエラーがでているのであれば、コンソールなどにエラーメッセージが表示されているかと思います。
その場合は、以下のようにしてください。

>アップデート時の注意
>アップデートでエラーが出る場合は、一度「Utage」フォルダを削除してから、再インポートしてみてください。

bg.ha...@gmail.com

unread,
Apr 19, 2018, 8:25:14 AM4/19/18
to 宴ユーザーグループ
度々すみません。
どうやら更新できなかったのはPCのキャッシュによる問題のようでした。
お手数おかけいたしました。
ありがとうございました。
Reply all
Reply to author
Forward
0 new messages