Ejemplo n.º 1
0
        public override void Do()
        {
            int v = 0;

            while (v < cntr.array.Length)
            {
                int          count = RandomHelper.Range(1, cntr.size + 1);
                CombinedCube cube  = new CombinedCube();
                Vector3Int   c     = Vector3Int.zero;
                for (int i = 0; i < count; i++)
                {
                    if (i == 0)
                    {
                        c = cntr.devided(v);
                        cube.vertxes.Add(Vector3Int.zero);
                    }
                    else
                    {
                        cube.vertxes.Add(cntr.devided(v) - c);
                    }
                    v++;
                }
                combined.blocks.Add(cube);
            }
            Condition = true;
        }
Ejemplo n.º 2
0
        void SetUI(CombinedCube block, Transform parent)
        {
            var     prefabui = prefab.prefabs.transform.Find("UI");
            Vector3 center   = Vector3.zero;

            //for (int i = 0; i < block.vertxes.Count; i++)
            //{
            //    center += (Vector3)block.vertxes[i];
            //}
            //center /= block.vertxes.Count;
            for (int j = 0; j < block.vertxes.Count; j++)
            {
                var clone = Object.Instantiate(prefabui);
                clone.parent           = parent;
                clone.localPosition    = (block.vertxes[j] - center) * clone.localScale.x;
                clone.localScale      *= 0.8f;
                clone.gameObject.layer = LayerMask.NameToLayer("UI");
                var r = clone.GetComponent <MeshRenderer>();
                r.receiveShadows    = false;
                r.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            }
        }