Beispiel #1
0
    public override void OnEnterState(GameController gameController)
    {
        throwController = gameController.GetThrowController();
        controller      = gameController.GetController();
        throwController.StartThrow(controller);
        gameController.GetArrow().SetActive(true);
        Disc disc = gameController.GetDisc();

        disc.SetColliderEnabled(false);
        //TransparencyUtil.MakeObjectOpaque(disc.gameObject);
    }
Beispiel #2
0
    private void Awake()
    {
        //References
        rb2d               = GetComponent <Rigidbody2D>();
        boxCollider        = GetComponent <BoxCollider2D>();
        throwingController = GetComponent <ThrowController>();
        audioSource        = GetComponent <AudioSource> ();
        animator           = GetComponentInChildren <Animator> ();

        //Calculations
        CalculateJump();
    }
Beispiel #3
0
    private void Awake()
    {
        if (!player)
        {
            Utils.LogErrorAndStopPlayMode("GameManager expects a reference to a main player GameObject!");
        }

        throwController    = Utils.GetRequiredComponent <ThrowController>(player);
        playerController   = Utils.GetRequiredComponent <PlayerController>(player);
        movementController = Utils.GetRequiredComponent <MovementController>(player);
        playerAnimator     = Utils.GetRequiredComponentInChildren <Animator>(player);
        playerRigidbody    = Utils.GetRequiredComponent <Rigidbody>(player);
    }
Beispiel #4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            throwController = new ThrowController(this.sixDegreesView);
            ConfigureController();
            ConfigureLights();

            meshButton.TouchUpInside += (sender, e) =>
            {
                meshButton.Selected = !meshButton.Selected;

                if (meshButton.Selected)
                {
                    sixDegreesView.MeshController.ShowMesh();
                }
                else
                {
                    sixDegreesView.MeshController.HideMesh();
                }

                SDPlugin.ShowMesh = meshButton.Selected;
            };

            loadButton.TouchUpInside += (sender, e) =>
            {
                if (SDPlugin.IsSDKReady)
                {
                    loadTime = SDPlugin.SixDegreesSDK_LoadFromARCloud();
                }
            };

            saveButton.TouchUpInside += (sender, e) =>
            {
                if (SDPlugin.IsSDKReady)
                {
                    saveTime = SDPlugin.SixDegreesSDK_SaveToARCloud();
                }
            };

            var updateTimer = NSTimer.CreateRepeatingScheduledTimer(TimeSpan.FromSeconds(0.2), delegate
            {
                UpdateDebug();
            });

            updateTimer.Fire();
        }
    public override void OnEnterState(GameController gameController)
    {
        arrow = gameController.GetArrow();
        //arrow.SetActive(true);
        arrow.SetActive(false);
        direction   = Camera.main.transform.forward;
        direction.y = 0;
        direction.Normalize();

        Disc disc = gameController.GetDisc();

        disc.SetColliderEnabled(false);
        ThrowController throwController = gameController.GetThrowController();

        disc.Grab(throwController.heldTransform);

        Vector3 holePosition = gameController.GetCurrentHole().HoleTrigger.transform.position;

        throwController.SetTargetPosition(holePosition + new Vector3(0, 1, 0));
        SetArrowTransform(gameController);
    }
Beispiel #6
0
    void Start()
    {
        rootAnim = Utils.GetRequiredComponent <Animator>(this);

        throwController = GameManager.Instance.GetThrowController();
        if (throwController == null)
        {
            Utils.LogErrorAndStopPlayMode("Player manager does not exist");
        }
        throwController.OnThrow          += HandleOnThrewBottle;
        throwController.OnPickup         += HandleOnPickup;
        throwController.OnThrowableReset += HandleResetThrowableCount;

        text = Utils.GetRequiredComponentInChildren <TextMeshProUGUI>(this, "Throwable Object text is null!");
        DisplayUpdate();

        if (!GameEventManager.Instance.CheckEventStatus(GameEventManager.GameEvent.HasThrownSomething))
        {
            HideImage();
            GameEventManager.Instance.SubscribeToEvent(GameEventManager.GameEvent.HasThrownSomething, OnFirstPickUp);
        }
    }
Beispiel #7
0
 public void UnsubscribeFromThrow()
 {
     throwController.ThrowDisc -= BeginFlight;
     throwController = null;
 }
Beispiel #8
0
    /// <summary>
    /// subscribe to throwing event on throwControl
    /// </summary>
    public void SubscribeToThrow(ThrowController throwController)
    {
        _state = DiscState.InHand;

        this.throwController = throwController;
        throwController.ThrowDisc += BeginFlight;

        Reset();
    }
Beispiel #9
0
    // Update is called once per frame
    void Update()
    {
        // Clear the trail visualization when pressing space
        // UPDATE: Don't need to clear trail here, handled in ModeHandler

        /*if (Input.GetKey ("space")) {
         *              frisbee.GetComponent<TrailRenderer> ().Clear();
         *      }*/

        //Camera keyboard controls
        if (mainCamera.activeSelf)
        {
            GameObject tempCam = mainCamera;
            if (Input.GetKey("q"))
            {
                tempCam.transform.Translate(tempCam.transform.forward * -1F * moveSpeed * Time.deltaTime);
            }
            if (Input.GetKey("e"))
            {
                tempCam.transform.Translate(tempCam.transform.forward * moveSpeed * Time.deltaTime);
            }
            if (Input.GetKey("w"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, moveSpeed * Time.deltaTime), Space.World);
            }
            if (Input.GetKey("s"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, -moveSpeed * Time.deltaTime), Space.World);
            }
            if (Input.GetKey("a"))
            {
                tempCam.transform.Translate(new Vector3(-moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
            if (Input.GetKey("d"))
            {
                tempCam.transform.Translate(new Vector3(moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
        }
        else if (topCamera.activeSelf)
        {
            GameObject tempCam = topCamera;
            if (Input.GetKey("q"))
            {
                tempCam.transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0), Space.World);
            }
            if (Input.GetKey("e"))
            {
                tempCam.transform.Translate(new Vector3(0, -moveSpeed * Time.deltaTime, 0), Space.World);
            }
            if (Input.GetKey("w"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, moveSpeed * Time.deltaTime), Space.World);
            }
            if (Input.GetKey("s"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, -moveSpeed * Time.deltaTime), Space.World);
            }
            if (Input.GetKey("a"))
            {
                tempCam.transform.Translate(new Vector3(-moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
            if (Input.GetKey("d"))
            {
                tempCam.transform.Translate(new Vector3(moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
        }
        else if (sideCamera.activeSelf)
        {
            GameObject tempCam = sideCamera;
            if (Input.GetKey("q"))
            {
                tempCam.transform.Translate(new Vector3(moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
            if (Input.GetKey("e"))
            {
                tempCam.transform.Translate(new Vector3(-moveSpeed * Time.deltaTime, 0, 0), Space.World);
            }
            if (Input.GetKey("w"))
            {
                tempCam.transform.Translate(new Vector3(0, moveSpeed * Time.deltaTime, 0), Space.World);
            }
            if (Input.GetKey("s"))
            {
                tempCam.transform.Translate(new Vector3(0, -moveSpeed * Time.deltaTime, 0), Space.World);
            }
            if (Input.GetKey("a"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, -moveSpeed * Time.deltaTime), Space.World);
            }
            if (Input.GetKey("d"))
            {
                tempCam.transform.Translate(new Vector3(0, 0, moveSpeed * Time.deltaTime), Space.World);
            }
        }

        if (frisbeeScript.isSeen())
        {
            isSeenText.text = "";
        }
        else
        {
            isSeenText.text = "Can't see fisbee!";
        }

        // Changing the indicator text based on the throwmode
        int throwmode = ThrowController.GetMode();

        // Get fresbee back to throwing position & playing your throw
        if (throwmode == 0)
        {
            recordingIndicator.color = Color.white;
            if (firstThrow == true)
            {
                recordingIndicator.text = "Get frisbee to starting position";
            }
            else
            {
                recordingIndicator.text = "Get frisbee back to starting position (playing last throw)";
            }
        }

        // Ready to throw
        else if (throwmode == 1)
        {
            if (frisbeeScript.isSeen())
            {
                recordingIndicator.color = Color.white;
                if (firstThrow == true)
                {
                    recordingIndicator.text = "Ready for a new throw";
                }
                else
                {
                    recordingIndicator.text = "Ready for a new throw (playing last throw)";
                }
            }
            else
            {
                recordingIndicator.color = Color.white;
                if (firstThrow == true)
                {
                    recordingIndicator.text = "Don't throw yet";
                }
                else
                {
                    recordingIndicator.text = "Don't throw yet (playing last throw)";
                }
            }
        }

        // Recording frisbee throw
        else if (throwmode == 2)
        {
            firstThrow = false;
            recordingIndicator.color = Color.red;
            recordingIndicator.text  = "Analyzing your throw";
        }

        // Testing out showing the frisbee position and rotation on screen
        frisbeePosition.text = "Position: " + frisbee.transform.localPosition;
        frisbeeRotation.text = "Playback Speed: " + modeHandler.speed + "x";
    }
Beispiel #10
0
 void Awake()
 {
     thisTC = GetComponentInParent <ThrowController>();
 }
Beispiel #11
0
 void Awake()
 {
     tc = FindObjectOfType<ThrowController>();
 }