Example #1
0
    private void Grab(Thrown thrown)
    {
        grabbingList.Add(thrown);

        thrown.rigidbody.velocity        = Vector3.zero;
        thrown.rigidbody.angularVelocity = Vector3.zero;
        thrown.rigidbody.isKinematic     = true;
    }
Example #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldGetErrorWhenUsingCreateUniqueWhenCypherVersionIs3_4()
        public virtual void ShouldGetErrorWhenUsingCreateUniqueWhenCypherVersionIs3_4()
        {
            // expect exception
            Thrown.expect(typeof(QueryExecutionException));
            Thrown.expectMessage("CREATE UNIQUE is no longer supported. You can achieve the same result using MERGE");

            // when
            Db().execute("CYPHER 3.4 MATCH (b) WITH b LIMIT 1 CREATE UNIQUE (b)-[:REL]->()");
        }
Example #3
0
        public CodegenMethod AddThrown(Type throwableClass)
        {
            if (Thrown.IsEmpty()) {
                Thrown = new List<Type>();
            }

            Thrown.Add(throwableClass);
            return this;
        }
Example #4
0
    private void Update()
    {
        float     closestDistance = float.MaxValue;
        Transform closestObject   = null;

        for (int index = 0; index < Thrower.instance.thrownList.Count; index++)
        {
            Thrown thrown = Thrower.instance.thrownList[index];

            if (thrown != null && thrown.processed == false)
            {
                Transform thrownTransform = Thrower.instance.thrownList[index].transform;

                Vector3 localPosition = this.transform.InverseTransformPoint(thrownTransform.transform.position);

                //if it's in front of me
                if (localPosition.z > 0)
                {
                    float distance = Vector3.Distance(this.transform.position, thrownTransform.position);

                    if (distance < closestDistance)
                    {
                        closestDistance = distance;
                        closestObject   = thrownTransform;
                    }
                }

                if (localPosition.y < 0.75 && localPosition.y > -0.75)
                {
                    if (localPosition.z < maxDistanceToGrab)
                    {
                        if (grabbingList.Contains(thrown) == false)
                        {
                            Grab(thrown);
                        }
                    }
                }
            }
        }

        MoveGrabber(closestObject);

        grabbingList.RemoveAll(grabbing => grabbing == null);

        SuckTowards();

        Drop();
    }
Example #5
0
    private void SuckTowards()
    {
        for (int grabbingIndex = 0; grabbingIndex < grabbingList.Count; grabbingIndex++)
        {
            Thrown grabbing = grabbingList[grabbingIndex];

            Vector3 localPosition = dropPoint.InverseTransformPoint(grabbing.transform.position);

            if (localPosition.z >= 0.1f)
            {
                Vector3 targetPosition = dropPoint.transform.position;
                targetPosition.y = this.transform.position.y;

                grabbing.transform.position = Vector3.MoveTowards(grabbing.transform.position, targetPosition, dropSpeed * Time.deltaTime);
            }
        }
    }
Example #6
0
    private IEnumerator DoThrowing()
    {
        while (true)
        {
            yield return(new WaitForSeconds(rate));

            GameObject thrownGameObject = GameObject.Instantiate(throwPrefab);
            GameObject.Destroy(thrownGameObject, 15f);

            Thrown thrown = thrownGameObject.GetComponent <Thrown>();

            thrown.rigidbody.position = throwPoint.position;
            thrown.rigidbody.rotation = throwPoint.rotation;

            yield return(null);

            thrown.rigidbody.AddRelativeForce(throwForce);

            thrownList.Add(thrown);
        }
    }
Example #7
0
    private void Drop()
    {
        for (int grabbingIndex = 0; grabbingIndex < grabbingList.Count; grabbingIndex++)
        {
            Thrown grabbing = grabbingList[grabbingIndex];

            Vector3 localPosition = dropPoint.InverseTransformPoint(grabbing.transform.position);

            if (localPosition.z <= 0.1f)
            {
                if (localPosition.y < 0.25f && localPosition.y > -0.25f)
                {
                    grabbingList.Remove(grabbing);
                    grabbing.rigidbody.isKinematic = false;
                }
                else
                {
                    grabbing.transform.position = Vector3.MoveTowards(grabbing.transform.position, dropPoint.position, dropSpeed * Time.deltaTime);
                }
            }
        }
    }
Example #8
0
 public override string ToString()
 {
     return(Thrown.ToString());
 }