예제 #1
0
 public void FocusOnPoint(ExaminationPoint x)
 {
     DisableAllExaminationPointsButtonImage();
     pointInformationGameObject.SetActive(true);
     returnButton.image.enabled = true;
     CameraFocus.FocusOnPositionWithSize(new Vector3(x.cameraPosition.x, x.cameraPosition.y, -10), x.cameraSize);
 }
예제 #2
0
 public void FocusCameraAt(Vector3 position, float speed = 1, float waitDuration = 1)
 {
     if (focusObject == null && focusEnabled)
     {
         focusObject = new CameraFocus(position, mainCam, speed, waitDuration);
     }
 }
예제 #3
0
 public void BackToDefaultCameraPosition()
 {
     Invoke("SetPointButtons", 0.5f);
     CameraFocus.BackToStartingPositionAndSize();
     returnButton.image.enabled = false;
     pointInformationGameObject.SetActive(false);
 }
예제 #4
0
 /// <summary>
 /// Usunięcie planety z układu słonecznego
 /// </summary>
 private void PlanetMenuDeleteButtonClick()
 {
     PlanetManager.Destroy(PlanetData.SelectedPlanet);
     MenuSwitcher.Switch(MenuState.Free);
     CameraFocus.Unfocus();
     RefreshSelectPlanetDropdown();
 }
예제 #5
0
 // Use this for initialization
 protected override void Awake()
 {
     base.Awake();
     CameraFocus.SetTarget(this.gameObject);
     _currentWeapon = weapons [0];
     _currentWeapon.SetActive(true);
 }
예제 #6
0
    void Start()
    {
        cameraFocus      = GameObject.FindObjectOfType <CameraFocus>();
        roomManager      = RoomManager.Get();
        shakeOriginalPos = this.transform.parent.localPosition;

        Init();
    }
예제 #7
0
 // Use this for initialization
 void Start()
 {
     initMouse     = Input.GetAxis("Mouse ScrollWheel");
     currentMouse  = initMouse;
     focus         = CameraFocus.RESET;
     initCameraPos = Camera.main.transform.position;
     tempCameraPos = new Vector3();
 }
예제 #8
0
 // Use this for initialization
 void Start()
 {
     cameraFocus  = GameObject.Find("CameraFocus").GetComponent <CameraFocus>();
     left_bottom  = GameObject.Find("Left_Bottom").transform;
     right_bottom = GameObject.Find("Right_Bottom").transform;
     left_top     = GameObject.Find("Left_Top").transform;
     right_top    = GameObject.Find("Right_Top").transform;
 }
예제 #9
0
 /// <summary>
 /// Przejście na widok całego układu słonecznego
 /// </summary>
 public void SolarViewButtonClick()
 {
     if (Factory.GetCamera().State != CameraState.Free)
     {
         return;
     }
     CameraFocus.OnSolarSystem();
 }
예제 #10
0
    private void Awake()
    {
        camFocus = Camera.main.GetComponent <CameraFocus>();
        camStart = camFocus.offset.y;
        camEnd   = camStart + camHeightDelta;

        //boxSize = GetComponent<BoxCollider2D>().size.y / 2;
    }
예제 #11
0
 public Camera(Viewport viewport, CameraFocus focus)
 {
     this.viewport = viewport;
     Pan           = Vector2.Zero;
     Zoom          = 1.0f;
     Rotation      = 0;
     Focus         = focus;
 }
예제 #12
0
 /// <summary>
 /// Zresetowanie widoku
 /// </summary>
 public void ResetViewButtonClick()
 {
     if (Factory.GetCamera().State != CameraState.Free)
     {
         return;
     }
     CameraFocus.Reset();
 }
예제 #13
0
    void FocusOn(CameraFocus focus)
    {
        var controller = CameraController.Main;

        if (controller != null)
        {
            controller.FocusOn(focus);
        }
    }
예제 #14
0
    public void FocusOn(CameraFocus focus, bool animated)
    {
        _focus = focus;

        if (focus && !animated)
        {
            Camera.orthographicSize = focus.OrthographicSize;
        }
    }
예제 #15
0
    /// <summary>
    /// Zapisanie właściwości planety
    /// </summary>
    private void PlanetMenuSaveButtonClick()
    {
        PlanetData.SelectedPlanet.PlanetName = PlanetNameChecker.Check(PlanetMenuNameInput.text);
        PlanetData.SelectedPlanet.Mass       = PlanetMenuMassSlider.value;
        PlanetData.SelectedPlanet.Speed      = PlanetMenuSpeedSlider.value;
        PlanetPositioner.ResetRotation(PlanetData.SelectedPlanet);

        MenuSwitcher.Switch(MenuState.Distance);
        CameraFocus.OnPlanetsView();
    }
예제 #16
0
 // Update is called once per frame
 void Update()
 {
     currentMouse = initMouse;
     initMouse = Input.GetAxis ("Mouse ScrollWheel");
     if(initMouse != 0)
     {
         if (currentMouse + initMouse < 0)
             focus = CameraFocus.ZOOMOUT;
         else if(currentMouse + initMouse > 0)
             focus = CameraFocus.ZOOMIN;
         CameraZoom ();
     }
 }
예제 #17
0
    /// <summary>
    /// Metoda wywołująca się gdy najedziemy kursorem na planetę
    /// </summary>
    void OnMouseDown()
    {
        if (Game.State != GameState.Creative)
        {
            return;
        }

        if (Input.GetMouseButtonDown(0))
        {
            if (UIController.menuState == MenuState.Free)
            {
                CameraFocus.OnPlanet(this, true);
            }
        }
    }
        public HumanPlayer(UnityView view, InputDevice inputDevice, TopDownActionCamera camera)
        {
            this.view        = view;
            this.inputDevice = inputDevice;
            actions          = TopDownActions.CreateWithJoystickBindings();
            actions.Device   = inputDevice;
            GameObject  cursorObject = new GameObject();
            CameraFocus focus        = cursorObject.AddComponent <CameraFocus> ();

            focus.weight = 1f;
            cursor       = cursorObject.AddComponent <BuildCursor> ();
            this.camera  = camera;
            camera.SetFocus(cursor.gameObject.GetComponent <CameraFocus>());
            cursor.AssertControl(actions, this);
            SetState(ControlState.BUILDING_GAME);
        }
    // Use this for initialization
    void Start()
    {
        simulationStartTime = new DateTime(
            simulationYear, simulationMonth, simulationDay,
            simulationHour, simulationMinute, simulationSecond);
        executionStartTime = DateTime.Today;
        simulationTime     = simulationStartTime;
        executionTime      = executionStartTime;

        cameraFocus = FindObjectOfType <CameraFocus>();

        simData      = FindObjectOfType <SimulationData>();
        simResources = FindObjectOfType <SimulationResources>();

        recolorWaypoints();
    }
예제 #20
0
 // Update is called once per frame
 void Update()
 {
     //Debug.Log("distance: " + Vector3.Distance(Camera.main.transform.position, player.transform.position));
     currentMouse = initMouse;
     initMouse    = Input.GetAxis("Mouse ScrollWheel");
     if (initMouse != 0)
     {
         if (currentMouse + initMouse < 0)
         {
             focus = CameraFocus.ZOOMOUT;
         }
         else if (currentMouse + initMouse > 0)
         {
             focus = CameraFocus.ZOOMIN;
         }
         CameraZoom();
     }
 }
    public void Update()
    {
        if (Input.GetKey(KeyCode.Q))
        {
            CameraFocus.Unfocus();
        }

        //Tryb swobodny
        if (state == CameraState.Free)
        {
            CameraMovement.Move();
        }

        //Jeżeli kamera jest focusowana na planetę albo odfocusowywana
        if (state == CameraState.Focusing || state == CameraState.Unfocusing)
        {
            CameraFocus.Focusing();
        }
    }
예제 #22
0
    private void SelectPlanetDropdownValueChange(int index)
    {
        //Odznaczenie planet
        if (index == 0)
        {
            CameraFocus.Unfocus();
            return;
        }

        //Zaznaczenie planety
        foreach (IMovingPlanet planet in PlanetData.Planets)
        {
            if (planet.PlanetName == selectPlanetList[index])
            {
                CameraFocus.OnPlanet(planet, true);
                MenuSwitcher.Switch(MenuState.PlanetEdit);
                break;
            }
        }
    }
예제 #23
0
    public static void FocusCameraOn(Entity entity, TopDownActionCamera cam)
    {
        if (viewer == null || viewer.topDownActionCam == null || entity == null || !displaysMap.ContainsKey(entity))
        {
            return;
        }
        GameObject view = displaysMap [entity];

        if (view == null)
        {
            return;
        }
        UnityEditor.Selection.activeGameObject = view;
        CameraFocus focus = view.GetComponent <CameraFocus> ();

        if (focus == null)
        {
            return;
        }
        cam.SetFocus(focus);
    }
예제 #24
0
 public void AssertControl(TopDownActions actions, HumanPlayer player)
 {
     this.actions       = actions;
     this.player        = player;
     underDirectControl = true;
     cc = gameObject.GetComponent <CharacterController> ();
     if (cc == null)
     {
         cc = gameObject.AddComponent <CharacterController> ();
     }
     if (characterFocus == null)
     {
         characterFocus = (new GameObject()).transform;
         CameraFocus focus = characterFocus.gameObject.AddComponent <CameraFocus> ();
         focus.weight            = 1f;
         focus.mustStayOnScreen  = true;
         characterFocus.position = transform.position;
     }
     if (player != null)
     {
         //TODO this is a problem right here....
         player.camera.AddFocus(characterFocus.gameObject.GetComponent <CameraFocus> ());
     }
 }
예제 #25
0
        protected override void process(Entity entity)
        {
            Position    focusPosition = (Position)_PositionMapper.get(entity);
            CameraFocus focus         = (CameraFocus)_CameraFocusMapper.get(entity);
            ViewPort    cameraView    = (ViewPort)_ViewportMapper.get(_Camera);

            Vector2 cPos = cameraView.getOrigin();
            Vector2 center = cPos + cameraView.getDimensions() / 2;
            Vector2 fPos = focusPosition.Pos;
            float   dist, radius;

            dist   = Vector2.Distance(fPos, center);
            radius = focus.getFocusRadius();

            if (dist > radius)
            {
                Vector2 vec = Vector2.Subtract(fPos, center);
                vec.Normalize();

                cPos += Vector2.Multiply(vec, dist - radius);

                cameraView.setOrigin(cPos);
            }
        }
예제 #26
0
 void Start()
 {
     audioSource = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<AudioSource>();
     camFocus = GetComponent<CameraFocus>();
     doors = GameObject.FindGameObjectsWithTag("Door");
     playersAlive = Players.Length;
 }
예제 #27
0
 void Start()
 {
     _cameraFocus = GameObject.FindGameObjectWithTag(AllTagsConstants.MainCamera).GetComponent <CameraFocus>();
     _playerTools = GameObject.FindGameObjectWithTag(AllTagsConstants.gameManagerTag).GetComponent <PlayerTools>();
 }
예제 #28
0
        public Vector3 FocusUpdate(Vector3 cameraPosition, ref CameraFocus focusObject)
        {
            //Debug.Log("focus position: " + focusPoint);
            previousDirection = direction;
            direction         = focusPoint - cameraPosition;
            Vector3 result = Vector3.zero;

            result = cameraPosition + (direction * speed) * GameManager.Instance.DeltaTime;
            //Debug.Log("Speed: " + speed);
            //Debug.Log("Camera Position: " + cameraPosition);
            //Debug.Log("Direction: " + direction);
            if (!reachedTarget)
            {
                if (direction.magnitude < 0.5f || Vector3.Dot(direction.normalized, previousDirection) < -0.1f)
                {
                    Debug.Log("Reached the Target");
                    reachedTarget = true;
                    waiting       = true;
                    focusPoint    = initialPosition;
                    return(cameraPosition);
                }
                return(result);
            }

            //If the camera is waiting, return the position of the camera itself
            if (waiting)
            {
                if (waitTimeElapsed > waitDuration)
                {
                    waiting = false;
                    returnedToInitialPosition = false;
                    speed *= 2;
                    Debug.Log("Wait finished");
                }
                else
                {
                    waitTimeElapsed += GameManager.Instance.DeltaTime;
                    result           = cameraPosition;
                    return(cameraPosition);
                }
            }

            if (!returnedToInitialPosition)
            {
                if (direction.magnitude < 0.5f || Vector3.Dot(direction.normalized, previousDirection) < 0)
                {
                    Debug.Log("Reached initial position");

                    if (CameraFocusFinishedEvent != null)
                    {
                        CameraFocusFinishedEvent();
                    }

                    returnedToInitialPosition = true;
                    focusObject = null;
                    return(cameraPosition);
                }
                return(result);
            }

            focusObject = null;
            return(result);
        }
예제 #29
0
 // Start is called before the first frame update
 void Start()
 {
     anim = GetComponent <Animator>();
     cameraFocusScript = cameraObj.GetComponent <CameraFocus>();
 }
예제 #30
0
 void Start()
 {
     _cameraFocus        = GameObject.FindGameObjectWithTag(AllTagsConstants.MainCamera).GetComponent <CameraFocus>();
     _cameraFocus.target = defaultTarget;
     _playerMovement     = defaultTarget.GetComponentInChildren <PlayerMovement>();
 }
예제 #31
0
 public virtual void Start()
 {
     audioSource = GetComponent<AudioSource>();
     announcer = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Announcer>();
     camFocus = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<CameraFocus>();
     gameManager = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<GameManager>();
     rbody = GetComponent<Rigidbody>();
     Ability2BaseCD = Ability2Cooldown;
     Ability3BaseCD = Ability3Cooldown;
     Ability4BaseCD = Ability4Cooldown;
     AbilityTime1 = -0.002f;
     AbilityTime2 = -0.002f;
     AbilityTime3 = -0.002f;
     AbilityTime4 = -0.002f;
 }
예제 #32
0
 public void LockToPlayer(CameraFocus player)
 {
     isLocked   = false;
     lockObject = player;
 }
예제 #33
0
 public void SetFocus(CameraFocus focus, bool useTransition = true)
 {
     SetFocus(cameraFocusLookUp[focus], useTransition);
 }
예제 #34
0
 // Use this for initialization
 void Start()
 {
     initMouse = Input.GetAxis ("Mouse ScrollWheel");
     currentMouse = initMouse;
     focus = CameraFocus.RESET;
 }