// When a muscle is hit (through MuscleCollisionBroadcaster.Hit(...))
        protected override void OnMuscleHitBehaviour(MuscleHit hit)
        {
            // Should we activate the puppet?
            if (masterProps.normalMode == NormalMode.Kinematic) puppetMaster.mode = PuppetMaster.Mode.Active;

            // Unpin the muscle (and other muscles) and add force
            UnPin(hit.muscleIndex, hit.unPin);

            // Add force
            puppetMaster.muscles[hit.muscleIndex].rigidbody.isKinematic = false;
            puppetMaster.muscles[hit.muscleIndex].rigidbody.AddForceAtPosition(hit.force, hit.position);
        }
    // When a muscle is hit (through MuscleCollisionBroadcaster.Hit(...))
    protected override void OnMuscleHitBehaviour(MuscleHit hit)
    {
        // Should we activate the puppet?
        if (masterProps.normalMode == NormalMode.Kinematic)
        {
            puppetMaster.mode = PuppetMaster.Mode.Active;
        }

        // Unpin the muscle (and other muscles) and add force
        UnPin(hit.muscleIndex, hit.unPin);

        // Add force
        puppetMaster.muscles[hit.muscleIndex].rigidbody.isKinematic = false;
        puppetMaster.muscles[hit.muscleIndex].rigidbody.AddForceAtPosition(hit.force, hit.position);
    }
示例#3
0
 protected virtual void OnMuscleHitBehaviour(MuscleHit hit)
 {
 }
示例#4
0
        public void OnMuscleHit(MuscleHit hit)
        {
            if (!initiated) return;
            if (OnPreMuscleHit != null) OnPreMuscleHit(hit);

            OnMuscleHitBehaviour(hit);

            if (OnPostMuscleHit != null) OnPostMuscleHit(hit);
        }