- Home /
NotificationCenter (from the community wiki) problem
Hi! I am using the Notification Center from the wiki in my project and so far everything vent ok. But today i received the following compiler errors when i introduced the new notification and i cannot find the reson behind them no matter how hard i try:
Assets/Scripts/Library/Messaging/NotificationCenter.js(22,56): BCE0022: Cannot convert 'UnityEngine.Component' to 'NotificationCenter'.
Assets/Scripts/Library/Messaging/NotificationCenter.js(41,46): BCE0022: Cannot convert 'Object' to 'System.Collections.ArrayList'.
Assets/Scripts/Library/Messaging/NotificationCenter.js(49,46): BCE0022: Cannot convert 'Object' to 'System.Collections.ArrayList'.
Assets/Scripts/Library/Messaging/NotificationCenter.js(67,46): BCE0022: Cannot convert 'Object' to 'System.Collections.ArrayList'.
Assets/Scripts/Library/Messaging/NotificationCenter.js(80,22): BCE0019: 'SendMessage' is not a member of 'Object'.
This is a script that introduced the error:
#pragma strict
var hitPoints: int = 0;
private var monsterComponent: Monster;
function Start () {
monsterComponent = GetComponent(Monster) as Monster;
}
function OnDamage () {
hitPoints = hitPoints - 1;
if (hitPoints<0) {
//broadcast notification
NotificationCenter.DefaultCenter().PostNotification(this, "NotificationMonsterDestroyed", this.collider.gameObject);
Destroy(monsterComponent.GetMonsterGUIName());
Destroy(gameObject);
}
}
Answer by chrisg.du · Oct 20, 2011 at 09:43 PM
This happens because the NotificationCenter relies on dynamically typed ArrayLists which will sometimes error out with #pragma strict or Android or iOS development. I ran into this same issue so I edited it to use generic lists of components instead, which removes your last error. Hopefully this helps.
http://www.unifycommunity.com/wiki/index.php?title=NotificationCenterGenerics
Your answer
Follow this Question
Related Questions
UnityEngine.GameObject Error 1 Answer
GUI box problem 1 Answer
Android Compiler Errors 1 Answer
I get an error on build but not when I run the game in the Editor. iPhone. 1 Answer
BCE0022 Cannot convert 'function(): String' to 'String'. 2 Answers