Сразу скажу что я новичок в юнити.
И мой вопрос состоит в том что, как я могу реализовать связь скриптов таким образом, чтобы они были универсальными, т.е чтобы они работали во всех моих проектах, а не зависели от одного проекта.
Я не хочу в один объект пихать дохера скриптов. Например как "movement, attack и прочее прочее в объект Player".
Я не хочу использовать "GetComponent" и ему подобные.
По этому я нарисовал примерную схему моего проекта как я хотел бы чтоб он "Общался"
Но я не знаю как это реализовать.
Вот одна из проблем, с которой я недавно столкнулся.
У меня есть класс "PlayerClass". Скрипт "PlayerLogic" я повесил на PlayerObject, потому что я больше не знаю как это реализовать по другому. В классе "PlayerClass" есть метод "Move" который я вызываю в "PlayerLogic" Update, который должен перемещать игрока. Но он не перемещает, так как он не знает кого перемещать. Проблема в том что я не знаю как мне получить объект на котором весит "PlayerLogic" из "PlayerClass"
public class PlayerLogic : MonoBehaviour
{
private PlayerObject player;
void Start()
{
player.NewPlayer("BOT");
}
void Update()
{
player.Move();
}
}
public class PlayerObject : MonoBehaviour
{
private int health;
private string name;
private int speed = 2;
public void NewPlayer(string _name)
{
name = _name;
}
public void Move()
{
// Move with Transform
}
}