コード例 #1
0
        public void Watch(Buki buki)
        {
            if (buki == null)
            {
                return;
            }

            switch (SinmaState)
            {
            case SinmaState.NoSign:
                WatchNosign(buki);
                break;

            case SinmaState.Signed:
                WatchSigned(buki);
                break;

            case SinmaState.Summoning:
                WatchSummoning(buki);
                break;

            case SinmaState.Blessed:
                WatchBlessed(buki);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
        void WatchSummoning(Buki buki)
        {
            _preferredTimes = _preferredTimes
                              + Convert.ToInt32(DoesPrefer(buki));

            if (_preferredTimes == Constant.CountToSummon)
            {
                _sinmaState = SinmaState.Blessed;
            }
        }
コード例 #3
0
        public bool DoesPrefer(Buki buki)
        {
            if (buki == null)
            {
                return(false);
            }

            return(buki.IsSameAs(PreferredBackendBuki) ||
                   buki.IsSameAs(FirstPreferredFrontendBuki) ||
                   buki.IsSameAs(SecondPreferredFrontendBuki));
        }
コード例 #4
0
 void WatchSigned(Buki buki)
 {
     // do nothing
 }
コード例 #5
0
 void WatchNosign(Buki buki)
 {
     // do nothing
 }
コード例 #6
0
 void WatchBlessed(Buki buki)
 {
     // do nothing
 }