コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
    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);
            }
        }
    }
コード例 #3
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();
        }
    }
コード例 #4
0
    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));
    }