Exemple #1
0
        public CubeWrapper(MathScramble app, Cube cube, int seq)
        {
            mApp = app;
            mCube = cube;
            mCube.userData = this;
            mSpriteIndex = 0;
            //mRectColor = new Color (36, 182, 255);
            //mSelectColor = new Color (255, 0, 0);
            mRotation = 0;
            mCube.TiltEvent += OnTilt;
            mIndex = seq;

            mCube.ButtonEvent += HandleCubeButtonEvent;
            mCube.ShakeStartedEvent += HandleMCubeShakeStartedEvent;

            //Init the State Machine
            mRole = mApp.cubeStates [seq - 1];
            InitStateMachine ();

            //
            mValue = mRole.GenerateValue ();
            mColor = mRole.mColor;
            mSize = mRole.mSize;

            /*
            if (mCubeStateMachine.Current == Constants.HintState) {
                mNeedDraw = true;
                Tick ();
            }*/

            //
        }
Exemple #2
0
        // called during intitialization, before the game has started to run
        public override void Setup()
        {
            Log.Debug ("Setup()");

            //Initially, check all the cubes
            mNeedCheck = true;

            System.Version myVersion = System.Reflection.Assembly.GetExecutingAssembly ().GetName ().Version;
            Log.Debug (myVersion.ToString ());

            //Init Cube roles
            cubeStates = new CubeRole[6];
            cubeStates [0] = new CubeRole (Constants.HintState, Constants.tTitleToHintState, -1, -1, System.Drawing.Color.Black);
            cubeStates [1] = new CubeRole (Constants.OperandState, Constants.tTitleToOperandState, Constants.kOperandMin, Constants.kOperandMax, System.Drawing.Color.Orange);
            cubeStates [2] = new CubeRole (Constants.OperatorState, Constants.tTitleToOperatorState, Constants.kOperatorMin, Constants.kOperatorMax, System.Drawing.Color.Black);
            cubeStates [3] = new CubeRole (Constants.OperandState, Constants.tTitleToOperandState, Constants.kOperandMin, Constants.kOperandMax, System.Drawing.Color.Red);
            cubeStates [4] = new CubeRole (Constants.ResultState, Constants.tTitleToResultState, 5, 5, System.Drawing.Color.Blue);
            cubeStates [5] = new CubeRole (Constants.OperandState, Constants.tTitleToOperandState, Constants.kOperandMin, Constants.kOperandMax, System.Drawing.Color.Green);

            // Loop through all the cubes and set them up.
            lastIndex = 1;
            foreach (Cube cube in CubeSet) {

                CubeWrapper wrapper = new CubeWrapper (this, cube, lastIndex);
                lastIndex += 1;
                mWrappers.Add (wrapper);
            }

            //Event Listeners
            this.PauseEvent += OnPause;
            this.UnpauseEvent += OnUnpause;
            CubeSet.NewCubeEvent += OnNewCube;
            CubeSet.LostCubeEvent += OnLostCube;
            CubeSet.NeighborAddEvent += OnNeighborAdd;
            CubeSet.NeighborRemoveEvent += OnNeighborRemove;
        }