ゲームルール
・一定時間が経過すると終了
・プレイヤーのHPが0になると終了
・ボスを倒すとゲームクリア
まずは一定時間
ゲームオーバーのフラグ、クリアを二つ用意。
Update関数内で残り時間を減算し、0以下になったらGameOver関数が呼ばれる。
public class GameRuleCtrl : MonoBehaviour {
// 残り時間
public float timeRemaining = 5.0f * 60.0f;
// ゲームオーバーフラグ
public bool gameOver = false;
// ゲームクリア
public bool gameClear = false;
void Update()
{
timeRemaining -= Time.deltaTime;
// 残り時間が無くなったらゲームオーバー
if(timeRemaining<= 0.0f ){
GameOver();
}
}
public void GameOver()
{
gameOver = true;
Debug.Log("GameOver");
}
public void GameClear()
{
gameClear = true;
Debug.Log("GameClear");
}
}
次にプレイヤーHP
プレイヤーのCtrlでDied関数で
gameRuleCtrl.GameOver();
を呼び出すようにする。
Bossを倒したら同じように・・・
void Died()
{
status.died = true;
dropItem();
Destroy(gameObject);
if (gameObject.tag == "Boss")
{
gameRuleCtrl.GameClear();
}
}
Died()をいじる。