예제 #1
0
 public void SetPivotWing(ISweeperWing pivotWing)
 {
     _pivotWing = pivotWing;
 }
예제 #2
0
 public void SetTargetWing(ISweeperWing targetWing)
 {
     _targetWing = targetWing;
 }
예제 #3
0
        public Boolean Run()
        {
            if (_pivotData.IsReadyForResume && _targetData.IsReadyForResume)
            {
                long pivotCount = Math.Abs(GetPivotSignedContractedCount());

                long pivotGoalCount = _converter.ConvertDirtyToCleanPivot(pivotCount);
                long targetGoalCount = pivotGoalCount;

                _pivotData.CurUnsignedTargetCount = Math.Abs(pivotGoalCount);
                _targetData.CurUnsignedTargetCount = Math.Abs(targetGoalCount);

                if (_pivotWing.GetState() == SweeperWingState.WaitResumeSign)
                {
                    Ktb_WaitResumeSign pivot = _pivotWing as Ktb_WaitResumeSign;
                    pivot.Resume();
                }

                if (_targetWing.GetState() == SweeperWingState.WaitResumeSign)
                {
                    Ktb_WaitResumeSign target = _targetWing as Ktb_WaitResumeSign;
                    target.Resume();
                }
            }

            _pivotWing = _pivotWing.Run();
            _targetWing = _targetWing.Run();

            return IsAllDone();
        }