public Bounds GetCubeAreaBound(ECubeArea area) { int x = this.m_areaEnumToCoordinate[(uint)area, 0]; int y = this.m_areaEnumToCoordinate[(uint)area, 1]; int z = this.m_areaEnumToCoordinate[(uint)area, 2]; return(this.m_areaBound[x + 1, y + 1, z + 1]); }
private void InitCubeAreaSetting() { this.m_cubeAreaObject = new GameObject[26]; this.m_eAreaEnumLUT[0, 0, 0] = ECubeArea.XM_YM_ZM; this.m_eAreaEnumLUT[0, 0, 1] = ECubeArea.XM_YM; this.m_eAreaEnumLUT[0, 0, 2] = ECubeArea.XM_YM_ZP; this.m_eAreaEnumLUT[0, 1, 0] = ECubeArea.XM_ZM; this.m_eAreaEnumLUT[0, 1, 1] = ECubeArea.XM; this.m_eAreaEnumLUT[0, 1, 2] = ECubeArea.XM_ZP; this.m_eAreaEnumLUT[0, 2, 0] = ECubeArea.XM_YP_ZM; this.m_eAreaEnumLUT[0, 2, 1] = ECubeArea.XM_YP; this.m_eAreaEnumLUT[0, 2, 2] = ECubeArea.XM_YP_ZP; this.m_eAreaEnumLUT[1, 0, 0] = ECubeArea.YM_ZM; this.m_eAreaEnumLUT[1, 0, 1] = ECubeArea.YM; this.m_eAreaEnumLUT[1, 0, 2] = ECubeArea.YM_ZP; this.m_eAreaEnumLUT[1, 1, 0] = ECubeArea.ZM; this.m_eAreaEnumLUT[1, 1, 1] = ECubeArea.NONE; this.m_eAreaEnumLUT[1, 1, 2] = ECubeArea.ZP; this.m_eAreaEnumLUT[1, 2, 0] = ECubeArea.YP_ZM; this.m_eAreaEnumLUT[1, 2, 1] = ECubeArea.YP; this.m_eAreaEnumLUT[1, 2, 2] = ECubeArea.YP_ZP; this.m_eAreaEnumLUT[2, 0, 0] = ECubeArea.XP_YM_ZM; this.m_eAreaEnumLUT[2, 0, 1] = ECubeArea.XP_YM; this.m_eAreaEnumLUT[2, 0, 2] = ECubeArea.XP_YM_ZP; this.m_eAreaEnumLUT[2, 1, 0] = ECubeArea.XP_ZM; this.m_eAreaEnumLUT[2, 1, 1] = ECubeArea.XP; this.m_eAreaEnumLUT[2, 1, 2] = ECubeArea.XP_ZP; this.m_eAreaEnumLUT[2, 2, 0] = ECubeArea.XP_YP_ZM; this.m_eAreaEnumLUT[2, 2, 1] = ECubeArea.XP_YP; this.m_eAreaEnumLUT[2, 2, 2] = ECubeArea.XP_YP_ZP; const float cubeAreaAlphaValue = 0.3f; Material cubeAreaMat = Resources.Load("Prefab/CubeAreaMat") as Material; GameObject cubeAreaPrefab = Resources.Load("Prefab/pAreaCube") as GameObject; this.m_cubeAreaParent = GameObject.Instantiate(this.m_emptyGameObjectPrefab, this.m_cubeWorldTransform); this.m_cubeAreaParent.name = "CubeParent"; this.m_cubeAreaParent.SetActive(this.bCubeAreaDebuggingEnable); for (int i = 0; i < this.m_cubeAreaObject.Length; ++i) { this.m_cubeAreaObject[i] = GameObject.Instantiate(cubeAreaPrefab, this.m_cubeAreaParent.transform); } SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP], "CubeArea_X+", new Vector3(1f, 0f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM], "CubeArea_X-", new Vector3(-1f, 0f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YP], "CubeArea_Y+", new Vector3(0f, 1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YM], "CubeArea_Y-", new Vector3(0f, -1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.ZP], "CubeArea_Z+", new Vector3(0f, 0f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.ZM], "CubeArea_Z-", new Vector3(0f, 0f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YP], "CubeArea_X+Y+", new Vector3(1f, 1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YM], "CubeArea_X+Y-", new Vector3(1f, -1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YP], "CubeArea_X-Y+", new Vector3(-1f, 1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YM], "CubeArea_X-Y-", new Vector3(-1f, -1f, 0f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 0f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_ZP], "CubeArea_X+Z+", new Vector3(1f, 0f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_ZM], "CubeArea_X-Z+", new Vector3(1f, 0f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_ZP], "CubeArea_X-Z+", new Vector3(-1f, 0f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_ZM], "CubeArea_X-Z-", new Vector3(-1f, 0f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 0f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YP_ZP], "CubeArea_Y+Z+", new Vector3(0f, 1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YP_ZM], "CubeArea_Y-Z+", new Vector3(0f, 1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YM_ZP], "CubeArea_Y-Z+", new Vector3(0f, -1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.YM_ZM], "CubeArea_Y-Z-", new Vector3(0f, -1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(0f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YP_ZP], "CubeArea_X+Y+Z+", new Vector3(1f, 1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YP_ZM], "CubeArea_X+Y+Z-", new Vector3(1f, 1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YM_ZP], "CubeArea_X+Y-Z+", new Vector3(1f, -1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XP_YM_ZM], "CubeArea_X+Y-Z-", new Vector3(1f, -1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YP_ZP], "CubeArea_X-Y+Z+", new Vector3(-1f, 1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YP_ZM], "CubeArea_X-Y+Z-", new Vector3(-1f, 1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YM_ZP], "CubeArea_X-Y-Z+", new Vector3(-1f, -1f, 1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); SetCubeAreaGameObject(ref this.m_cubeAreaObject[(uint)ECubeArea.XM_YM_ZM], "CubeArea_X-Y-Z-", new Vector3(-1f, -1f, -1f), new Vector3(1f, 1f, 1f), ref cubeAreaMat, new Color(1f, 1f, 1f, cubeAreaAlphaValue)); for (int i = 0; i < this.m_cubeAreaObject.Length; ++i) { ECubeArea ae = (ECubeArea)i; int x = this.m_areaEnumToCoordinate[i, 0] + 1; int y = this.m_areaEnumToCoordinate[i, 1] + 1; int z = this.m_areaEnumToCoordinate[i, 2] + 1; // Get World Bound from Renderer this.m_areaBound[x, y, z] = this.m_cubeAreaObject[i].GetComponent <Renderer>().bounds; } }