コード例 #1
0
ファイル: BCEvents.cs プロジェクト: OverloadUT/OATBeanCounter
        public void partDieEvent(Part part)
        {
            BeanCounter.LogFormatted_DebugOnly("---------- partDieEvent ------------");

            // Get the launch that this part was from
            BCLaunchData launch =
                (from launchq in OATBeanCounterData.data.launches
                 where launchq.missionID == part.missionID
                 select launchq).SingleOrDefault();

            if(launch == null)
            {
                BeanCounter.LogFormatted_DebugOnly("Could not find launch for missionID {0}", part.missionID);
                return;
            }

            // Get the VesselPartData for the part that died
            BCVesselPartData partdata =
                (from partq in launch.parts
                 where partq.uid == part.flightID
                 select partq).SingleOrDefault();

            if (partdata == null)
            {
                BeanCounter.LogFormatted_DebugOnly("Could not find part for flightID {0}", part.flightID);
                return;
            }

            BCPartDestructionData destruction = new BCPartDestructionData();
            destruction.time = HighLogic.CurrentGame.UniversalTime;

            partdata.status = BCVesselPartStatus.Destroyed;
            partdata.destruction = destruction;

            BeanCounter.LogFormatted_DebugOnly("--------- /partDieEvent ------------");
        }