public void SetMoveState(movingState state)
    {
        currentMovingState = state;
        Utils.StopOrStartMovementOfAobj(this.gameObject, false);

        switch (state)
        {
        case movingState.TowardAPosition:
            MoveTowardsAposition();
            break;

        case movingState.RotateAround:
            MoveRotateARound();
            break;

        case movingState.MoveTowardsAdirection:
            MoveTowardsAdirection();
            break;

        case movingState.DockedInLauncher:
            DockInLauncher();
            break;

        case movingState.FreeJump:
            GoToClosestPlanet();
            break;
        }
    }
Beispiel #2
0
 public static void CameraToCenter()
 {
     if (currentState != movingState.cameraToCenter)
     {
         targetMovePoint   = Vector3.MoveTowards(viewAnchor, Camera.main.transform.position, 0.5f);
         targetMovePoint.y = 50;
         currentState      = movingState.cameraToCenter;
     }
 }
Beispiel #3
0
 public static void CameraToLetter(GameObject letter)
 {
     if (currentState != movingState.cameraToLetter)
     {
         targetMovePoint   = (letter.transform.position + Vector3.zero) * 1.2f;
         targetMovePoint.y = 10;
         letterObject      = letter;
         currentState      = movingState.cameraToLetter;
     }
 }
Beispiel #4
0
    void Start()
    {
        currentState = movingState.camHold;

        Camera.main.transform.position = Vector3.MoveTowards(Static_Data.letters[0].transform.position, Vector3.zero, -0.1f);
        Camera.main.transform.position = Camera.main.transform.position + new Vector3(0, 300, 0);
        Camera.main.transform.LookAt(Vector3.zero);

        targetMovePoint    = (Static_Data.letters[0].transform.position + Vector3.zero) * 1.1f;
        targetMovePoint.y += 7;

        Camera.main.transform.LookAt(Static_Data.letters[0].transform.position);
        Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.2f);
    }
Beispiel #5
0
    public void CameraToCenterOnDemand()
    {
        if (currentState != movingState.cameraToCenterOnDemand)
        {
            CenterButton.interactable = false;
            SpinButton.interactable   = false;
            try { SpinPlusButton.interactable = false; }
            catch { }

            targetMovePoint   = Vector3.MoveTowards(viewAnchor, Camera.main.transform.position, 0.5f);
            targetMovePoint.y = 50;
            currentState      = movingState.cameraToCenterOnDemand;
        }
    }
Beispiel #6
0
    // Update is called once per frame
    void Update()
    {
        if (currentState == movingState.cameraEnter)
        {
            Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.2f);

            if (Camera.main.transform.position == targetMovePoint)
            {
                CameraStartingOrbit();
            }
        }

        if (currentState == movingState.cameraStartingOrbit)
        {
            if (angles > 360f)
            {
                CameraDefault(Static_Data.letters[0].transform.position);
            }
            Camera.main.transform.RotateAround(Vector3.zero, Vector3.up, 0.2f);
            angles += 0.2f;
        }

        if (currentState == movingState.cameraDefault)
        {
            Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.3f);

            targetLookPoint = Quaternion.LookRotation(viewAnchor - Camera.main.transform.position);
            Camera.main.transform.rotation = Quaternion.Slerp(Camera.main.transform.rotation, targetLookPoint, 20 * Time.deltaTime);

            if (Camera.main.transform.position == targetMovePoint)
            {
                Camera.main.transform.LookAt(viewAnchor);
                SpinButton.interactable = true;
                try { SpinPlusButton.interactable = true; }
                catch { }
                CenterButton.interactable = true;
            }
        }

        if (currentState == movingState.cameraSpin)
        {
            Camera.main.transform.RotateAround(viewAnchor, Vector3.down, 0.025f);
        }

        if (currentState == movingState.cameraLetterRemove)
        {
            letterDelay += Time.deltaTime;
            letterObject.transform.position = Vector3.MoveTowards(letterObject.transform.position, Vector3.zero, -0.5f);
            if (letterDelay > 1f)
            {
                GameObject.Destroy(letterObject);
                letterDelay = 0;
                Static_Data.nexts[Static_Data.selectedSector].SetActive(true);
                CameraDefault(prevLetter);
            }
        }


        if (currentState == movingState.cameraToCenter)
        {
            Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.5f);
            Camera.main.transform.LookAt(viewAnchor);
        }

        if (currentState == movingState.cameraToCenterOnDemand)
        {
            centerDelay += Time.deltaTime;
            Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.5f);
            Camera.main.transform.LookAt(viewAnchor);

            if (centerDelay > 3f)
            {
                centerDelay = 0;
                if (prevLetter != Vector3.zero)
                {
                    CameraDefault(prevLetter);
                }
                else
                {
                    CameraDefault(Static_Data.letters[0].transform.position);
                }
            }
        }

        if (currentState == movingState.cameraToLetter)
        {
            Camera.main.transform.position = Vector3.MoveTowards(Camera.main.transform.position, targetMovePoint, 0.5f);
            if (Camera.main.transform.position != targetMovePoint)
            {
                targetLookPoint = Quaternion.LookRotation(viewAnchor - Camera.main.transform.position);
                Camera.main.transform.rotation = Quaternion.Slerp(Camera.main.transform.rotation, targetLookPoint, 10 * Time.deltaTime);
            }
            else
            {
                targetLookPoint = Quaternion.LookRotation(letterObject.transform.position - Camera.main.transform.position);
                Camera.main.transform.rotation = Quaternion.Slerp(Camera.main.transform.rotation, targetLookPoint, 10 * Time.deltaTime);
                ContinueButton.interactable    = true;
                if (letterContinue)
                {
                    letterContinue = false;
                    ContinueButton.interactable = false;
                    //
                    CenterButton.interactable = false;
                    //
                    prevLetter   = letterObject.transform.position;
                    currentState = movingState.cameraLetterRemove;
                }
            }
        }
    }
Beispiel #7
0
 public static void CameraSpin()
 {
     currentState = movingState.cameraSpin;
 }
Beispiel #8
0
 public void CameraDefault(Vector3 anchor)
 {
     targetMovePoint    = (anchor + Vector3.zero) * 2.5f;
     targetMovePoint.y += 25;
     currentState       = movingState.cameraDefault;
 }
Beispiel #9
0
 public static void CameraStartingOrbit()
 {
     currentState = movingState.cameraStartingOrbit;
 }
Beispiel #10
0
 public void CameraEnter()
 {
     StartButton.interactable = false;
     Camera.main.transform.LookAt(Static_Data.letters[0].transform.position);
     currentState = movingState.cameraEnter;
 }