//// 通过手指截屏 //public void TouchCaptureScreenImage() //{ // if (Input.GetMouseButtonDown(0)) // { // beginTouch = Input.mousePosition; // } // if (Input.GetMouseButtonUp(0)) // { // endTouch = Input.mousePosition; // MyMono.MyStartCoroutine(TouchCaptureImage, this, null); // captureTime = 0; // } //} // 自动截图 public void AoutCaptureScreenImage() { CameraClearFlags cameraClearFlags = camera.clearFlags; camera.clearFlags = CameraClearFlags.SolidColor; MyMono.MyStartCoroutine(AoutCaptureImage, this, camera); camera.clearFlags = cameraClearFlags; }
public override void StartLoad() { base.StartLoad(); localHas = false; if (cacheManager != null) { localHas = cacheManager.HasCached(httpUrl); //Debug.LogError(httpUrl + " localHas == " + localHas); } MyMono.MyStartCoroutine(load, this, null); }
public override void StartLoad() { base.StartLoad(); //加载的Json不保存 //ResourcesPool.LoadPoolData data; //if (resourcePool.TryGet(url, out data)) //{ // data.newUseTime = Time.realtimeSinceStartup; // MyCallLater.Add(LoadInPool, 0, data); // return; //} MyMono.MyStartCoroutine(LoadCache, this, url); }
public override void enter() { base.enter(); //if (string.IsNullOrEmpty(SchemeManifest.Instance.name)) //{ // UITool.SetActionTrue(mainpage.saveScheme.gameObject); //} if (inputMachine.currentInputIs2D) { inputMachine.setState(FreeState2D.NAME); } else { inputMachine.setState(FreeState3D.NAME); } //临时 //SaveOffer(); //正式 MyMono.MyStartCoroutine(Func, this); }
protected override void stopLoad() { MyMono.MyStopCoroutine(load, this, null); base.stopLoad(); }
protected override void stopLoad() { MyMono.MyStopCoroutine(LoadCache, this, url); base.stopLoad(); }
public override void exit() { MyMono.MyStopCoroutine(MoveRotate, this); curData.ReadCamera(target); base.exit(); }
public override void mPhoneUpdate() { base.mPhoneUpdate(); if (uguiHitUI.uiHited == true) { if (Input.touchCount == 1) { Touch touch = Input.GetTouch(0); Vector3 v3 = touch.position; oldPos1 = v3; } return; } bool changed = false; bool isUnnormalRotate = inputMachine.CurrentState is SetMaterialState || inputMachine.CurrentState is PlaceGoodsState3D;// || inputMachine.CurrentState is SelectState3D; SelectGoodsState3D state = inputMachine.CurrentState as SelectGoodsState3D; if (state != null) { isUnnormalRotate = state.canMove || state.onhandle; } if (currentCount != Input.touchCount) { currentCount = Input.touchCount; if (currentCount == 1) { Touch touch0 = Input.GetTouch(0); oldPos1 = touch0.position; } else if (currentCount == 2) { Touch touch0 = Input.GetTouch(0); Touch touch1 = Input.GetTouch(1); oldDis = (touch0.position - touch1.position).magnitude; oldPos = (touch0.position + touch1.position) / 2f; } changed = true; } if (Input.touchCount == 1) { Touch touch = Input.GetTouch(0); Vector3 v3 = touch.position; if (touch.phase == TouchPhase.Began) { oldPos1 = v3; offsetList.Clear(); MyMono.MyStopCoroutine(MoveRotate, this); } else if ((touch.phase == TouchPhase.Moved || touch.phase == TouchPhase.Ended) && isUnnormalRotate == false) { if (oldPos1.x == v3.x && oldPos1.y == v3.y) { return; } Vector2 offset = v3 - oldPos1; offsetList.Add(offset); if (offsetList.Count > offsetCount) { offsetList.RemoveAt(0); } oldPos1 = v3; Rotate(offset); changed = true; if (touch.phase == TouchPhase.Ended) { MyMono.MyStartCoroutine(MoveRotate, this); } } } else if (Input.touchCount == 2) { Touch touch0 = Input.GetTouch(0); Touch touch1 = Input.GetTouch(1); if (touch0.phase == TouchPhase.Began || touch1.phase == TouchPhase.Began) { oldDis = (touch0.position - touch1.position).magnitude; ///移动时的旧位置 oldPos = (touch0.position + touch1.position) / 2f; changed = true; MyMono.MyStopCoroutine(MoveRotate, this); } else if (touch0.phase == TouchPhase.Moved || touch1.phase == TouchPhase.Moved) { float dis = (touch0.position - touch1.position).magnitude; float delta = (dis - oldDis) / 100f; if (delta != 0) { Vector3 pos = target.transform.position; float curdis = Vector3.Distance(pos, cameraFocasCenter); float f = (curdis - settings.minFreeViewDis) / (settings.maxFreeViewDis - settings.minFreeViewDis); float speed = 0.005f; if (f * scaleMulti > speed) { speed = f * scaleMulti; } f -= delta * speed; curdis = Mathf.Lerp(settings.minFreeViewDis, settings.maxFreeViewDis, f); pos = cameraFocasCenter + curdis * (pos - cameraFocasCenter).normalized; SetMainCameraPos(pos); changed = true; machine.dispatchEvent(new CameraEvent(CameraEvent.ScaleChange)); machine.dispatchEvent(new CameraEvent(CameraEvent.ViewChange)); } oldDis = dis; Vector2 curpos = (touch0.position + touch1.position) / 2f; Vector2 deltaPos = curpos - (Vector2)oldPos; if (deltaPos != Vector2.zero) { Vector3 pos = target.transform.position; float focaseDis = Vector3.Distance(pos, focaseP); Vector3 offset = GetRayPoint(curpos, focaseDis) - GetRayPoint(oldPos, focaseDis); Vector3 moved = -offset; oldPos = curpos; Vector3 modedPos = pos + moved; modedPos.y = modedPos.y < settings.minFreeViewDis ? settings.minFreeViewDis : modedPos.y; modedPos.y = modedPos.y > settings.maxFreeViewDis ? settings.maxFreeViewDis : modedPos.y; SetMainCameraPos(modedPos, false); moved = modedPos - pos; focaseP += moved; changed = true; machine.dispatchEvent(new CameraEvent(CameraEvent.PositionChange)); machine.dispatchEvent(new CameraEvent(CameraEvent.ViewChange)); } } } //if (changed && state != null) //{ // state.LookAt(); //} //Vector3 v3 = Input.mousePosition; //if (Input.GetMouseButtonDown(2)) //{ // oldPos = v3; //} //if (Input.GetMouseButton(2)) //{ // if (oldPos == v3) // { // return; // } // Vector3 pos = target.transform.position; // float dis = Vector3.Distance(pos, focaseP); // Vector3 offset = GetRayPoint(v3, dis) - GetRayPoint(oldPos, dis); // Vector3 moved = -offset; // oldPos = v3; // Vector3 modedPos = pos + moved; // modedPos.y = modedPos.y < settings.minFreeViewDis ? settings.minFreeViewDis : modedPos.y; // modedPos.y = modedPos.y > settings.maxFreeViewDis ? settings.maxFreeViewDis : modedPos.y; // SetMainCameraPos(modedPos, false); // moved = modedPos - pos; // focaseP += moved; //} }
public override void mUpdate() { base.mUpdate(); Vector3 v3 = Input.mousePosition; if (uguiHitUI.uiHited == true) { oldPos1 = v3; return; } float delta = Input.GetAxis("Mouse ScrollWheel"); if (delta != 0) { Vector3 pos = target.transform.position; float dis = Vector3.Distance(pos, cameraFocasCenter); float f = (dis - settings.minFreeViewDis) / (settings.maxFreeViewDis - settings.minFreeViewDis); float speed = 0.005f; if (f * scaleMultiEditor > speed) { speed = f * scaleMultiEditor; } //Debug.LogWarning("speed = " + speed); f -= delta * speed; dis = Mathf.Lerp(settings.minFreeViewDis, settings.maxFreeViewDis, f); pos = cameraFocasCenter + dis * (pos - cameraFocasCenter).normalized; SetMainCameraPos(pos); machine.dispatchEvent(new CameraEvent(CameraEvent.ScaleChange)); machine.dispatchEvent(new CameraEvent(CameraEvent.ViewChange)); } bool changed = false; bool isRightPointRotate = inputMachine.CurrentState is SetMaterialState || inputMachine.CurrentState is PlaceGoodsState3D;// || inputMachine.CurrentState is SelectState3D; SelectGoodsState3D state = inputMachine.CurrentState as SelectGoodsState3D; if (state != null) { isRightPointRotate = state.canMove || state.onhandle; } if (Input.GetMouseButtonDown(0) || (isRightPointRotate == true && Input.GetMouseButtonDown(1))) { oldPos1 = v3; offsetList.Clear(); MyMono.MyStopCoroutine(MoveRotate, this); } if ( (isRightPointRotate == false && (Input.GetMouseButton(0) || Input.GetMouseButtonUp(0))) || (isRightPointRotate == true && (Input.GetMouseButton(1) || Input.GetMouseButtonUp(1))) ) { if (oldPos1 == v3) { return; } Vector2 offset = v3 - oldPos1; offsetList.Add(offset); if (offsetList.Count > offsetCount) { offsetList.RemoveAt(0); } oldPos1 = v3; Rotate(offset); if ( (isRightPointRotate == false && Input.GetMouseButtonUp(0)) || (isRightPointRotate == true && Input.GetMouseButtonUp(1)) ) { MyMono.MyStartCoroutine(MoveRotate, this); } //Vector3 pos = target.transform.position; //float dis = Vector3.Distance(pos, focaseP); //Vector3 euler = target.transform.rotation.eulerAngles; //euler.x -= offset.y/2 * rotateMultiYEditor; //euler.y += offset.x/2 * rotateMultiXEditor; //euler.y = euler.y > 360 ? euler.y - 360 : euler.y; //euler.y = euler.y < -360 ? euler.y + 360 : euler.y; //if (euler.x < 180) //{ // euler.x = euler.x > settings.maxFreeViewAngle ? settings.maxFreeViewAngle : euler.x; //} //else //{ // euler.x -= 360; //} //euler.x = euler.x < settings.minFreeViewAngle ? settings.minFreeViewAngle : euler.x; //target.transform.rotation = Quaternion.Euler(euler); //Vector3 rotatePos = GetRayPoint(Screen.width / 2 * Vector2.right + Screen.height / 2 * Vector2.up, dis - target.nearClipPlane); //target.transform.position += focaseP - rotatePos; //MyCallLater.Add(0.5f, RefreshView); changed = true; } if (Input.GetMouseButtonDown(2)) { ///记录移动时输入的旧位置 oldPos = v3; changed = true; MyMono.MyStopCoroutine(MoveRotate, this); } if (Input.GetMouseButton(2)) { if (oldPos == v3) { return; } Vector3 pos = target.transform.position; float dis = Vector3.Distance(pos, focaseP); Vector3 offset = GetRayPoint(v3, dis) - GetRayPoint(oldPos, dis); Vector3 moved = -offset; oldPos = v3; Vector3 modedPos = pos + moved; modedPos.y = modedPos.y < settings.minFreeViewDis ? settings.minFreeViewDis : modedPos.y; modedPos.y = modedPos.y > settings.maxFreeViewDis ? settings.maxFreeViewDis : modedPos.y; SetMainCameraPos(modedPos, false); moved = modedPos - pos; focaseP += moved; changed = true; machine.dispatchEvent(new CameraEvent(CameraEvent.PositionChange)); machine.dispatchEvent(new CameraEvent(CameraEvent.ViewChange)); } //if (changed && state != null) //{ // state.LookAt(); //} }
private void onCameraViewAdd() { MyMono.MyStartCoroutine(Func, this); }
public override void StartLoad() { base.StartLoad(); localHas = cacheModelManager.HaseCached(localWriteurl); MyMono.MyStartCoroutine(load, this, null); }