예제 #1
0
 void OnCollisionEnter2D(Collision2D other)
 {
     if (other.gameObject.CompareTag("Player") && PlayerManagerScript.GetInstance().GetPlayerScript().HasKey())
     {
         Destroy(gameObject);
     }
 }
예제 #2
0
 void OnCollisionEnter2D(Collision2D other)
 {
     // 플레이어가 몬스터랑 접촉했을 경우
     if (other.gameObject.CompareTag("Player"))
     {
         PlayerManagerScript.GetInstance().GetPlayerScript().Dead();
     }
 }
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         PlayerManagerScript.GetInstance().GetFloorTextScript().IncreaseFloor();
         SceneManager.LoadScene("PlayScene");
     }
 }
 void OnTriggerEnter2D(Collider2D other)
 {
     // 플레이어가 키를 줍는 경우
     if (other.gameObject.CompareTag("Player"))
     {
         PlayerManagerScript.GetInstance().GetPlayerScript().SetKey();
         Destroy(gameObject);
     }
 }
 void OnTriggerEnter2D(Collider2D other)
 {
     Debug.Log("enter");
     if (other.gameObject.CompareTag("Player"))
     {
         PlayerManagerScript.GetInstance().GetPlayerScript().GetBattery();
         GameObject.Destroy(gameObject);
     }
 }
예제 #6
0
    private void InstantiateMonster()
    {
        int x = 0, y = 0;

        numOfMonster = PlayerManagerScript.GetInstance().GetFloorTextScript().GetFloor();
        for (int i = 0; i < numOfMonster; i++)
        {
            do
            {
                x = (int)Random.Range(0.0f, width);
                y = (int)Random.Range(0.0f, height);
            } while (map[y, x] == WALL || (x == end.x && y == end.y) || (x < 5 && y < 5));
            GameObject monsterObject = Instantiate(monsterPrefab, transform);
            monsterObject.transform.position = new Vector3((float)x * 2, (float)y * 2, -1.0f);
        }
    }
예제 #7
0
    private void InstantiateWall()
    {
        int x = 0, y = 0;

        for (x = 0; x < width; x++)
        {
            for (y = 0; y < height; y++)
            {
                if (map[y, x] == WALL)
                {
                    GameObject wall = Instantiate(wallPrefab, transform);
                    wall.transform.position = new Vector3((float)x * 2, (float)y * 2, -1f);
                }
                else
                {
                    int possibility = (int)Random.Range(0.0f, 200.0f);
                    if (possibility == 0 || possibility == 1)
                    {
                        GameObject battery = Instantiate(batteryPrefab, transform);
                        battery.transform.position = new Vector3((float)x * 2, (float)y * 2, -0.5f);
                    }
                }
            }
        }

        // 플레이어가 3층 이상 진입할 경우 출구에 Locker 생성
        if (PlayerManagerScript.GetInstance().GetFloorTextScript().GetFloor() >= 3)
        {
            GameObject locker = Instantiate(lockerPrefab, transform);
            locker.transform.position = new Vector3((float)end.x * 2, (float)end.y * 2, -1f);
        }

        GameObject exit = Instantiate(exitPrefab, transform);

        exit.transform.position = new Vector3((float)end.x * 2, (float)end.y * 2, -0.5f);
    }
 void Start()
 {
     playerManager = PlayerManagerScript.GetInstance();
     StartCoroutine(AdjustGauge1());
     StartCoroutine(AdjustGauge2());
 }
예제 #9
0
 public void ReloadScene()
 {
     PlayerManagerScript.GetInstance().GetFloorTextScript().InitFloor();
     SceneManager.LoadScene("PlayScene");
 }