i dont know why but all of my clones die at the same time and same thing is happening with the animations; all clones are playing animation at the same time. I have made a prototype project in which i have 3 scripts "DestroyEnemy" where player tries to destroy the enemy with a raycast, "EnemyDeath" in which enemy dies and "MasterSpawnScript" for cloning. i am sharing all 3 scripts with you guys, please tell me where i am doing wrong.
//DestroyEnemy.js
#pragma strict
private var anim : Animation;
private var cameraTransform : Transform;
private var cam : Camera;
static var rayHit = false;
static var enemyName;
var maxHealth = 1000.0;
function Start()
{
cameraTransform = GameObject.Find("FirstPersonCharacter").transform;
cam = cameraTransform.GetComponent.();
}
function Update()
{
rayHit = false; //bullet/ray is false after every frame
var hit : RaycastHit;
if (Input.GetButton("Fire1"))
{
var ray : Ray = cam.ScreenPointToRay(Input.mousePosition);
Debug.DrawRay(ray.origin, ray.direction *10, Color.yellow);
if(Physics.Raycast(ray, hit) == true)
{
//Destroy(hit.collider.gameObject);
rayHit = true; //bullet/ray is true when hits enemy
Debug.Log(hit.transform.gameObject.name);
}
else
{
rayHit = false; //bullet/ray is false when hits any other object
}
}
}
-----------------------------------------------
//EnemyDeath.js
#pragma strict
var isHitting : boolean;
var startingHealth = 100.0;
private var enemyHealth : int;
//public var ragdoll : GameObject;
function Start ()
{
enemyHealth = startingHealth;
}
function Update ()
{
isHitting = DestroyEnemy.rayHit;
if(isHitting == true)
{
this.enemyHealth -=5;
Debug.Log(this.enemyHealth);
if(this.enemyHealth <=0)
{
Destroy(gameObject);
//Instantiate(ragdoll, gameObject.transform.position, gameObject.transform.rotation);
Debug.Log("working");
}
}
}
-------------------------------
//MasterSpawnScript.js
#pragma strict
var spawnPoints : Transform[];
var enemyPrefabs : GameObject[];
var yieldTimeMin = 2;
var yieldTimeMax = 5;
static var enemyCounter = 0;
var spawnXOffSetMin = 0;
var spawnXOffSetMax = 0;
var spawnZOffSetMin = 0;
var spawnZOffSetMax = 0;
var defaultSpawnNumber = 5;
var waveNumber = 1;
var isSpawning = false;
function SpawnEnemies(wave : int)
{
var spawnNumber = (defaultSpawnNumber + 5 * (wave - 1));
isSpawning = true;
for(var i=0; i< spawnNumber; i++)
{
yield WaitForSeconds(Random.Range(yieldTimeMin, yieldTimeMax));
var object : GameObject = enemyPrefabs[Random.Range(0, enemyPrefabs.Length)];
var position : Transform = spawnPoints[Random.Range(0, spawnPoints.Length)];
var clone = Instantiate(object, position.position +
Vector3(Random.Range(spawnXOffSetMin, spawnXOffSetMax), 0,
Random.Range(spawnZOffSetMin, spawnZOffSetMax)), position.rotation);
clone.name = 'clone'+ (i+1);
enemyCounter++;
}
isSpawning = false;
}
function UpdateWave()
{
waveNumber++;
SpawnEnemies(waveNumber);
}
function Start ()
{
SpawnEnemies(waveNumber);
}
function Update ()
{
if(enemyCounter == 0 && !isSpawning)
{
UpdateWave();
}
}
![alt text][1]
[1]: /storage/temp/63461-pic.png
↧