2017-01-07 1 views
3

В моей 2d игры у меня есть понятие золотых и медных монеты следующим образом:Нерест Boss врага после того, когда один босс мертв

когда нормальные враги умирают ..they падения случайного золота или медную монеты. Теперь когда игрок поднимает его стоимость монеты добавляется в файл PlayerPrefs и также показана в UI следующим образом:

Coins shown in Text ui

теперь я сделал босс Spawner игры OBJ, которая прилагается скрипт к нему следующим образом:

public class BossSpawner : MonoBehaviour { 
    private int GoldLimitChk,CopperLimitChk; 
    public GameObject[] BossPrefab; 
    public bool bossSpawned; 
    private BossHealthManager boss1; 
    private Boss2HealthManager boss2; 

    // Use this for initialization 
    void Start() { 
     bossSpawned = false; 
     boss1 = FindObjectOfType<BossHealthManager>(); 
     boss2 = FindObjectOfType<Boss2HealthManager>(); 
    } 

    // Update is called once per frame 
    void Update() { 
     GoldLimitChk=PlayerPrefs.GetInt ("CurrentMoney"); 
     CopperLimitChk=PlayerPrefs.GetInt ("CurrentMoneyCopper"); 
     Debug.Log ("Gold:" + GoldLimitChk); 
     Debug.Log ("Copper:" + CopperLimitChk); 
     if (GoldLimitChk % 2 == 0) { 
      if (bossSpawned==false) { 
       Instantiate (BossPrefab [1], transform.position, transform.rotation); 
       bossSpawned = true; 
      } 
     } 

     if (CopperLimitChk % 2 == 0) { 
      if (bossSpawned==false) { 
       Instantiate (BossPrefab [0], transform.position, transform.rotation); 
       bossSpawned = true; 
      } 
     } 


    } 
} 

так согласно условию ..если его истинный в сценарии один босс из 2 должен spawn..and он работает тоже хорошо.

Но , что я хочу, что когда я убить босс процесс coins должен идти дальше и, когда снова условие (что% 2 один становится истинным) босс (любые один acording монет) должен порождать

Но это только нерестится за один раз, а затем после этого, когда я убиваю босса и снова состояние монеты aac. для скрипта становится истинным, босс не является нерестом в игре!

Как устранить эту проблему?

ответ

2

Это происходит потому, что вы никогда не возвращаете bossSpawned в false, чтобы новый босс мог быть порожден. Вы можете добавить метод

public void Reset() { 
    bossSpawned = false; 
} 

и называть это всякий раз, когда босс умирает.

+0

thnx человек! Я тряхну. Я называл 'bossSpawned' прямым побуждением делать такую ​​функцию, как раньше, там, где босс умирает – utkdub

Смежные вопросы