Пример #1
0
    /* void OnTriggerExit(Collider other)
     * {
     *   Vector3 rightVect = transform.transform.right;
     *   if (isOnPlayer)
     *   {
     *       rightVect = transform.transform.forward;
     *   }
     *
     *   if ( other.gameObject.tag == "WaterDrop")
     *   {
     *       WaterBehaviour water = other.GetComponent<WaterBehaviour>();
     *       Vector3 dropPoint = other.transform.position + (water.rigidBody.velocity.normalized * 1000);
     *       if (Vector3.Distance(dropPoint, leftPoint) >= Vector3.Distance(dropPoint, rightPoint))
     *       {
     *           water.rigidBody.velocity += rightVect * 10;
     *           if(isOnPlayer)
     *               Debug.DrawLine(water.transform.position, water.transform.position+ water.rigidBody.velocity, Color.yellow);
     *
     *       }
     *       else
     *       {
     *           water.rigidBody.velocity -= rightVect * 10;
     *           if (isOnPlayer)
     *               Debug.DrawLine(water.transform.position, water.transform.position - rightVect * 10, Color.green);
     *
     *       }
     *   }
     *
     * }*/

    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "WaterDrop")
        {
            WaterBehaviour water = other.GetComponent <WaterBehaviour>();
            water.rigidBody.velocity = water.rigidBody.velocity.normalized;
        }
    }
    private void Awake()
    {
        iceBehaviour   = GetComponent <IceBehaviour>();
        waterBehaviour = GetComponent <WaterBehaviour>();
        collider       = GetComponent <BoxCollider2D>();
        renderer       = GetComponent <SpriteRenderer>();

        Regen();
    }
Пример #3
0
    void OnTriggerStay(Collider other)
    {
        Vector3 rightVect = transform.transform.right;

        if (isOnPlayer)
        {
            rightVect = transform.transform.forward;
        }

        if (other.gameObject.tag == "WaterDrop")
        {
            WaterBehaviour water     = other.GetComponent <WaterBehaviour>();
            Vector3        dropPoint = other.transform.position + (water.rigidBody.velocity.normalized * 1000);
            if (Vector3.Distance(dropPoint, leftPoint) >= Vector3.Distance(dropPoint, rightPoint))
            {
                water.rigidBody.velocity += rightVect;
            }
            else
            {
                water.rigidBody.velocity -= rightVect;
            }
        }
    }
Пример #4
0
 void Start()
 {
     water = GameObject.Find("Water").GetComponent <WaterBehaviour>();
 }