Esempio n. 1
0
 void Start()
 {
     stun            = new Stunable();
     rigidbody2d     = transform.parent.GetComponentInParent <Rigidbody2D>();
     knockable       = new Knockable(rigidbody2d);
     canMove         = false;
     enemy           = transform.parent.parent;
     target          = GameObject.FindWithTag("Player").transform; //target the player
     range           = GetComponent <CircleCollider2D>();
     range.isTrigger = true;
 }
 // Use this for initialization
 void Start()
 {
     player     = GetComponent <Player>();
     moveSpeedX = 1.75f;
     moveSpeedY = 1.3f;
     stun       = new Stunable();
     rbody      = GetComponent <Rigidbody2D>();
     knockable  = new Knockable(rbody);
     anim       = GetComponent <Animator>();
     anim.SetFloat("input_x", 1);
     knockable.Multiplier = moveSpeedX;
     IsRunning            = false;
     StartCoroutine(RunningLoseMana());
     //spriteRenderer = GetComponent<SpriteRenderer>();
 }
Esempio n. 3
0
    // On collision, knock Knockable objects over
    void OnControllerColliderHit(ControllerColliderHit hit)
    {
        Rigidbody body = hit.collider.attachedRigidbody;

        if (body == null || body.isKinematic)
        {
            return;
        }

        // Knock over a knock-over-able objects
        Knockable knockable = hit.gameObject.GetComponent("Knockable") as Knockable;

        if (knockable != null)
        {
            Vector3 pushDir   = new Vector3(hit.moveDirection.x, 0, hit.moveDirection.z);
            Vector3 pushForce = pushDir * thrust;
            knockable.trigger(pushForce);
        }
    }