Я писал "Хотя я бы код добавления коллайдера вынес в метод, который бы вызывал через скрипт MouseClick".
Вот как стоит делать:
Код
// ClickManager.cs вместо неуместного названия Scripts.cs
using UnityEngine;
using System.Collections;
public class ClickManager : MonoBehaviour
{
public GameObject[] players; // Нужно присвоить объекты через Inspector или другой код
private int boxIndex = 0;
void Awake()
{
AddNextCollider();
}
public void AddNextCollider()
{
if (boxIndex < players.Length)
{
var boxCol = players[boxIndex].AddComponent<BoxCollider2D>();
boxCol.size = new Vector2(7, 7);
boxIndex++;
}
}
}
Код
// MouseClick.cs
using UnityEngine;
using System.Collections;
public class MouseClick : MonoBehaviour
{
void OnMouseDown()
{
Destroy(GetComponent<BoxCollider2D>());
var cm = Object.FindObjectOfType<ClickManager>(); // Работает если ClickManager один
cm.AddNextCollider();
Debug.Log(name + " has been clicked");
}
}
Добавлено (10 апреля 2016, 17:53)
---------------------------------------------
Animator добавишь сам. ClickManager можно сделать синглтоном (Singleton).