/// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="target"></param>
        /// <param name="controlMediator"></param>
        public MinoStateManager(Tetrimino target, IControllerMediator controlMediator, IGameMediator gameMediator)
        {
            //引数受け取り
            SetTarget(target);
            this.controlMediator = controlMediator;
            this.gameMediator    = gameMediator;

            //各種変数の初期化
            landON      = false;
            IsLocked    = false;
            inputFallON = false;

            //ディクショナリを初期化
            minoSpeedDict = new Dictionary <int, float>()
            {
                { 1, 1.0f },
                { 2, 0.8f },
                { 3, 0.7f },
                { 4, 0.6f },
                { 5, 0.5f },
                { 6, 0.35f },
                { 7, 0.25f },
                { 8, 0.17f },
                { 9, 0.12f },
                { 10, 0.05f },
            };
            currentLv = 1;

            landTimer      = new CountDown_Timer(1.5f);
            fallTimer      = new CountDown_Timer(minoSpeedDict[currentLv]);
            inputFallTimer = new CountDown_Timer(0.2f);
        }
示例#2
0
        private IGameMediator gameMediator;          //ゲーム仲介者

        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="target">制御を行うテトリミノオブジェクト</param>
        /// <param name="jagArrayData">制御対象のテトリミノが含まれるフィールドデータ</param>
        /// <param name="controlMediator">テトリミノの制御の仲介者</param>
        public MinoCordinateController(Tetrimino target, IControllerMediator controlMediator, IGameMediator gameMediator)
        {
            SetTarget(target);
            this.controlMediator = controlMediator;
            this.field           = controlMediator.GetFieldArray();
            this.gameMediator    = gameMediator;
            CanMove = true;
        }
示例#3
0
        public NextMinoBoard(IControllerMediator mediator)
        {
            this.mediator  = mediator;
            nextMinos      = mediator.GetNextMinos();
            holdMino       = null;
            middleKeepMino = null;

            CanHold = true;
        }
示例#4
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="target">移動処理を施したいテトリミノ</param>
        /// <param name="mediator"></param>
        public MinoMove(Tetrimino target, IControllerMediator mediator)
        {
            //引数受け取り
            SetTarget(target);
            this.mediator = mediator;

            sound = DeviceManager.CreateInstance().GetSound();

            //移動量をゼロで初期化
            moveValue = Vector2.Zero;
        }
示例#5
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="setData">審判に使う配列データ</param>
 /// <param name="mediator"></param>
 public LineJudgement(IControllerMediator mediator)
 {
     this.mediator  = mediator;
     this.judgeData = mediator.GetFieldArray();
     device         = DeviceManager.CreateInstance();
 }