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(); } }
void WatchSummoning(Buki buki) { _preferredTimes = _preferredTimes + Convert.ToInt32(DoesPrefer(buki)); if (_preferredTimes == Constant.CountToSummon) { _sinmaState = SinmaState.Blessed; } }
public bool DoesPrefer(Buki buki) { if (buki == null) { return(false); } return(buki.IsSameAs(PreferredBackendBuki) || buki.IsSameAs(FirstPreferredFrontendBuki) || buki.IsSameAs(SecondPreferredFrontendBuki)); }
void WatchSigned(Buki buki) { // do nothing }
void WatchNosign(Buki buki) { // do nothing }
void WatchBlessed(Buki buki) { // do nothing }