Hi,
I try to instantinate my game object and place it over terrain. More over I group game objets to defferents sets - for this script call special function.
Function to initializ game object:
class gStone{
var stone_01: GameObject;
var grass_02: GameObject;
var grass_03: GameObject;
var grass_04: GameObject;
var gMaterial: Material;
var stone: GameObject;
function getBigStone01():GameObject{
stone = Resources.Load("Stones/bigStone01",GameObject);
stone.transform.localScale = Vector3(4,4,4);
return stone;
}
function getBigStone02():GameObject{
stone = Resources.Load("Stones/bigStone02",GameObject);
stone.transform.localScale = Vector3(5,5,5);
return stone;
}
function getStone01(size:Vector3):GameObject{
stone = Resources.Load("Stones/stone01",GameObject);
stone.transform.localScale = size;
return stone;
}
function getStone02(size:Vector3):GameObject{
stone = Resources.Load("Stones/stone02",GameObject);
stone.transform.localScale = size;
return stone;
}
}
Function to create groups:
class gStoneGroups{
var stone01:GameObject;
var stone02:GameObject;
var stone03:GameObject;
var mainPos:Vector3;
var stone:gStone;
var botAction: botActions;
var cloneStone01:GameObject;
var cloneStone02:GameObject;
var cloneStone03:GameObject;
var cloneStone04:GameObject;
var cloneStone05:GameObject;
function getSimpleTerrainRotY(terrPos: Vector3){
var terrHit: RaycastHit;
var normal_q: Quaternion;
terrPos.y+=20;
if(Physics.Raycast (terrPos, -Vector3.up, terrHit, 10.0)){
normal_q = Quaternion.FromToRotation(Vector3.up, terrHit.normal);
}
return Quaternion.Euler(270, 0, normal_q.z);
}
function group00(target:Vector3){
var pos01: Vector3 = botAction.getPosAndTerrainY(Vector3(target.x+2,target.y,target.z));
var pos02: Vector3 = botAction.getPosAndTerrainY(Vector3(target.x+6,target.y,target.z+6));
var pos03: Vector3 = botAction.getPosAndTerrainY(Vector3(target.x+1,target.y,target.z+6));
var pos04: Vector3 = botAction.getPosAndTerrainY(Vector3(target.x-1,target.y,target.z-6));
//mainPos = target;
cloneStone01 = Instantiate(stone.getBigStone01(), pos01, getSimpleTerrainRotY(pos01));
cloneStone02 = Instantiate(stone.getBigStone02(), pos02, getSimpleTerrainRotY(pos02));
cloneStone03 = Instantiate(stone.getStone01(Vector3(0.5,0.5,0.5)), pos03, getSimpleTerrainRotY(pos03));
cloneStone04 = Instantiate(stone.getStone02(Vector3(1,1,1)), pos04, getSimpleTerrainRotY(pos04));
}
}
Function to call Group of game object:
var stoneGroup:gStoneGroups;
stoneGroup.group00(Vector3(100,100,100));
In this case I see exception:
Assets/gScripts/classes/Environment/gStoneGroups.js(37,24): BCE0005: Unknown identifier: ‘Instantiate’.
Thanks