예제 #1
0
    void OnTriggerEnter(Collider other)
    {
        //look at
        if (other.tag == "Wolf")
        {
            transform.LookAt(other.transform);
            transform.rotation = Quaternion.Euler(0, transform.rotation.eulerAngles.y, 0);
        }

        ICameraPos cameraPos = other.gameObject.GetComponent <ICameraPos>();

        if (other.tag == "Trigger")
        {
            //cameraPos change
            cameraPos.PosChange(this);
        }

        INextLevel nextLevel = other.gameObject.GetComponent <INextLevel>();

        if (other.name == "LevelOpen")
        {
            //nextLevel
            nextLevel.Next(this);
        }

        //Touch Item
        IItem temp = other.gameObject.GetComponent <IItem>();

        if (temp != null && attack)
        {
            if (other.tag == "Barrels")
            {
                Rigidbody rd = other.GetComponent <Rigidbody>();
                rd.isKinematic = false;
                rd.velocity    = transform.forward;
                StartCoroutine(Wait(true, (value) => takeItem = value));
            }

            temp.TouchItem(this);
        }
    }
예제 #2
0
 public LevelManager(ILevel level, INextLevel nextLevel)
 {
     Level = level;
     _nextLevel = nextLevel;
     Level.SquaresToNextLevel = _nextLevel.AmountOfSquaresForLevelUp;
 }