public Rect VisibleRect(Camera camera)
    {
        VisibleArea va = HexMapLayout.CalcRelativeVisibleArea(camera);

        return(new Rect(camera.transform.localPosition.x - va.farHalfWidth,
                        camera.transform.localPosition.z + va.near,
                        va.farHalfWidth * 2f,
                        va.far - va.near));
    }
Пример #2
0
    public IEnumerator Init()
    {
        inited = false;

        Layout = new HexMapLayout(1f);

        // highlight
        //if (null == App.preloader){
        //	GoLoader highlightLoader = new GoLoader(MapPrefabDef.MAP_HIGHLIGHT);
        //	yield return highlightLoader.Load();
        //	highlight = Instantiate (highlightLoader.go);
        //}
        //else{
        //	highlight = Instantiate (App.preloader.highlightPrefab);
        //}
        //highlight.transform.parent = gameObject.transform;
        //highlight.SetActive (false);

        Lod0.Layout    = Layout;
        Lod0.MapCamera = MapCamera;
        yield return(Lod0.Init());

        Lod1.Layout = Layout;
        yield return(Lod1.Init());

        Lod1.gameObject.SetActive(false);

        MapCamera.transform.SetLocalY(CameraHeightInit);
        CameraPitch = CameraHeight2Angle(CameraHeightInit);

        MoveTo(GameFacade.GetProxy <CityProxy>().myCityCoord);

        //App.ProxyMgr.MapProxy.GetBlockDataFromServer();
        //App.ProxyMgr.MarchProxy.CreateMarchlines();

        InitInteractive(MapCamera, Layout);
        inited = true;

        //App.EventMgr.Post(EventId.SceneSwitchDone, SceneSwitcher.SceneSwitcherType.GameLoading);
        yield break;
    }
    public void InitInteractive(Camera mapCamera, HexMapLayout layout)
    {
        CameraPitch = MapCamera.transform.localEulerAngles.x;

        _input                        = new InputWrapper();
        _dragGesture                  = new InputKit.DragGesture(_input);
        _dragGesture.DragHandler      = OnDrag;
        _dragGesture.DragEndHandler   = OnDragEnd;
        _dragGesture.DragBeginHandler = OnDragBegin;
        _dragGesture.TouchDownHandler = delegate()
        {
            isInertia = false;
        };


        _pinchGesture = new InputKit.PinchGesture(_input);
        _pinchGesture.PinchHandler      = OnPinch;
        _pinchGesture.PinchEndHandler   = OnPinchEnd;
        _pinchGesture.PinchBeginHandler = OnPinchBegin;

        _clickGesture = new InputKit.ClickGesture(_input);
        _clickGesture.ClickHandler = OnClick;
    }