//读取GameEvent表; void readGameEvent() { // Read sample data from CSV file using (ReadWriteCsv.CsvFileReader reader = new ReadWriteCsv.CsvFileReader("D://GameEvent.CSV")) { ReadWriteCsv.CsvRow row = new ReadWriteCsv.CsvRow(); int i = 1; while (reader.ReadRow(row)) { Model.GameEvent temp = new Model.GameEvent(); if (i > 4) { temp.id = row[0]; temp.eventSign = row[1]; int.TryParse(row[2], out temp.eventType); temp.eventName = row[3]; temp.eventTalk = row[4]; temp.eventRoles = row[5]; gEvent.Add(temp); } i++; } } }
//调用2-16层随机事件 public void initCon() { nConversation.InitREV216(actor); gEvent = nConversation.getRandomREV216(); s = nt.getTalk(gEvent.eventTalk); //nextTalk(); }
//根据编号返回普通事件 public Model.GameEvent getRanEV(string EventSign) { Model.GameEvent result = new Model.GameEvent(); foreach (Model.GameEvent s in RanEV) { if (s.eventSign == EventSign) { result = s; } } return(result); }
//用角色id确定该角色的初始事件 public Model.GameEvent InitAction(string EventRole) { Model.GameEvent result = new Model.GameEvent(); List <Model.GameEvent> mg = newData.gEvent;//事件集 foreach (Model.GameEvent s in mg) { if (s.eventSign == "EventGroup_9999" && s.eventRoles == EventRole) { result = s; } } return(result); }
//开始的关键事件 public Model.GameEvent StartKeyEvent(string EventRole) { Model.GameEvent result = new Model.GameEvent(); List <Model.GameEvent> mg = newData.gEvent;//事件集 foreach (Model.GameEvent s in mg) { if (s.eventSign == "EventGroup_1002" && s.eventRoles == EventRole) { result = s; break; } } return(result); }
//关键事件选项之后 void ChooseResult(string s1) { chooId = s1;//被选择的框id; Model.TalkResult tr = nr.getTalkResult(chooId); type = tr.ResultType;//结果类型 //跳转到下一个事件 //string NextEvent = tr.EventGroup;//切换的下一个事件组ID; if (tr.EventGroup != "1")//有下一个事件组 { //寻找下一个事件 EventGroup = tr.EventGroup; //切换事件组ID gEvent = nConversation.getKeyEV(EventGroup); key = nt.getTalk(gEvent.eventTalk); //节点 } else//没有下一个事件组。结束。 { key = null; } }
//第一层开始随机事件 public void startEvent() { gEvent = nConversation.InitAction(actor); s = nt.getTalk(gEvent.eventTalk); nextTalk(); }
//关键事件开始 public void NextKey() { gEvent = nConversation.StartKeyEvent(actor); key = nt.getTalk(gEvent.eventTalk); }