- Home /
Javascript class function is not a member of the class. BCE0019
Hi,
I just upgraded my project from Unity 3.5.7 to 4.1.2f1 and am now seeing the error BCE0019: 'availableActions' is not a memeber of 'UnityEngine.CharacterInfo'. I am seeing this error anytime I try to use a class that is declared in another file. It seems that if I remove the #pragma strict the errors go away, but I don't understand why. Another way to remove the errors is to aggregate the three scripts into the same file, but I do not like that.
Thanks,
Lexx
Fist file: CharacterInfo.js Full file path: Assets\Assets\Scripts\Classes\Structures\
#pragma strict
import System.Collections.Generic;
public class CharacterInfo{
var MAX_ACTION_POINTS : float;
var currentActionPoints : float;
var movementRate : float;
var availableActions:List.<ICharacterAction> = new List.<ICharacterAction>();
function CharacterInfo() {
}
function doStuff(){
}
function getAvailableActions() : List.<ICharacterAction>{
return availableActions;
}
}
Second file: WaypointInfo.js Full file path: Assets\Assets\Scripts\Classes\Structures\
Errors: "Assets/Assets/Scripts/Structures/WaypointInfo.js(17,58): BCE0019: 'availableActions' i snot a member of 'UnityEngine.CharacterInfo'."
#pragma strict
class WaypointInfo{
var priorWaypoint : WaypointInfo;
var nextWaypoint : WaypointInfo;
var owner : CharacterInfo;
var availableActions : List.<ICharacterAction> = new List.<ICharacterAction>();
var selectedAction : ICharacterAction;
var waypoint : Waypoint;
function WaypointInfo(character : CharacterInfo, prior : WaypointInfo, point:Vector3){
waypoint = GameObject.Instantiate(Resources.Load("Waypoint"));
owner = character;
priorWaypoint = prior;
for(var action:ICharacterAction in owner.availableActions){
availableActions.Add(action.getNewInstance());
}
}
}
Third File: Player.js Full file path: Assets\Assets\Sripts\Components\
Errors: "Assets/Assets/Scripts/Components/Player.js(6,14): BCE0019: 'availableActions' is not a member of 'UnityEngine.CharacterInfo'." and again for (7,14) and (8,24).
#pragma strict
var info : CharacterInfo = new CharacterInfo();
function Awake(){
info.availableActions.Add(new Move());
info.availableActions.Add(new Overwatch());
Debug.Log(info.availableActions.Count);
}
Your answer
Follow this Question
Related Questions
"x" is not a member of 'function(): void'. 0 Answers
Should I manually delete my custom class instances? 1 Answer
javascript singleton 1 Answer