コード例 #1
0
 public TimerTests()
 {
     _timerActor              = new TimerActor();
     _timerId                 = Guid.NewGuid();
     _elapsedEvents           = new ConcurrentBag <object>();
     _cancellationTokenSource = new CancellationTokenSource();
 }
コード例 #2
0
        private static ActorInstanceLayer GetActorInstanceLayer()
        {
            var           playerActor         = new PlayerActor();
            ActorInstance playerActorInstance = playerActor.CreateActorInstance(
                BoardId,
                new Coordinate(4, 4),
                new EventHandlerCollection(new PlayerTouchedPlayerActorInstanceEventHandler()));
            var           soundEffectActor          = new SoundEffectsActor();
            ActorInstance soundEffectsActorInstance = soundEffectActor.CreateActorInstance(
                BoardId,
                new Coordinate(7, 4),
                new EventHandlerCollection(new PlayerTouchedSoundEffectActorInstanceEventHandler()));
            var           songActor          = new SongsActor();
            ActorInstance songActorsInstance = songActor.CreateActorInstance(
                BoardId,
                new Coordinate(10, 4),
                new EventHandlerCollection(new PlayerTouchedSongActorInstanceEventHandler()));
            var           timerActor         = new TimerActor();
            ActorInstance timerActorInstance = timerActor.CreateActorInstance(
                TimerActorInstanceId,
                BoardId,
                new Coordinate(13, 4),
                new EventHandlerCollection(new PlayerTouchedTimerActorInstanceEventHandler()));

            return(new ActorInstanceLayer(BoardId, BoardSize, playerActorInstance, soundEffectsActorInstance, songActorsInstance, timerActorInstance));
        }
コード例 #3
0
        public void Dispose()
        {
            _timerActor = null;
            _timerId    = Guid.Empty;

            _elapsedEvents = null;

            _cancellationTokenSource = null;
        }
コード例 #4
0
    public override void EnterScene(object state)
    {
        // BGM再生
        gc.PlaySound(GcSound.Bgm_game, loop: true);

        // 時間初期化
        _startTime = gc.TimeSinceStartup;

        // 男の子の追加
        gc.CreateActor <BoyActor>();

        // タイマーの追加
        _timerActor = new TimerActor(0, new int2(gc.CanvasWidth, 0));
        gc.AddActor(_timerActor);

        // 爆弾個数表示の追加
        gc.AddActor(new BombCountActor(BombCount));

        // ゲームの状態の初期化
        _minesweeperBoard = new MinesweeperBoard(gc, BoardSize, BombCount);

        // セルボタンの初期化
        _cellArray = new ButtonActor[BoardSize.x][];
        for (var x = 0; x < BoardSize.x; x++)
        {
            _cellArray[x] = new ButtonActor[BoardSize.y];

            for (var y = 0; y < BoardSize.y; y++)
            {
                var pos  = _boardPadding + _cellImageSize + new float2(_cellImageSize.x * x, _cellImageSize.y * y);
                var cell = new ButtonActor(GcImage.Cell_dummy, GcAnchor.UpperLeft, pos);

                _cellArray[x][y] = cell;
                gc.AddActor(cell);
            }
        }
    }