void Update() { if (Input.GetMouseButtonUp(0)) { //Debug.Log("OnPointerUp hasExit:" + hasExit + " downUnit:" + downUnit); if (dragUnit != null) { dragUnit.EndDrag(); if (enterUnit != downUnit) { DragControlUnit(downUnit, enterUnit); } } else if (downUnit != null) { if (!hasExit && enterUnit == downUnit) { ClickControlUnit(enterUnit); } } downUnit = enterUnit = null; hasExit = false; hasDragCheck = false; dragUnit = null; } else if (Input.GetMouseButton(0)) { if (!hasDragCheck && downUnit != null && Vector2.Distance(downPos, Input.mousePosition) > 10.0f) { StartDrag(); } } if (Input.GetKeyUp(KeyCode.F5)) { RequestRefreshData(); } }
private void StartDrag() { hasDragCheck = true; if (downUnit is SeatUnit) { WorkerUnit worker = (downUnit as SeatUnit).GetWorker(); if (worker != null) { dragUnit = worker; } } else if (downUnit is DishResultContainer) { DishResultUnit unit = (downUnit as DishResultContainer).result; if (unit != null) { dragUnit = unit; } } else if (downUnit is DishResultBt) { DishResultUnit unit = (downUnit as DishResultBt).dish.resultUnit; if (unit != null) { dragUnit = unit; } } if (dragUnit != null) { dragUnit.StartDrag(); ClearSelectedUnitList(); } }
public void OnPointerDown(ControlUnit _unit) { //Debug.Log("OnPointerDown:" + _unit); if (_unit is Background) { ClickControlUnit(_unit); downUnit = enterUnit = null; } else { downPos = Input.mousePosition; enterUnit = downUnit = _unit; } hasExit = false; hasDragCheck = false; dragUnit = null; }