Esempio n. 1
0
        public Api_Result <Dictionary <int, User_StrategyMapFmt> > StrategyInfo()
        {
            Api_Result <Dictionary <int, User_StrategyMapFmt> > api_Result = new Api_Result <Dictionary <int, User_StrategyMapFmt> >();

            api_Result.data = new Dictionary <int, User_StrategyMapFmt>();
            Dictionary <int, Mst_mapinfo> dictionary = (from x in Mst_DataManager.Instance.Mst_mapinfo.Values
                                                        where x.No == 1
                                                        select x).ToDictionary((Mst_mapinfo y) => y.Maparea_id, (Mst_mapinfo z) => z);

            foreach (Mst_maparea value2 in Mst_DataManager.Instance.Mst_maparea.Values)
            {
                bool flag = (dictionary[value2.Id].GetUser_MapinfoData() != null) ? true : false;
                User_StrategyMapFmt user_StrategyMapFmt = new User_StrategyMapFmt(value2, flag);
                Mem_rebellion_point value = null;
                if (Comm_UserDatas.Instance.User_rebellion_point.TryGetValue(value2.Id, out value))
                {
                    user_StrategyMapFmt.RebellionState = value.State;
                }
                if (user_StrategyMapFmt.IsActiveArea)
                {
                    if (!Comm_UserDatas.Instance.User_EscortDeck.ContainsKey(value2.Id))
                    {
                        Comm_UserDatas.Instance.Add_EscortDeck(value2.Id, value2.Id);
                    }
                    if (value == null)
                    {
                        value = new Mem_rebellion_point(value2.Id);
                        Comm_UserDatas.Instance.User_rebellion_point.Add(value.Rid, value);
                        user_StrategyMapFmt.RebellionState = value.State;
                    }
                }
                api_Result.data.Add(user_StrategyMapFmt.Maparea.Id, user_StrategyMapFmt);
            }
            return(api_Result);
        }
 public void __Update__(UserInfoModel user_info, User_StrategyMapFmt strategy_fmt, Dictionary <int, List <Mem_ndock> > ndock_dic, _TankerManager tship_manager)
 {
     this._userInfo     = user_info;
     this._strategy_fmt = strategy_fmt;
     if (ndock_dic.ContainsKey(this.Id))
     {
         this._ndocks = ndock_dic.get_Item(this.Id);
     }
     else
     {
         this._ndocks = new List <Mem_ndock>();
     }
     this._tship_manager = tship_manager;
 }
Esempio n. 3
0
 public void __Update__(UserInfoModel user_info, User_StrategyMapFmt strategy_fmt, Dictionary <int, List <Mem_ndock> > ndock_dic, _TankerManager tship_manager)
 {
     _userInfo     = user_info;
     _strategy_fmt = strategy_fmt;
     if (ndock_dic.ContainsKey(Id))
     {
         _ndocks = ndock_dic[Id];
     }
     else
     {
         _ndocks = new List <Mem_ndock>();
     }
     _tship_manager = tship_manager;
 }
        public Api_Result <Dictionary <int, List <Mem_ndock> > > AreaNdock()
        {
            Api_Result <Dictionary <int, List <Mem_ndock> > > api_Result = new Api_Result <Dictionary <int, List <Mem_ndock> > >();
            Dictionary <int, User_StrategyMapFmt>             data2      = this.StrategyInfo().data;
            IEnumerable <User_StrategyMapFmt> enumerable = Enumerable.Where <User_StrategyMapFmt>(data2.get_Values(), (User_StrategyMapFmt x) => x.IsActiveArea);
            List <int>            list       = Enumerable.ToList <int>(Enumerable.Select <Mem_ndock, int>(Enumerable.Where <Mem_ndock>(Comm_UserDatas.Instance.User_ndock.get_Values(), (Mem_ndock x) => x.Dock_no == 1), (Mem_ndock y) => y.Area_id));
            Dictionary <int, int> dictionary = new Dictionary <int, int>();

            using (IEnumerator <User_StrategyMapFmt> enumerator = enumerable.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    User_StrategyMapFmt current = enumerator.get_Current();
                    dictionary.Add(current.Maparea.Id, current.Maparea.Ndocks_max);
                    if (!list.Contains(current.Maparea.Id))
                    {
                        for (int i = 0; i < current.Maparea.Ndocks_init; i++)
                        {
                            Comm_UserDatas.Instance.Add_Ndock(current.Maparea.Id);
                        }
                    }
                }
            }
            IEnumerable <IGrouping <int, Mem_ndock> > enumerable2 = Enumerable.GroupBy <Mem_ndock, int, Mem_ndock>(Enumerable.OrderBy <Mem_ndock, int>(Comm_UserDatas.Instance.User_ndock.get_Values(), (Mem_ndock data) => data.Dock_no), (Mem_ndock data) => data.Area_id, (Mem_ndock data) => data);
            Dictionary <int, List <Mem_ndock> >       dictionary2 = new Dictionary <int, List <Mem_ndock> >();

            using (IEnumerator <IGrouping <int, Mem_ndock> > enumerator2 = enumerable2.GetEnumerator())
            {
                while (enumerator2.MoveNext())
                {
                    IGrouping <int, Mem_ndock> current2 = enumerator2.get_Current();
                    List <Mem_ndock>           list2    = Enumerable.ToList <Mem_ndock>(current2);
                    if (dictionary.ContainsKey(list2.get_Item(0).Area_id))
                    {
                        list2.set_Capacity(dictionary.get_Item(list2.get_Item(0).Area_id));
                        dictionary2.Add(current2.get_Key(), list2);
                        list2.ForEach(delegate(Mem_ndock x)
                        {
                            x.RecoverEnd(true);
                        });
                    }
                }
            }
            api_Result.data = dictionary2;
            return(api_Result);
        }
        public Api_Result <Dictionary <int, User_StrategyMapFmt> > StrategyInfo()
        {
            Api_Result <Dictionary <int, User_StrategyMapFmt> > api_Result = new Api_Result <Dictionary <int, User_StrategyMapFmt> >();

            api_Result.data = new Dictionary <int, User_StrategyMapFmt>();
            Dictionary <int, Mst_mapinfo> dictionary = Enumerable.ToDictionary <Mst_mapinfo, int, Mst_mapinfo>(Enumerable.Where <Mst_mapinfo>(Mst_DataManager.Instance.Mst_mapinfo.get_Values(), (Mst_mapinfo x) => x.No == 1), (Mst_mapinfo y) => y.Maparea_id, (Mst_mapinfo z) => z);

            using (Dictionary <int, Mst_maparea> .ValueCollection.Enumerator enumerator = Mst_DataManager.Instance.Mst_maparea.get_Values().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Mst_maparea         current             = enumerator.get_Current();
                    bool                user_MapinfoData    = dictionary.get_Item(current.Id).GetUser_MapinfoData() != null;
                    User_StrategyMapFmt user_StrategyMapFmt = new User_StrategyMapFmt(current, user_MapinfoData);
                    Mem_rebellion_point mem_rebellion_point = null;
                    if (Comm_UserDatas.Instance.User_rebellion_point.TryGetValue(current.Id, ref mem_rebellion_point))
                    {
                        user_StrategyMapFmt.RebellionState = mem_rebellion_point.State;
                    }
                    if (user_StrategyMapFmt.IsActiveArea)
                    {
                        if (!Comm_UserDatas.Instance.User_EscortDeck.ContainsKey(current.Id))
                        {
                            Comm_UserDatas.Instance.Add_EscortDeck(current.Id, current.Id);
                        }
                        if (mem_rebellion_point == null)
                        {
                            mem_rebellion_point = new Mem_rebellion_point(current.Id);
                            Comm_UserDatas.Instance.User_rebellion_point.Add(mem_rebellion_point.Rid, mem_rebellion_point);
                            user_StrategyMapFmt.RebellionState = mem_rebellion_point.State;
                        }
                    }
                    api_Result.data.Add(user_StrategyMapFmt.Maparea.Id, user_StrategyMapFmt);
                }
            }
            return(api_Result);
        }
 public MapAreaModel(UserInfoModel user_info, User_StrategyMapFmt strategy_fmt, Dictionary <int, List <Mem_ndock> > ndock_dic, _TankerManager tship_manager)
 {
     this.__Update__(user_info, strategy_fmt, ndock_dic, tship_manager);
 }