public void PreviewAction(CubeData data) { if (mode == PreviewMode.cube) { byte d; if (controlType == CharacherCubeControlType.add) { d = data.ToByte(); } else { d = 0; } grid.SetCubeData(transform.position, data.ToByte()); } else { if (controlType == CharacherCubeControlType.copy) { Debug.Log("getorientate:" + PreviewOrientate); GetDataFromPreviewBox(PreviewOrientate); } else { SetDataFromPreviewBox(PreviewOrientate); } } }
void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (CubeController.Instence.GetMouseRayPoint(ray, out Vector3 pa, out Vector3 pb)) { grid.SetCubeData(pb, 0); } } }
void CubeControlUpdate() { if (Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject() && CheckGround()) { animator.SetTrigger("Build"); ParticleSystem p = Instantiate(destroy); if (controlType == CharacherCubeControlType.add) { CubeData data = new CubeData(true, false, CubeOrientate.front, cubeType); grid.SetCubeData(va, data.ToByte()); p.transform.position = va; } else { grid.SetCubeData(vr, byte.MinValue); p.transform.position = vr; } p.Play(); } }
IEnumerator Building(Vector3 target) { Vector3 dir = (target - transform.position).normalized; dir.y = 0; transform.forward = dir; animator.SetTrigger("Build"); ParticleSystem partic = Instantiate(p); partic.transform.position = target; partic.Play(); CubeData data = CubeData.ToCubeData(grid.GetCubeData(target)); data.isTransparent = false; grid.SetCubeData(target, data.ToByte()); SetInfo(); yield return(new WaitForSeconds(0.5f)); }