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

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

public DROP ( object args ) : void
args object
Результат void
    public void DROP(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 = null;
            Transform leftGrasperCoord = agent.GetComponent<GraspScript>().leftGrasperCoord;
            Transform rightGrasperCoord = agent.GetComponent<GraspScript>().rightGrasperCoord;
            GraspScript graspController = agent.GetComponent<GraspScript> ();

            if (args [args.Length - 1] is bool) {
                if ((bool)args [args.Length - 1] == true) {
                    foreach (object arg in args) {
                        if (arg is GameObject) {
                            Voxeme voxComponent = (arg as GameObject).GetComponent<Voxeme> ();
                            if (voxComponent != null) {
                                if (voxComponent.isGrasped) {
                                    //voxComponent.transform.position = voxComponent.transform.position +
                                    //	(voxComponent.grasperCoord.position - voxComponent.gameObject.transform.position);

                                    if (voxComponent.grasperCoord == leftGrasperCoord) {
                                        grasper = leftGrasper;
                                    }
                                    else if (voxComponent.grasperCoord == rightGrasperCoord) {
                                        grasper = rightGrasper;
                                    }
                                    RiggingHelper.UnRig ((arg as GameObject), grasper);
                                    (arg as GameObject).GetComponent<Rigging> ().ActivatePhysics (true);
                                    graspController.grasper = (int)Gestures.HandPose.Neutral;
                                    //agent.GetComponent<GraspScript>().isGrasping = false;
                                    //agent.GetComponent<IKControl> ().leftHandObj.position = graspController.leftDefaultPosition;
                                    //agent.GetComponent<IKControl> ().rightHandObj.position = graspController.rightDefaultPosition;

                                    voxComponent.isGrasped = false;
                                    voxComponent.graspTracker = null;
                                    voxComponent.grasperCoord = null;
                                }
                            }
                        }
                    }
                }
            }
        }
    }