예제 #1
0
        //当たり判定の情報を作成
        void MakeHitGroups(List <UguiNovelTextCharacter> characterDataList)
        {
            this.HitGroupLists = new List <UguiNovelTextHitArea>();
            int index = 0;

            //一行ぶん(改行までの)の処理をループ内で処理
            while (index < characterDataList.Count)
            {
                UguiNovelTextCharacter currentData = characterDataList[index];
                if (currentData.charData.CustomInfo.IsHitEventTop)
                {
                    CharData.HitEventType type = currentData.CustomInfo.HitEventType;
                    string arg = currentData.CustomInfo.HitEventArg;
                    List <UguiNovelTextCharacter> characterList = new List <UguiNovelTextCharacter>();
                    characterList.Add(currentData);
                    ++index;
                    while (index < characterDataList.Count)
                    {
                        UguiNovelTextCharacter c = characterDataList[index];
                        if (!c.CustomInfo.IsHitEvent || c.CustomInfo.IsHitEventTop)
                        {
                            break;
                        }
                        characterList.Add(c);
                        ++index;
                    }
                    HitGroupLists.Add(new UguiNovelTextHitArea(NovelText, type, arg, characterList));
                }
                else
                {
                    ++index;
                }
            }
        }
예제 #2
0
 public UguiNovelTextHitArea(UguiNovelText novelText, CharData.HitEventType type, string arg, List <UguiNovelTextCharacter> characters)
 {
     this.novelText    = novelText;
     this.HitEventType = type;
     this.Arg          = arg;
     this.characters   = characters;
 }