Inheritance: MonoBehaviour
Ejemplo n.º 1
0
    ////  通过手指截屏
    //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;
    }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 protected override void stopLoad()
 {
     MyMono.MyStopCoroutine(load, this, null);
     base.stopLoad();
 }
Ejemplo n.º 6
0
 protected override void stopLoad()
 {
     MyMono.MyStopCoroutine(LoadCache, this, url);
     base.stopLoad();
 }
Ejemplo n.º 7
0
 public override void exit()
 {
     MyMono.MyStopCoroutine(MoveRotate, this);
     curData.ReadCamera(target);
     base.exit();
 }
Ejemplo n.º 8
0
    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;
        //}
    }
Ejemplo n.º 9
0
    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);
 }