예제 #1
0
        private MemorizeStage generateStage(int itemCount)
        {
            MemorizeRandomItemStage randomStage = new MemorizeRandomItemStage();

            randomStage.ItemCount = itemCount;
            return(randomStage);
        }
예제 #2
0
        private void prepareStages()
        {
            if (this.Entry.Stages.Count == 0 &&
                this.Entry.Items.Count >= 3)
            {
                int count = this.Entry.Items.Count;
                if (count > 20)
                {
                    count = 20;
                }
                for (int i = 3; i <= count; i++)
                {
                    if (this.exclusiveStageList.Contains(i))
                    {
                        continue;
                    }

                    this.Entry.Stages.Add(this.generateStage(i));
                }
            }
            else
            {
                List <MemorizeStage> tempList = new List <MemorizeStage>();
                foreach (var stage in this.Entry.Stages)
                {
                    if (stage is MemorizeRandomItemStage)
                    {
                        MemorizeRandomItemStage randStage = stage as MemorizeRandomItemStage;
                        if (this.exclusiveStageList.Contains(randStage.ItemCount))
                        {
                            tempList.Add(stage);
                        }
                    }
                    else if (stage is MemorizeMathStage)
                    {
                        MemorizeMathStage mathStage = stage as MemorizeMathStage;
                        if (this.exclusiveStageList.Contains(mathStage.ItemCount))
                        {
                            tempList.Add(stage);
                        }
                    }
                }

                foreach (var stage in tempList)
                {
                    this.Entry.Stages.Remove(stage);
                }
            }
        }