Exemple #1
0
 public void SetColor(GameObject p)
 {
     bool cansetcolor = true;
     if (operater == null) {
         operater = FindObjectOfType <MagicCubeOperate> ();
     }
     MagicColor curcolor = operater.EditColor;
     if (cubecolor.ContainsKey (p)) {
         foreach (GameObject g in cubecolor.Keys) {
             if (g != p) {
                 if (!cubecolor [g].Equals (MagicColor.None)) {
                     if (cubecolor [g] == curcolor) {
                         cansetcolor = false;
                         break;
                     }
                     int index = (int)curcolor;
                     if (index >= 3 && (int)cubecolor [g] == index - 3) {
                         cansetcolor = false;
                         break;
                     } else if (index < 3 && (int)cubecolor [g] == index + 3) {
                         cansetcolor = false;
                         break;
                     }
                 }
             }
         }
         if (cansetcolor) {
             p.GetComponent <MeshRenderer> ().material.color = MyMapPrefab.ColorMap [curcolor];
             cubecolor [p] = curcolor;
         }
     }
 }
Exemple #2
0
    public void SetEditColor()
    {
        SingleBox[] boxes = FindObjectsOfType <SingleBox> ();
        foreach (SingleBox b in boxes)
        {
            b.InitColor();
        }
        // 设置编辑颜色的初始颜色
        MagicCubeOperate opetarer = FindObjectOfType <MagicCubeOperate> ();

        SingleBoxPiece[] pieces = FindObjectsOfType <SingleBoxPiece> ();
        foreach (SingleBoxPiece p in pieces)
        {
            if (Mathf.Abs(p.transform.position.x) < 1.25f &&
                Mathf.Abs(p.transform.position.y) < 1.25f &&
                Mathf.Abs(p.transform.position.z) < 1.25f)
            {
                p.GetComponent <MeshRenderer> ().material.color = new Color(0f, 0f, 0f, 0.5f);
                p.enabled = false;
            }
            else
            {
                SingleBox sb = p.GetComponentInParent <SingleBox> ();
                if (sb.myStyle.Equals(CubeStyle.Face))
                {
                    if (p.transform.position.x >= 1.25f)
                    {
                        opetarer.PickColor(MagicColor.Green);
                        sb.SetColor(p.gameObject);
                    }
                    else if (p.transform.position.x <= -1.25f)
                    {
                        opetarer.PickColor(MagicColor.Blue);
                        sb.SetColor(p.gameObject);
                    }
                    else if (p.transform.position.y >= 1.25f)
                    {
                        opetarer.PickColor(MagicColor.Yellow);
                        sb.SetColor(p.gameObject);
                    }
                    else if (p.transform.position.y <= -1.25f)
                    {
                        opetarer.PickColor(MagicColor.White);
                        sb.SetColor(p.gameObject);
                    }
                    else if (p.transform.position.z <= -1.25f)
                    {
                        opetarer.PickColor(MagicColor.Red);
                        sb.SetColor(p.gameObject);
                    }
                    else if (p.transform.position.z >= 1.25f)
                    {
                        opetarer.PickColor(MagicColor.Orange);
                        sb.SetColor(p.gameObject);
                    }
                }
            }
        }
    }
Exemple #3
0
    public void SetColor(GameObject p)
    {
        bool cansetcolor = true;

        if (operater == null)
        {
            operater = FindObjectOfType <MagicCubeOperate> ();
        }
        MagicColor curcolor = operater.EditColor;

        if (cubecolor.ContainsKey(p))
        {
            foreach (GameObject g in cubecolor.Keys)
            {
                if (g != p)
                {
                    if (!cubecolor [g].Equals(MagicColor.None))
                    {
                        if (cubecolor [g] == curcolor)
                        {
                            cansetcolor = false;
                            break;
                        }
                        int index = (int)curcolor;
                        if (index >= 3 && (int)cubecolor [g] == index - 3)
                        {
                            cansetcolor = false;
                            break;
                        }
                        else if (index < 3 && (int)cubecolor [g] == index + 3)
                        {
                            cansetcolor = false;
                            break;
                        }
                    }
                }
            }
            if (cansetcolor)
            {
                p.GetComponent <MeshRenderer> ().material.color = MyMapPrefab.ColorMap [curcolor];
                cubecolor [p] = curcolor;
            }
        }
    }
Exemple #4
0
 void Start()
 {
     operater = FindObjectOfType <MagicCubeOperate> ();
 }
Exemple #5
0
 void Start()
 {
     operater = FindObjectOfType <MagicCubeOperate> ();
 }
Exemple #6
0
 void Start()
 {
     AdjustPos ();
     operater = FindObjectOfType <MagicCubeOperate> ();
 }
Exemple #7
0
 void Start()
 {
     AdjustPos();
     operater = FindObjectOfType <MagicCubeOperate> ();
 }