public override void OnUpdate() { base.OnUpdate(); if (RTSCamera == null || CameraHight == float.NaN) { return; } if (BattleMgr.IsInBattle) { var data = SettingsData; float speedFaction = 1; if (IsLowHight) { speedFaction = 0.9f; } else if (IsNearHight) { speedFaction = 0.8f; } RTSCamera.DesktopMoveDragSpeed = (ZoomPercent * RTSCamera.desktopMoveDragSpeed) * data.CameraMoveSpeed * speedFaction; RTSCamera.DesktopMoveSpeed = (ZoomPercent * RTSCamera.desktopMoveSpeed) * data.CameraMoveSpeed * speedFaction; RTSCamera.DesktopScrollSpeed = (RTSCamera.desktopScrollSpeed) * data.CameraScrollSpeed; if (Input.GetMouseButtonDown(2)) { Vector3 pos = SelfBaseGlobal.ScreenMgr.GetMouseHitPoint(); RTSCamera.JumpToTargetForMain(SelfBaseGlobal.GetTransform(pos)); } bool isOnUI = BaseUIUtils.CheckGuiObjects(); RTSCamera.MouseScrollControl(!isOnUI); RTSCamera.MouseDragControl(!isOnUI); RTSCamera.ControlDisabled.Set(BaseView.IsFullScreenState.IsIn()); } }
protected virtual void OnTouchUp(Vector3 mousePosition, int i) { if (i == 1) { } else if (i == 0) { if (!BaseUIUtils.CheckGuiObjects() && LastHitCollider == null && IsSameMousePtClick()) { SelectUnit(null); } } }
protected virtual void OnTouchDown(Vector3 mousePosition, int i) { LastMouseDownPos = Input.mousePosition; RaycastHit hit; MouseRayCast(out hit, SelectUnitLayerMask); { if (BaseUIUtils.CheckGuiObjects()) { return; } LastHitCollider = hit.collider; if (i == 1)//右键 { if (LastHitCollider != null) { BaseUnit tempUnit = LastHitCollider.GetComponent <BaseUnit>(); if (tempUnit != null) { RightClickUnit(tempUnit); } } } else if (i == 0)//左键 { if (LastHitCollider != null) { BaseUnit tempUnit = LastHitCollider.GetComponent <BaseUnit>(); if (tempUnit != null) { SelectUnit(tempUnit); LeftClickUnit(tempUnit); } } } } }