コード例 #1
0
    public void OnDrag(DragManager.Drag drag)
    {
        float   delta    = drag.GetEnd().x - dragStartX;
        Vector2 position = transform.position;

        position.x  += delta;
        dragStartX  += delta;
        dragVelocity = +delta / Time.deltaTime;

        position.x = Mathf.Clamp(position.x, -(selectables.Length - 1) * spacing, 0);

        transform.position = position;


        isDraged = true;
    }
コード例 #2
0
    public void SpawnPlane(DragManager.Drag drag)
    {
        Vector2 start = drag.GetStart();
        Vector2 end   = drag.GetEnd();
        Vector2 dif   = end - start;

        DragManager.drags[1].OnDragEnded -= SpawnPlane;
        if ((dif).magnitude < 0.1f)
        {
            return;
        }


        planeButton.interactable     = false;
        planeButton.image.fillAmount = 0;
        GameObject planeObject = Instantiate(planePrefab, start - dif.normalized * 100, Quaternion.identity);

        planeObject.GetComponent <FirePlane>().SetUp(start, dif);
    }
コード例 #3
0
    public void OnSetDirectionEnded(DragManager.Drag drag)
    {
        Vector2 start  = drag.GetStart();
        Vector2 end    = drag.GetEnd();
        Vector2 dif    = (end - start);
        Vector2 dir    = dif.magnitude < 0.1f ? Vector2.up : dif.normalized;
        Vector2 right  = Vector3.Cross(dir.normalized, Vector3.forward).normalized;
        Vector2 offset = Vector2.zero;

        if (selectedUnits.Length > 1)
        {
            offset = -right.normalized * (selectedUnits[0].radius * selectedUnits.Length) / 2;
        }

        for (int i = 0; i < selectedUnits.Length; i++)
        {
            selectedUnits[i].CommandPosition(start + offset + right * i * selectedUnits[i].radius * 2, dif);
        }
        lineRenderer.enabled = false;
    }
コード例 #4
0
 public void OnDragBegan(DragManager.Drag drag)
 {
     dragStartX = drag.GetStart().x;
     isDraged   = true;
 }
コード例 #5
0
 public void OnDragEnded(DragManager.Drag drag)
 {
     isDraged = false;
 }
コード例 #6
0
 public void OnSelectionEnded(DragManager.Drag drag)
 {
     lineRenderer.enabled = false;
 }
コード例 #7
0
 public void AbortSpawnPlane(DragManager.Drag drag)
 {
     DragManager.drags[1].OnDragEnded -= SpawnPlane;
 }