Example #1
0
    public void RotateLayerCCW(ELayer aLayer)
    {
        var layer = this[aLayer];

        this[aLayer] = layer.RotateCCW();
        StartCoroutine(RotateLayer(layer, 90f, 4f));
    }
Example #2
0
        protected override void Initialize()
        {
            lower  = new List <Tile>();
            middle = new List <Tile>();
            top    = new List <Tile>();

            currentLayer = ELayer.MIDDLE;

            this.IsMouseVisible = true;
            base.Initialize();

            controller = new ControllerForm(this);
            controller.Show();

            selector = new Selector(this);

            loadNew();
        }
Example #3
0
    public void RotateLayer(ELayer aLayer, bool aClockwise)
    {
        // THE FOLLOWING IS COMMENTED OUT BECAUSE WE DO NOT WANT DUMMY CUBES TO CHANGE (not elegant, but works)

        // // Preventing touch interference
        // if (m_Rotating ||
        //     largeCollider.GetComponent<MultiTouchRubiksRotate>().m_largeRotating
        //     //|| !largeCollider.GetComponent<MultiTouchRubiksRotate>().startedOnCube
        //     )
        // {
        //     return;
        // }

        // if (aClockwise)
        //     RotateLayerCW(aLayer);
        // else
        //     RotateLayerCCW(aLayer);
    }
Example #4
0
    public void RotateLayer(ELayer aLayer, bool aClockwise)
    {
        // Preventing touch interference,
        // ... BUT we DO want rotation to occur if outside master cube is forcing it.
        if (m_Rotating ||
            (largeCollider.GetComponent <MultiTouchRubiksRotate>().m_largeRotating&& !masterRotating)
            )
        {
            return;
        }

        if (aClockwise)
        {
            RotateLayerCW(aLayer);
        }
        else
        {
            RotateLayerCCW(aLayer);
        }
    }
Example #5
0
        public void setLayer(ELayer layer)
        {
            Game1.setLayer(layer);
            if (Game1.selector != null)
            {
                Game1.selector.setSelected(null);
            }
            switch (layer)
            {
            case ELayer.LOWER:
                btnLow.BackColor    = Color.Orange;
                btnMiddle.BackColor = Color.LightSlateGray;
                btnTop.BackColor    = Color.LightSlateGray;
                btnEnemy.Enabled    = false;
                btnProp.Enabled     = false;
                btnFan.Enabled      = false;
                break;

            case ELayer.MIDDLE:
                btnLow.BackColor    = Color.LightSlateGray;
                btnMiddle.BackColor = Color.Orange;
                btnTop.BackColor    = Color.LightSlateGray;
                btnEnemy.Enabled    = true;
                btnProp.Enabled     = true;
                btnFan.Enabled      = true;
                break;

            case ELayer.TOP:
                btnLow.BackColor    = Color.LightSlateGray;
                btnMiddle.BackColor = Color.LightSlateGray;
                btnTop.BackColor    = Color.Orange;
                btnEnemy.Enabled    = false;
                btnProp.Enabled     = false;
                btnFan.Enabled      = false;
                break;
            }
        }
Example #6
0
 public static void setLayer(ELayer layer)
 {
     currentLayer = layer;
 }
Example #7
0
    public CubeLayer this[ELayer layer]
    {
        get {
            var c = Cubes;
            switch (layer)
            {
            default:                                                                                                                // Old non-functional directions:
            case ELayer.F: return(new CubeLayer(c[10], c[0], c[9], c[18], c[19], c[20], c[11], c[2], c[1], Vector3.right));         //Vector3.forward

            case ELayer.R: return(new CubeLayer(c[14], c[2], c[11], c[20], c[23], c[26], c[17], c[8], c[5], Vector3.forward));      //-Vector3.right

            case ELayer.U: return(new CubeLayer(c[22], c[18], c[21], c[24], c[25], c[26], c[23], c[20], c[19], -Vector3.up));

            case ELayer.L: return(new CubeLayer(c[12], c[6], c[15], c[24], c[21], c[18], c[9], c[0], c[3], -Vector3.forward));          //Vector3.right

            case ELayer.B: return(new CubeLayer(c[16], c[6], c[7], c[8], c[17], c[26], c[25], c[24], c[15], -Vector3.right));           //-Vector3.forward

            case ELayer.D: return(new CubeLayer(c[4], c[0], c[1], c[2], c[5], c[8], c[7], c[6], c[3], Vector3.up));

            case ELayer.M: return(new CubeLayer(c[13], c[19], c[10], c[1], c[4], c[7], c[16], c[25], c[22], -Vector3.forward));         //Vector3.right

            case ELayer.E: return(new CubeLayer(c[13], c[9], c[10], c[11], c[14], c[17], c[16], c[15], c[12], Vector3.up));

            case ELayer.S: return(new CubeLayer(c[13], c[3], c[12], c[21], c[22], c[23], c[14], c[5], c[4], Vector3.right));            //Vector3.forward
            }
        }
        set
        {
            var c = Cubes;
            var v = value;
            switch (layer)
            {
            case ELayer.F:
                c[10] = v.center;
                c[0]  = v.c0; c[9] = v.c1; c[18] = v.c2; c[19] = v.c3;
                c[20] = v.c4; c[11] = v.c5; c[2] = v.c6; c[1] = v.c7;
                break;

            case ELayer.R:
                c[14] = v.center;
                c[2]  = v.c0; c[11] = v.c1; c[20] = v.c2; c[23] = v.c3;
                c[26] = v.c4; c[17] = v.c5; c[8] = v.c6; c[5] = v.c7;
                break;

            case ELayer.U:
                c[22] = v.center;
                c[18] = v.c0; c[21] = v.c1; c[24] = v.c2; c[25] = v.c3;
                c[26] = v.c4; c[23] = v.c5; c[20] = v.c6; c[19] = v.c7;
                break;

            case ELayer.L:
                c[12] = v.center;
                c[6]  = v.c0; c[15] = v.c1; c[24] = v.c2; c[21] = v.c3;
                c[18] = v.c4; c[9] = v.c5; c[0] = v.c6; c[3] = v.c7;
                break;

            case ELayer.B:
                c[16] = v.center;
                c[6]  = v.c0; c[7] = v.c1; c[8] = v.c2; c[17] = v.c3;
                c[26] = v.c4; c[25] = v.c5; c[24] = v.c6; c[15] = v.c7;
                break;

            case ELayer.D:
                c[4] = v.center;
                c[0] = v.c0; c[1] = v.c1; c[2] = v.c2; c[5] = v.c3;
                c[8] = v.c4; c[7] = v.c5; c[6] = v.c6; c[3] = v.c7;
                break;

            case ELayer.M:
                c[13] = v.center;
                c[19] = v.c0; c[10] = v.c1; c[1] = v.c2; c[4] = v.c3;
                c[7]  = v.c4; c[16] = v.c5; c[25] = v.c6; c[22] = v.c7;
                break;

            case ELayer.E:
                c[13] = v.center;
                c[9]  = v.c0; c[10] = v.c1; c[11] = v.c2; c[14] = v.c3;
                c[17] = v.c4; c[16] = v.c5; c[15] = v.c6; c[12] = v.c7;
                break;

            case ELayer.S:
                c[13] = v.center;
                c[3]  = v.c0; c[12] = v.c1; c[21] = v.c2; c[22] = v.c3;
                c[23] = v.c4; c[14] = v.c5; c[5] = v.c6; c[4] = v.c7;
                break;
            }
        }
    }