public TutorialMessageData GetTutorialTheSection(string section_name, int message_id) { TutorialMessageData ret = null; tutorialSectionMessages.ForEach(delegate(TutorialMessageData o) { if (ret == null && o.sectionName == section_name && o.messageId == message_id) { ret = o; } }); return(ret); }
public void CreateTable(string csv_text) { CSVReader cSVReader = new CSVReader(csv_text, "id,scene_name,section_name,message_id,trigger_event_name,completed_tutorial_step,appear_tutorial_bit,finish_tutorial_bit,appear,appear_delivery_id,only_new_section,set_bit,force_resend,check_keyword,position,npc_id,face_type,message,image_resource_name,voice_id,cursor_target,focus_pattern,wait_event_name,focus_frame,wait,cursor_offset_x,cursor_offset_y,cursor_angle,cursor_delay", false); TutorialMessageData tutorialMessageData = null; uint value = 0u; while (cSVReader.NextLine()) { value = 0u; cSVReader.Pop(ref value); if (value != 0) { if (tutorialMessageData != null) { tutorialSectionMessages.Add((uint)tutorialMessageData.tutorialId, tutorialMessageData); } string value2 = string.Empty; string value3 = string.Empty; string value4 = string.Empty; int value5 = 0; string value6 = string.Empty; string value7 = string.Empty; int value8 = 0; int value9 = 0; int value10 = 0; bool value11 = false; string value12 = string.Empty; FORCE_RESEND_DIALOG_FLAG value13 = FORCE_RESEND_DIALOG_FLAG.NONE; string value14 = string.Empty; cSVReader.Pop(ref value2); cSVReader.Pop(ref value3); cSVReader.Pop(ref value10); cSVReader.Pop(ref value4); cSVReader.Pop(ref value5); cSVReader.Pop(ref value6); cSVReader.Pop(ref value7); cSVReader.Pop(ref value8); cSVReader.Pop(ref value9); cSVReader.Pop(ref value11); cSVReader.Pop(ref value12); cSVReader.Pop(ref value13); cSVReader.Pop(ref value14); if (GetTutorialTheSection(value3, value10) != null) { Log.Warning(LOG.SYSTEM, "同一セクション内で message_id が重複しています : id " + value + " : " + value3 + " - " + value10); continue; } tutorialMessageData = new TutorialMessageData(); tutorialMessageData.tutorialId = (int)value; tutorialMessageData.sceneName = value2; tutorialMessageData.sectionName = value3; tutorialMessageData.messageId = value10; tutorialMessageData.triggerEventName = value4; tutorialMessageData.completedTutorialStep = value5; tutorialMessageData.strAppearTutorialBit = value6; tutorialMessageData.strFinishTutorialBit = value7; tutorialMessageData.appearId = value8; tutorialMessageData.appearDeliveryId = value9; tutorialMessageData.isNewSectionOnly = value11; tutorialMessageData.strSetBit = value12; tutorialMessageData.resendFrag = value13; tutorialMessageData.checkKeyword = value14; tutorialMessageData.messageData = new List <TutorialMessageData.MessageData>(); } else { string value15 = string.Empty; int value16 = 0; bool value17 = false; cSVReader.Pop(ref value15); cSVReader.Pop(ref value15); cSVReader.Pop(ref value16); cSVReader.Pop(ref value15); cSVReader.Pop(ref value16); cSVReader.Pop(ref value15); cSVReader.Pop(ref value15); cSVReader.Pop(ref value16); cSVReader.Pop(ref value16); cSVReader.Pop(ref value17); cSVReader.Pop(ref value15); cSVReader.Pop(ref value15); cSVReader.Pop(ref value15); } if (tutorialMessageData != null && tutorialMessageData.messageData != null) { TutorialMessageData.MessageData messageData = new TutorialMessageData.MessageData(); cSVReader.Pop(ref messageData.positionId); cSVReader.Pop(ref messageData.npcId); cSVReader.Pop(ref messageData.faceType); cSVReader.Pop(ref messageData.message); cSVReader.Pop(ref messageData.imageResourceName); cSVReader.Pop(ref messageData.voiceId); cSVReader.Pop(ref messageData.cursorTarget); cSVReader.Pop(ref messageData.focusPattern); cSVReader.Pop(ref messageData.waitEventName); cSVReader.Pop(ref messageData.focusFrame); cSVReader.Pop(ref messageData.wait); if (!cSVReader.IsEmpty()) { messageData.cursorType = TutorialMessageData.MessageData.CursorType.MANUAL; cSVReader.Pop(ref messageData.cursorOffset); } else { cSVReader.NextValue(); cSVReader.NextValue(); } if (!cSVReader.IsEmpty()) { messageData.cursorType = TutorialMessageData.MessageData.CursorType.MANUAL; } cSVReader.Pop(ref messageData.cursorRotDeg); cSVReader.Pop(ref messageData.cursorDelay); tutorialMessageData.messageData.Add(messageData); } } if (tutorialMessageData != null) { tutorialSectionMessages.Add((uint)tutorialMessageData.tutorialId, tutorialMessageData); } }