Unity complains that :
ImportWindowUI.js(21,33): BCE0019: ‘modelImported’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(22,26): BCE0019: ‘modelImported’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(22,57): BCE0019: ‘modelPending’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(22,87): BCE0019: ‘processingModel’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(25,42): BCE0019: ‘modelImported’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(26,58): BCE0019: ‘modelImported’ is not a member of ‘UnityEditor.ModelImporter’.
ImportWindowUI.js(27,65): BCE0019: ‘ReturnProcessedModel’ is not a member of ‘UnityEditor.ModelImporter’.
The errors come after I put #pragma strict. But I don’t think it is an issue of dynamic typing.
In addition, I also tried to declare them as public or private variables, the compiler is still throwing the same errors.
The Script I am having problems with ImportUI script:
#pragma strict
private var modelimporter : ModelImporter = (GameObject.Find("Browser").GetComponent(ModelImporter) as ModelImporter);
private var menuExpanded : Boolean = false;
private var processedModels : GameObject[];
private var typeButton : int = 0;
public var typeTexture : Texture[];
public var skin : GUISkin;
public var background : Texture2D;
public var typeBackground : Texture2D;
function OnEnable () {
Debug.Log("ImportWindowUI log : Enabled");
}
function OnGUI () {
var tempSkin : GUISkin = GUI.skin;
GUI.skin = skin;
Debug.Log(ModelImporter.modelImported);
if(ModelImporter.modelImported || ModelImporter.modelPending || ModelImporter.processingModel) {
Debug.Log("ImportWindowUI log : ModelImporter alert");
if(GUI.Button(Rect(15, 15, 40, 40),"buildingButton")) {
if(ModelImporter.modelImported) menuExpanded = !menuExpanded;
if(menuExpanded && ModelImporter.modelImported) {
processedModels = modelimporter.ReturnProcessedModel();
}
}
if(menuExpanded && processedModels.length > 0) {
GUI.BeginGroup(Rect(15, 55, 150, processedModels.length * 50));
var gameobjectArray : GameObject[] = processedModels;
for(var i = 0; i < gameobjectArray.length; i++) {
if(GUI.Button(Rect(0, i*50, 150, 50), gameobjectArray*.name)) {*
_ typeButton = GUI.SelectionGrid(Rect(150, i50, 200, 50), typeButton, typeTexture,3);_
_ if(GUI.Button(Rect(350, i50, 50, 50), “tick”)) {_
-
Debug.Log("ImportWindowUI log : typeButton = " + typeButton);*
-
}*
-
}*
-
}*
-
GUI.EndGroup();*
-
} else if (processedModels.length == 0) {*
-
menuExpanded = false;*
-
}*
- }*
}
and below is the ModelImporter Script:
#pragma strict
import System.IO;
static var modelPending : Boolean = false;
static var modelImported : Boolean = false;
static var processingModel : Boolean = false;
private var modelPaths : Array = new Array();
private var processedModel : Array = new Array();
private var model : GameObject;
function Update () {
- if(modelPaths.length > 0 && !processingModel) {*
-
ImportModel(modelPaths.Shift());*
- }*
- if(processedModel.length > 0) {*
-
modelImported = true;*
- } else {*
-
modelImported = false;*
- }*
- if(modelPaths.length > 0) {*
-
modelPending = true;*
- } else {*
-
modelPending = false;*
- }*
}
private function ImportModel (path : String) {
-
processingModel = true;*
-
if (Path.GetExtension(path) == “.obj”) {*
-
// do stuff and return;*
-
} else if(Path.GetExtension(path) == “.dae”) {*
-
//do stuff and return;*
-
} else {*
-
Debug.Log("ModelImporter log : Cannot process 3D model with extension = " + Path.GetExtension(path));*
-
// return;*
-
}*
}
public function PostProcessModel (message : String) {
*processedModel.Push(model); *
processingModel = false;
}
public function AddModelPaths (path : String) {
- modelPaths.Add(path);*
}
public function ReturnProcessedModel () : GameObject[] {
- return (processedModel.ToBuiltin(GameObject) as GameObject);*
}
Any suggestions would be much appreciated…