Sakuno.KanColle.Amatsukaze.Game.AirBase.AirBase C# (CSharp) Method

AirBase() private method

private AirBase ( ) : Sakuno.Collections
return Sakuno.Collections
        internal AirBase()
        {
            ApiService.Subscribe("api_req_air_corps/set_action", r =>
            {
                var rAreaID = int.Parse(r.Parameters["api_area_id"]);
                var rGroups = r.Parameters["api_base_id"].Split(',').Select(rpID => Table[rAreaID][int.Parse(rpID)]).ToArray();
                var rOptions = r.Parameters["api_action_kind"].Split(',').Select(rpOption => (AirForceGroupOption)int.Parse(rpOption)).ToArray();

                for (int i = 0; i < rGroups.Length; i++)
                    rGroups[i].Option = rOptions[i];
            });

            ApiService.Subscribe("api_req_air_corps/change_name", r =>
            {
                var rAreaID = int.Parse(r.Parameters["api_area_id"]);
                var rGroup = Table[rAreaID][int.Parse(r.Parameters["api_base_id"])];
                rGroup.Name = r.Parameters["api_name"];
            });

            ApiService.Subscribe("api_req_air_corps/set_plane", r =>
            {
                var rAreaID = int.Parse(r.Parameters["api_area_id"]);
                var rGroup = Table[rAreaID][int.Parse(r.Parameters["api_base_id"])];

                var rData = r.GetData<RawAirForceGroupOrganization>();
                foreach (var rSquadron in rData.Squadrons)
                    rGroup.Squadrons[rSquadron.ID].Update(rSquadron);

                rGroup.CombatRadius = rData.CombatRadius;
                rGroup.UpdateFighterPower();
                rGroup.UpdateLBASConsumption();
            });

            ApiService.Subscribe("api_req_air_corps/supply", r =>
            {
                var rAreaID = int.Parse(r.Parameters["api_area_id"]);
                var rGroup = Table[rAreaID][int.Parse(r.Parameters["api_base_id"])];

                var rData = r.GetData<RawAirForceSquadronResupplyResult>();
                foreach (var rSquadron in rData.Squadrons)
                    rGroup.Squadrons[rSquadron.ID].Update(rSquadron);

                rGroup.UpdateFighterPower();
                rGroup.UpdateLBASConsumption();
            });

            ApiService.Subscribe("api_req_air_corps/expand_base", r =>
            {
                var rRawGroups = r.GetData<RawAirForceGroup[]>();

                foreach (var rRawGroup in rRawGroups)
                {
                    IDTable<AirForceGroup> rGroups;
                    if (!Table.TryGetValue(rRawGroup.AreaID, out rGroups))
                        Table.Add(rRawGroup.AreaID, rGroups = new Game.IDTable<Models.AirForceGroup>());

                    AirForceGroup rGroup;
                    if (!rGroups.TryGetValue(rRawGroup.ID, out rGroup))
                        rGroups.Add(new AirForceGroup(rRawGroup));
                    else
                        rGroup.Update(rRawGroup);
                }
            });
        }