UnityScript static variables is not a member of a script

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, i
50, 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…

You probably want to change the name of your ModelImporter class. Unity already has a ModelImporter defined.