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; }
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); }