Predicates.POINT C# (CSharp) Метод

POINT() публичный Метод

public POINT ( object args ) : void
args object
Результат void
    public void POINT(object[] args)
    {
        GameObject agent = GameObject.FindGameObjectWithTag ("Agent");
        if (agent != null) {
            Animator anim = agent.GetComponentInChildren<Animator> ();
            GameObject leftGrasper = anim.GetBoneTransform (HumanBodyBones.LeftHand).transform.gameObject;
            GameObject rightGrasper = anim.GetBoneTransform (HumanBodyBones.RightHand).transform.gameObject;
            GameObject grasper;

            if (args [args.Length - 1] is bool) {
                if ((bool)args [args.Length - 1] == true) {
                    foreach (object arg in args) {
                        if (arg is GameObject) {
                            // find bounds corner closest to grasper
                            Bounds bounds = Helper.GetObjectWorldSize((arg as GameObject));

                            // which hand is closer?
                            float leftToGoalDist = (leftGrasper.transform.position-bounds.ClosestPoint(leftGrasper.transform.position)).magnitude;
                            float rightToGoalDist = (rightGrasper.transform.position-bounds.ClosestPoint(rightGrasper.transform.position)).magnitude;

                            if (leftToGoalDist < rightToGoalDist) {
                                grasper = leftGrasper;
                                agent.GetComponent<GraspScript>().grasper = (int)Gestures.HandPose.LeftPoint;
                            }
                            else {
                                grasper = rightGrasper;
                                agent.GetComponent<GraspScript>().grasper = (int)Gestures.HandPose.RightPoint;
                            }

                            IKControl ikControl = agent.GetComponent<IKControl> ();
                            if (ikControl != null) {
                                Vector3 target;
                                if (grasper == leftGrasper) {
                                    target = new Vector3 (bounds.min.x, bounds.min.y, bounds.center.z);
                                    ikControl.leftHandObj.transform.position = target;
                                }
                                else {
                                    target = new Vector3 (bounds.max.x, bounds.min.y, bounds.center.z);
                                    ikControl.rightHandObj.transform.position = target;
                                }
                            }
                        }
                    }
                }
            }
        }
    }