当前位置: 首页>>代码示例>>C#>>正文


C# Airport.removeAirlineContract方法代码示例

本文整理汇总了C#中TheAirline.Model.AirportModel.Airport.removeAirlineContract方法的典型用法代码示例。如果您正苦于以下问题:C# Airport.removeAirlineContract方法的具体用法?C# Airport.removeAirlineContract怎么用?C# Airport.removeAirlineContract使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TheAirline.Model.AirportModel.Airport的用法示例。


在下文中一共展示了Airport.removeAirlineContract方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReallocateAirport

        //reallocate all gates and facilities from one airport to another - gates, facilities and routes
        public static void ReallocateAirport(Airport oldAirport, Airport newAirport, Airline airline)
        {

            //contract
            List<AirportContract> oldContracts = oldAirport.getAirlineContracts(airline);

            foreach (AirportContract oldContract in oldContracts)
            {

                oldAirport.removeAirlineContract(oldContract);

                oldContract.Airport = newAirport;

                AirportHelpers.AddAirlineContract(oldContract);


                for (int i = 0; i < oldContract.NumberOfGates; i++)
                {
                    Gate newGate = newAirport.Terminals.getGates().Where(g => g.Airline == null).First();
                    newGate.Airline = airline;

                    Gate oldGate = oldAirport.Terminals.getGates().Where(g => g.Airline == airline).First();
                    oldGate.Airline = null;
                }


            }
            //routes
            var obsoleteRoutes = (from r in airline.Routes where r.Destination1 == oldAirport || r.Destination2 == oldAirport select r);

            foreach (Route route in obsoleteRoutes)
            {
                if (route.Destination1 == oldAirport) route.Destination1 = newAirport;
                if (route.Destination2 == oldAirport) route.Destination2 = newAirport;


                var entries = route.TimeTable.Entries.FindAll(e => e.Destination.Airport == oldAirport);

                foreach (RouteTimeTableEntry entry in entries)
                    entry.Destination.Airport = newAirport;

                foreach (FleetAirliner airliner in route.getAirliners())
                {
                    if (airliner.Homebase == oldAirport)
                        airliner.Homebase = newAirport;
                }
            }

            //facilities
            foreach (AirportFacility facility in oldAirport.getCurrentAirportFacilities(airline))
            {
                newAirport.addAirportFacility(airline, facility, GameObject.GetInstance().GameTime);
            }

            oldAirport.clearFacilities(airline);

            foreach (AirportFacility.FacilityType type in Enum.GetValues(typeof(AirportFacility.FacilityType)))
            {

                AirportFacility noneFacility = AirportFacilities.GetFacilities(type).Find((delegate(AirportFacility facility) { return facility.TypeLevel == 0; }));

                oldAirport.addAirportFacility(airline, noneFacility, GameObject.GetInstance().GameTime);
            }
        }
开发者ID:tehknox,项目名称:tap-desktop,代码行数:65,代码来源:AirlineHelpers.cs


注:本文中的TheAirline.Model.AirportModel.Airport.removeAirlineContract方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。