x


How to force a variable to prefab

Hello, I have an AI ship that I need to spawn from a prefab. The problem is the ship needs the transform of the ship that it needs to attack. I have tried to assign the transform directly to the variable in the inspector but when I try to make that variable stay in the prefab it doesn't. The prefab simply does not have that variable in it. So what I have tried to do is assign it through code by putting it on the script the spaceships are spawned with then assigning it when the spaceship is spawned. Here is an example:

var prefab : GameObject; //this is the spaceship spawned
var spawn : boolean = true; //this tells if the spaceship should be spawned
var enemy : Transform; //this is the transform of the enemy

function Update () {

    if(spawn)//if we can spawn something...
    {
    Spawn(); //..go here
    }
    //This makes the spawn point move
    transform.position.x = transform.position.x + 5 * Time.deltaTime;

    transform.rotation.y = transform.position.y + 5 * Time.deltaTime;

}
function Spawn()
{

    Instantiate(prefab, transform.position, transform.rotation);//Instantiate the prefab

    spawn = false; //make the spawning stop
    prefab.GetComponent(CollisionAvoidance).enemy = enemy;//THIS DOESN'T WORK!!! WHY?


    yield WaitForSeconds(10);//wait ten seconds

    spawn = true;//spawn another enemy

}

If you could please tell me why the variable can not be assigned that would be great, or if you could tell how to assign the variable to the prefab that would be great too.

Thanks in advance,

Grant

more ▼

asked Jun 12 '12 at 08:34 PM

xniinja gravatar image

xniinja
2 1 3 4

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

Internet search for "Unity Instantiate" and look at the Unity manual page (2nd one listed, for me) about Instantiating Prefabs At Runtime. It has an example of how to spawn a rocket and a wreck, and then reach into their scripts.

In general, it will look like myClone.GetComponent(scriptName).varName=

more ▼

answered Jun 12 '12 at 08:57 PM

Owen Reynolds gravatar image

Owen Reynolds
11.3k 1 7 45

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x1672
x1254
x822
x440
x92

asked: Jun 12 '12 at 08:34 PM

Seen: 413 times

Last Updated: Jun 12 '12 at 08:57 PM