示例#1
0
        public User(
            ISoulBinder binder,
            IAccountFinder account_finder,
            IFishStageQueryer queryer,
            IGameRecorder game_record_handler,
            ITradeNotes trade_account)
        {
            _Machine = new StageMachine();

            _Binder           = binder;
            _AccountFinder    = account_finder;
            _FishStageQueryer = queryer;
            var locks = new[]
            {
                new StageLock
                {
                    KillCount = 200,
                    Stage     = 3
                }
            };

            _StageTicketInspector = new StageTicketInspector(new StageGate(locks));

            _GameRecorder = game_record_handler;

            _TradeAccount = trade_account;
        }
示例#2
0
        public void TestPassStageTicketInspector()
        {
            var locks = new[]
            {
                new StageLock
                {
                    Requires = new[]
                    {
                        1,
                        2
                    },
                    Stage = 3
                }
            };
            var sg = new StageGate(locks);
            var sti = new StageTicketInspector(sg);
            sti.Initial(
                new[]
                {
                    new Stage
                    {
                        Id = 1,
                        Pass = false
                    },
                    new Stage
                    {
                        Id = 2,
                        Pass = false
                    },
                    new Stage
                    {
                        Id = 4,
                        Pass = false
                    }
                });

            sti.Pass(1);

            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 1));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 2));
            Assert.AreEqual(false, sti.PlayableStages.Any(Stage => Stage == 3));

            sti.Pass(2);

            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 1));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 2));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 3));
        }
示例#3
0
文件: User.cs 项目: jiowchern/Regulus
        public User(ISoulBinder binder, IAccountFinder account_finder, IFishStageQueryer queryer, IGameRecorder game_record_handler, ITradeNotes trade_account)
        {
            _Machine = new StageMachine();

            _Binder = binder;
            _AccountFinder = account_finder;
            _FishStageQueryer = queryer;
            var locks = new[]
            {
                new StageLock
                {
                    KillCount = 200,
                    Stage = 3
                }
            };
            _StageTicketInspector = new StageTicketInspector(new StageGate(locks));

            _GameRecorder = game_record_handler;

            _TradeAccount = trade_account;
        }
示例#4
0
        public void TestKillStageTicketInspector()
        {
            var locks = new[]
            {
                new StageLock
                {
                    KillCount = 10,
                    Stage = 3
                }
            };
            var sg = new StageGate(locks);
            var sti = new StageTicketInspector(sg);
            sti.Initial(
                new[]
                {
                    new Stage
                    {
                        Id = 1,
                        Pass = false
                    },
                    new Stage
                    {
                        Id = 2,
                        Pass = false
                    }
                });

            sti.Kill(1);
            sti.Pass(2);

            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 1));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 2));
            Assert.AreEqual(false, sti.PlayableStages.Any(Stage => Stage == 3));

            sti.Kill(9);

            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 1));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 2));
            Assert.AreEqual(true, sti.PlayableStages.Any(Stage => Stage == 3));
        }