Андрей Панарин
Искусственный Интеллект
(249452)
8 месяцев назад
Где-то в вашем коде класса GameManager (вероятно, на 74-й или 21-й строчке) есть слово Brick, которое ссылается на несуществующий класс Brick.
Азиза СалаватоваУченик (32)
8 месяцев назад
public class GameManager : MonoBehaviour
{
public int level = 1;
public int score = 0;
public int lives = 2;
public Ball ball { get; private set; }
public Paddle paddle { get; private set; }
public Brick[] bricks { get; private set; }
private void Awake()
{
DontDestroyOnLoad(this.gameObject);
SceneManager.sceneLoaded += OnLevelLoaded;
}
private void Start()
{
NewGame();
}
private void NewGame()
{
this.score = 0;
this.lives = 3;
LoadLevel(1);
}
Азиза СалаватоваУченик (32)
8 месяцев назад
private void OnLevelLoaded(Scene scene, LoadSceneMode mode)
{
this.ball = FindObjectOfType<Ball>();
this.paddle = FindObjectOfType<Paddle>();
this.bricks = FindObjectsOfType<Brick>();
}
private void ResetLevel()
{
this.ball.ResetBall();
this.paddle.ResetPaddle();
}
private void GameOver()
{
NewGame();
}
public void Miss()
{
this.lives--;
if (this.lives > 0)
{
ResetLevel();
}
else
{
GameOver();
}
}
private void LoadLevel(int level)
{
this.level = level;
SceneManager.LoadScene("Level" + level);
}
public void Hit(Brick brick)
{
this.score += brick.points;
if (Cleared())
{
LoadLevel(this.level + 1);
}
}
Азиза СалаватоваУченик (32)
8 месяцев назад
private bool Cleared()
{
for (int i = 0; i < this.bricks.Length; i++)
{
if (this.bricks[i].gameObject.activeInHierarchy && !this.bricks[i].unbreakable)
{
return false;
}
}
return true;
}
}
Азиза СалаватоваУченик (32)
8 месяцев назад
private void OnLevelLoaded(Scene scene, LoadSceneMode mode)
{
this.ball = FindObjectOfType<Ball>();
this.paddle = FindObjectOfType<Paddle>();
this.bricks = FindObjectsOfType<Brick>();
}
private void ResetLevel()
{
this.ball.ResetBall();
this.paddle.ResetPaddle();
for (int i = 0; 1 < this.bricks.Length; i++)
{
this.bricks[i].ResetBrick();
}
}
private void GameOver()
{
NewGame();
}
public void Miss()
{
this.lives--;
if (this.lives > 0)
{
ResetLevel();
}
else
{
GameOver();
}
}
private void LoadLevel(int level)
{
this.level = level;
SceneManager.LoadScene("Level" + level);
}
Азиза СалаватоваУченик (32)
8 месяцев назад
public void Hit(Brick brick)
{
this.score += brick.points;
if (Cleared())
{
LoadLevel(this.level + 1);
}
}
private bool Cleared()
{
for (int i = 0; i < this.bricks.Length; i++)
{
if (this.bricks[i].gameObject.activeInHierarchy && !this.bricks[i].unbreakable)
{
return false;
}
}
return true;
}
}
Азиза СалаватоваУченик (32)
8 месяцев назад
public class Bricks : MonoBehaviour
{
public SpriteRenderer spriteRenderer { get; private set; }
public Sprite[] states;
public int health { get; private set; }
public int points = 100;
public bool unbreakable;
private void Awake()
{
this.spriteRenderer = GetComponent<SpriteRenderer>();
}
private void Start()
{
ResetBrick();
}
public void ResetBrick()
{
this.gameObject.SetActive(true);
if (!this.unbreakable)
{
this.health = this.states.Length;
this.spriteRenderer.sprite = this.states[
this.health - 1];
}
}
Assets\Script\GameManager.cs(74,21): error CS0246: The type or namespace name 'Brick' could not be found (are you missing a using directive or an assembly reference?)