Пример #1
0
 private void Comeback()
 {
     // start returning with delay
     currentState  = DiskStates.Returning;
     startTime     = Time.time;
     startPoint    = disk.transform.position;//target.transform.position;
     journeyLength = Vector3.Distance(startPoint, anchor.transform.position);
 }
Пример #2
0
 private void End()
 {
     currentState = DiskStates.Default;
     startTime    = 0;
     // renderers and collider
     disk.GetComponent <Renderer>().enabled      = false;
     dummyDisk.GetComponent <Renderer>().enabled = true;
     diskCollider.enabled = false;
     // begin cooldown
 }
Пример #3
0
    public void Throw()
    {
        //if (currentState != DiskState.WaitingAnimation) return;
        // start throw
        currentState = DiskStates.Thrown;
        collided     = false;
        markedObject = null;
        startTime    = Time.time;
        // move target to the avatar forward
        Vector3 targetPosition = anchor.transform.position;

        targetPosition            = targetPosition + (avatar.transform.forward.normalized * distance);
        target.transform.position = targetPosition;
        // set starting position and rotation for the real disk
        disk.transform.position = anchor.transform.position;
        disk.transform.rotation = anchor.transform.rotation;
        startPoint    = anchor.transform.position;
        journeyLength = Vector3.Distance(anchor.transform.position, target.transform.position);
        // turn off/on renderers
        disk.GetComponent <Renderer>().enabled      = true;
        dummyDisk.GetComponent <Renderer>().enabled = false;
        // turn on collider
        diskCollider.enabled = true;
    }
Пример #4
0
 public void BeginThrow()
 {
     currentState = DiskStates.WaitingAnimation;
     animator.SetTrigger("Throw");
 }