예제 #1
0
        public Reward GetLastGivenReward()
        {
            int idx = RewardStorage.GetLastSeqIdxGiven(this);

            if (idx < 0)
            {
                return(null);
            }
            return(Rewards[idx]);
        }
예제 #2
0
        protected override bool takeInner()
        {
            int idx = RewardStorage.GetLastSeqIdxGiven(this);

            if (idx <= 0)
            {
                return(false);                // all rewards in the sequence were taken
            }
            RewardStorage.SetLastSeqIdxGiven(this, --idx);
            return(true);
        }
예제 #3
0
        protected override bool giveInner()
        {
            int idx = RewardStorage.GetLastSeqIdxGiven(this);

            if (idx >= Rewards.Count)
            {
                return(false);                // all rewards in the sequence were given
            }
            RewardStorage.SetLastSeqIdxGiven(this, ++idx);
            return(true);
        }
예제 #4
0
 public bool HasMoreToGive()
 {
     return(RewardStorage.GetLastSeqIdxGiven(this) < Rewards.Count);
 }