示例#1
0
    //读取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();
 }
示例#3
0
    //根据编号返回普通事件

    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);
    }
示例#4
0
    //用角色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);
    }
示例#5
0
    //开始的关键事件
    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);
 }