- Home /
This question was
closed Apr 27, 2019 at 03:09 PM by
Firox_ for the following reason:
The question is answered, right answer was accepted
Question by
Firox_ · Apr 27, 2019 at 02:51 PM ·
scripting problemeventeventsystemscript errorevent-listener
ArgumentException for UnityEvent
I try to add some listeners to an UnityEvent but there is these error at runtime:
Here is the code in Room.cs (script where the UnityEvent is):
private void Start()
{
if (closeDoors == null)
closeDoors = new UnityEvent();
if (openDoors == null)
openDoors = new UnityEvent();
}
public GameObject RoomCreator(........)
{
GameObject roomPattern = Instantiate(room, new Vector3(anchor[0], anchor[1], 0),
Quaternion.identity) as GameObject; //Instantiation
roomPattern.transform.parent = parent; //Parent set
if (type == Board.Type.Normal) //Name set
roomPattern.name = "Room " + roomNumber;
else if (type == Board.Type.Chest)
roomPattern.name = "Chest";
else if (type == Board.Type.Shop)
roomPattern.name = "Shop";
else
roomPattern.name = "Boss";
roomPattern.AddComponent<RoomManager>(); //Component set
closeDoors.AddListener(gameObject.GetComponent<RoomManager>().CloseDoors);
openDoors.AddListener(gameObject.GetComponent<RoomManager>().OpenDoors);
}
And here is the code in RoomManager.cs (where the method linked to the UnityEvent are):
public void CloseDoors()
{
if (doors.Contains(Board.DoorPos.Up))
gameObject.GetComponentInChildren<LayerFront>().SetTile(doorTiles.Tiles[(floor - 1) * 5]);
foreach (LayerBehind script in gameObject.GetComponentsInChildren<LayerBehind>())
{
script.SetTiles(doors, doorTiles, floor);
}
}
public void OpenDoors()
{
if (doors.Contains(Board.DoorPos.Up))
gameObject.GetComponentInChildren<LayerFront>().ClearTile();
foreach (LayerBehind script in gameObject.GetComponentsInChildren<LayerBehind>())
{
script.ClearTiles(doors);
}
}
I don't achieve to understand why I'm having this error. How can I fix it ?
Edit: I didn't notice that I don't search the component on the good GameObject. The error come from that.
capture.png
(11.0 kB)
Comment