예제 #1
0
    void ToModel(Dictionary <string, object> dic_obj)
    {
        mListMissionLog.Clear();
        mListMissionDayLog.Clear();
        mDicMissionNameLog.Clear();

        if (dic_obj.ContainsKey("log"))
        {
            List <object> lst_obj = dic_obj["log"] as List <object>;
            if (lst_obj != null)
            {
                for (int i = 0; i < lst_obj.Count; i++)
                {
                    Dictionary <string, object> dic = lst_obj[i] as Dictionary <string, object>;
                    MissionLog mislog = new MissionLog();
                    mislog.ToModel(dic);
                    if (mislog.mId > MaxID)
                    {
                        MaxID = mislog.mId + 1;
                    }
                    mListMissionLog.Add(mislog);
                }
            }
        }

        if (dic_obj.ContainsKey("daylog"))
        {
            List <object> lst_obj = dic_obj["daylog"] as List <object>;
            if (lst_obj != null)
            {
                for (int i = 0; i < lst_obj.Count; i++)
                {
                    Dictionary <string, object> dic = lst_obj[i] as Dictionary <string, object>;
                    MissionDayLog mislog            = new MissionDayLog();
                    mislog.ToModel(dic);
                    mListMissionDayLog.Add(mislog);
                }
            }
        }

        if (dic_obj.ContainsKey("namelog"))
        {
            List <object> lst_obj = dic_obj["namelog"] as List <object>;
            if (lst_obj != null)
            {
                for (int i = 0; i < lst_obj.Count; i++)
                {
                    Dictionary <string, object> dic = lst_obj[i] as Dictionary <string, object>;
                    MissionNameLog mislog           = new MissionNameLog();
                    mislog.ToModel(dic);
                    mDicMissionNameLog.Add(mislog.mName, mislog);
                }
            }
        }
    }
예제 #2
0
    public MissionLog AddLog(int _missionId, string _name, DateTime _time)
    {
        MissionLog log = new MissionLog();

        log.mId          = MaxID++;
        log.mMissionName = _name;
        log.mDateTime    = _time;
        log.mMissionId   = _missionId;

        mListMissionLog.Add(log);

        MissionDayLog daylog = null;

        if (mListMissionDayLog.Count > 0)
        {
            int _day_time = TimeConvert.GetDays(mListMissionDayLog[mListMissionDayLog.Count - 1].mDateTime);
            if (_day_time == TimeConvert.NowDay())
            {
                daylog = mListMissionDayLog[mListMissionDayLog.Count - 1];
            }
        }
        if (daylog == null)
        {
            daylog           = new MissionDayLog();
            daylog.mCount    = 0;
            daylog.mDateTime = TimeConvert.GetNow();
            mListMissionDayLog.Add(daylog);
        }
        daylog.mCount++;
        daylog.mTotalExp = PlayerInfo.Exp;

        MissionNameLog namelog = null;

        if (!mDicMissionNameLog.TryGetValue(_name, out namelog))
        {
            namelog           = new MissionNameLog();
            namelog.mName     = _name;
            namelog.mCount    = 0;
            namelog.mDateTime = TimeConvert.GetNow();
            mDicMissionNameLog.Add(_name, namelog);
        }
        namelog.mCount++;

        return(log);
    }