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; }
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; } }