Esempio n. 1
0
        private void ZAxisHandle()
        {
            Handles.color = Handles.zAxisColor;
            var screenHandlePos = Isometric.IsoToScreen(_isoHandlePos);
            var deltaMovement   = Handles.Slider(screenHandlePos, Isometric.IsoToScreen(Vector3.forward)) - screenHandlePos;

            if (!(Mathf.Abs(deltaMovement.y) > Mathf.Epsilon))
            {
                return;
            }
            ApplyZAxisChanges(deltaMovement.y);
            _isoHandlePos = _selectedObjects.Aggregate(Vector3.zero, (runningSum, t) => runningSum + t.Position) / _selectedObjects.Count;
        }
Esempio n. 2
0
    public void init()
    {
        float x = transform.position.x;
        float y = transform.position.y;

        Camera  camera = GetComponent <Camera>();
        Vector3 p      = camera.ScreenToWorldPoint(new Vector3(0, 0, camera.nearClipPlane));
        Vector3 b      = camera.ScreenToWorldPoint(new Vector3(0, 150, camera.nearClipPlane));

        Vector3 left = (Vector3)Isometric.IsoToScreen(new Vector3(0, 0, GridManager.get().size + 1));

        xmin = left.x + x - p.x;
        Vector3 right = (Vector3)Isometric.IsoToScreen(new Vector3(GridManager.get().size + 1, 0, 0));

        xmax = right.x - x + p.x;
        Vector3 bottom = (Vector3)Isometric.IsoToScreen(new Vector3(0, 0, 0));

        ymin = bottom.y + b.y - p.y;
        Vector3 top = (Vector3)Isometric.IsoToScreen(new Vector3(GridManager.get().size + 2, 0, GridManager.get().size + 2));

        ymax = top.y - y + p.y;

        lastFrame = (float)Time.time;
    }
 public override void Resolve(IsoTransform isoTransform)
 {
     isoTransform.transform.position = Isometric.IsoToScreen(isoTransform.Position);
     _entities.Add(isoTransform);
 }