Exemplo n.º 1
0
    // Use this for initialization
    void Awake()
    {
        if(!collider){
            gameObject.AddComponent<BoxCollider>();
        };

        collider.isTrigger = true;
        CameraFollower = CameraFollowerParent.GetComponent<c2DCameraFollower>();
    }
Exemplo n.º 2
0
    // Use this for initialization
    void Awake()
    {
        if (!collider)
        {
            gameObject.AddComponent <BoxCollider>();
        }
        ;

        collider.isTrigger = true;
        CameraFollower     = CameraFollowerParent.GetComponent <c2DCameraFollower>();
    }
Exemplo n.º 3
0
    void PlayerDie()
    {
        if (!Dead)
        {
            Dead = true;
            animation.Stop();

            rigidbody.isKinematic      = true;
            rigidbody.detectCollisions = false;

            collider.enabled = false;

            Transform         RootBone   = transform.FindChild("Bip001");
            Rigidbody[]       ChildBones = RootBone.GetComponentsInChildren <Rigidbody>();
            c2DCameraFollower Follower   = Camera.main.GetComponent <c2DCameraFollower>();

            if (Follower)
            {
                Follower.Target          = RootBone.gameObject;
                Follower.SmoothTime      = 0.1f;
                Follower.CameraDistance -= 5.0f;
            }

            Vector3 Impulse = Vector3.zero;

            foreach (Rigidbody ChildBone in ChildBones)
            {
                ChildBone.isKinematic            = false;
                ChildBone.detectCollisions       = true;
                ChildBone.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;

                Impulse = rigidbody.velocity.normalized * (ChildBone.mass * rigidbody.velocity.magnitude);

                ChildBone.AddForce(Impulse, ForceMode.Impulse);
            }

            Collider[] ChildBonesColliders = RootBone.GetComponentsInChildren <Collider>();

            foreach (Collider ChildBone in ChildBonesColliders)
            {
                ChildBone.enabled = true;
            }
        }
        else
        {
            Dead = false;

            rigidbody.isKinematic      = false;
            rigidbody.detectCollisions = true;

            collider.enabled = true;

            Transform         RootBone   = transform.FindChild("Bip001");
            Rigidbody[]       ChildBones = RootBone.GetComponentsInChildren <Rigidbody>();
            c2DCameraFollower Follower   = Camera.main.GetComponent <c2DCameraFollower>();

            if (Follower)
            {
                Follower.Target          = gameObject;
                Follower.SmoothTime      = 0.3f;
                Follower.CameraDistance += 5.0f;
            }

            foreach (Rigidbody ChildBone in ChildBones)
            {
                ChildBone.isKinematic      = true;
                ChildBone.detectCollisions = false;
            }

            Collider[] ChildBonesColliders = RootBone.GetComponentsInChildren <Collider>();

            foreach (Collider ChildBone in ChildBonesColliders)
            {
                ChildBone.enabled = false;
            }
        }
    }