示例#1
0
    void Awake()
    {
        rb           = GetComponent <Rigidbody>();
        collider     = GetComponent <CapsuleCollider>();
        anim         = GetComponent <Animator>();
        lineRenderer = GetComponent <LineRenderer>();
        look         = GetComponent <FocusLook>();
        emotion      = GetComponent <EmotionRenderer>();

        sweat = GetComponentInChildren <Sweat>();

        movementSpeed = gameObject.AddComponent <MovementSpeed>();

        // Check which objects are currently grabbable
        grabCollisions = GetComponentInChildren <CollisionEventTransmitter>();
        grabCollisions.onTriggerEnter += (Collider x) => { var grab = x.GetComponent <Grabbable>(); if (grab)
                                                           {
                                                               objectsAtRange.Add(grab);
                                                           }
        };
        grabCollisions.onTriggerExit += (Collider x) => { var grab = x.GetComponent <Grabbable>(); if (grab)
                                                          {
                                                              objectsAtRange.Remove(grab);
                                                          }
        };

        ReloadColor();

        Instantiate(Library.instance.dustFX, transform.position, transform.rotation);
    }
    void Awake()
    {
        agent   = GetComponent <NavMeshAgent>();
        sight   = GetComponent <Sight>();
        anim    = GetComponent <Animator>();
        look    = GetComponent <FocusLook>();
        emotion = GetComponent <EmotionRenderer>();

        ear        = GetComponent <Hearing>();
        ear.heard += (Vector3 position) => { this.OnHeard(position); };

        movementSpeed = gameObject.AddComponent <MovementSpeed>();

        // Check which objects are currently grabbable
        rangeEvent = GetComponentInChildren <CollisionEventTransmitter>();
        rangeEvent.onTriggerEnter += (Collider other) => { inRange.Add(other.transform.gameObject); };
        rangeEvent.onTriggerExit  += (Collider other) => { inRange.Remove(other.transform.gameObject); };
    }