bool CheckSatisfy_flag(DataMemberInspector term)
    {
        var db_flag    = SaveDataController.Instance.GetDB_var <FlagDB, SavedDBData_flag>();
        var survayData = db_flag.Where(x => x._serchId == term._id).First().flagNum;

        foreach (var t in term._memberSet)
        {
            var staticData = t.data;
            switch (t._hikaku)
            {
            case DataMemberInspector.HIKAKU.EQUAL:
                if (!(survayData == staticData))
                {
                    return(false);
                }
                break;

            case DataMemberInspector.HIKAKU.LESS:
                if (!(survayData < staticData))
                {
                    return(false);
                }
                break;

            case DataMemberInspector.HIKAKU.MORE:
                if (!(survayData > staticData))
                {
                    return(false);
                }
                break;
            }
        }
        return(true);
    }
示例#2
0
    public static DataMemberInspector SetFlagNum(string id, int Num)
    {
        var result = new DataMemberInspector(id);

        result.AddData("flagNum", Num);
        return(result);
    }
    bool CheckSatisfy_item(DataMemberInspector term)
    {
        var db_item    = SaveDataController.Instance.GetDB_var <PartyDB, SavedDBData_party>()[0];
        var survayData = db_item.GetHaveItemNum(term._id);

        foreach (var t in term._memberSet)
        {
            var staticData = t.data;
            switch (t._hikaku)
            {
            case DataMemberInspector.HIKAKU.EQUAL:
                if (!(survayData == staticData))
                {
                    return(false);
                }
                break;

            case DataMemberInspector.HIKAKU.LESS:
                if (!(survayData < staticData))
                {
                    return(false);
                }
                break;

            case DataMemberInspector.HIKAKU.MORE:
                if (!(survayData > staticData))
                {
                    return(false);
                }
                break;
            }
        }
        return(true);
    }
示例#4
0
    public void UpdateData(string id, List <EventDataOperater.ConvertedText> dataSet)
    {
        foreach (var data in dataSet)
        {
            switch (data._head)
            {
            case "text":
                _codeData._text = string.Join("\n", data._content);
                break;

            case "term":
                _codeData.coalTerm.ResetTerm();
                foreach (var con in data._content)
                {
                    var temp = con.Split(' ');
                    if (temp[0].Equals("ormode", StringComparison.OrdinalIgnoreCase))    //ormodeの設定
                    {
                        bool flag = temp[1].Equals("true", StringComparison.OrdinalIgnoreCase);
                        _codeData.coalTerm._orMode = flag;
                    }
                    else
                    {
                        int num    = int.Parse(temp[2]);
                        var hikaku = DataMemberInspector.CreateHikaku(temp[3]);
                        _codeData.coalTerm.AddTerm(temp[0], temp[1], num, hikaku);
                    }
                }
                break;

            case "next":
                UpdateData_next(id, data);
                break;
            }
        }
    }
示例#5
0
    public static DataMemberInspector AddHaveNum(string id, int num)
    {
        var result = new DataMemberInspector(id);
        var have   = SaveDataController.Instance.GetData <ItemDB>(id, "haveNum");

        result.AddData("haveNum", have + num);
        return(result);
    }
示例#6
0
 public void SetData <T>(DataMemberInspector data)
     where T : AbstractDB
 {
     foreach (var d in data._memberSet)
     {
         SetData <T>(data._id, d.memberName, d.data);
         //Debug.Log(d.data+":"+d.memberName);
     }
     SetMemberSet();
 }
示例#7
0
    public void AddTerm(string id, string member, int data, DataMemberInspector.HIKAKU hikaku)
    {
        var target = _termList.Where(x => x._id == id).FirstOrDefault();

        if (target == null)
        {
            target = new DataMemberInspector(id);
        }
        target.AddData(member, data, hikaku);
        _termList.Add(target);
    }
示例#8
0
 public int GetData <T>(DataMemberInspector data)
     where T : AbstractDB
 {
     foreach (var mem in data._memberSet)
     {
         var result = GetData <T>(data._id, mem.memberName);
         //Debug.Log(result+":"+mem.memberName);
         return(result);
     }
     return(-1);
 }
示例#9
0
 void SetMemberSet()
 {
     _memberSet = new List <DataMemberInspector>();
     foreach (var dataList in _saveDataList)
     {
         foreach (var data in dataList.Value)
         {
             DataMemberInspector temp = null;
             foreach (var st in data._memberSet_int)
             {
                 temp = new DataMemberInspector(data._serchId);
                 temp.AddData(st.Key, st.Value, DataMemberInspector.HIKAKU.NONE);
             }
             _memberSet.Add(temp);
         }
     }
 }
示例#10
0
    public void AddTerm(string id, int data, DataMemberInspector.DATATYPE datatype, DataMemberInspector.HIKAKU hikaku)
    {
        //内容
        var target = _termList.Where(x => x._id == id).FirstOrDefault();

        if (target == null)
        {
            try
            {
                target = new DataMemberInspector(id, datatype);
            }catch (ArgumentException e)
            {
                throw e;
            }
        }
        target.AddData(data, hikaku);
        _termList.Add(target);
    }
示例#11
0
    public void UpdateData(string id, List <EventDataOperater.ConvertedText> dataSet)
    {
        foreach (var data in dataSet)
        {
            switch (data._head)
            {
            case "text":
                _codeData._text = string.Join("\n", data._content);
                break;

            case "term":
                _codeData.coalTerm.ResetTerm();
                foreach (var con in data._content)
                {
                    var temp = con.Split(' ');
                    if (temp[0].Equals("ormode", StringComparison.OrdinalIgnoreCase))    //ormodeの設定
                    {
                        try
                        {
                            bool flag = temp[1].Equals("true", StringComparison.OrdinalIgnoreCase);
                            _codeData.coalTerm._orMode = flag;
                            if (!flag && !temp[1].Equals("false", StringComparison.OrdinalIgnoreCase))    //falseを明示したとき以外のfalse
                            {
                                ThrowErrorLog(null, "", "データ内容に誤りがあります", name, $"term,<{con}>");
                            }
                        }catch (IndexOutOfRangeException e)
                        {
                            ThrowErrorLog(e, "", "文法に誤りがあります", name, $"term,<{con}>");
                        }
                    }
                    else
                    {
                        try
                        {
                            int num      = int.Parse(temp[2]);
                            var datatype = DataMemberInspector.CreateDataType(temp[0]);
                            var hikaku   = DataMemberInspector.CreateHikaku(temp[3]);
                            _codeData.coalTerm.AddTerm(temp[1], num, datatype, hikaku);
                        }
                        catch (Exception e) when(e is IndexOutOfRangeException ||
                                                 e is InvalidOperationException ||
                                                 e is FormatException)
                        {
                            ThrowErrorLog(e, "", "文法に誤りがあります", name, $"term,<{con}>");
                        }
                        catch (Exception e) when(e is ArgumentException)
                        {
                            ThrowErrorLog(e, "", "データ内容に誤りがあります", name, $"term,<{con}>");
                        }
                    }
                }
                break;

            case "next":
                UpdateData_next(id, data);
                break;

            default:
                ThrowErrorLog(null, "", "括弧の前のやつが不正な値です", name, data._head);
                break;
            }
        }
    }