What I'm trying to do with my script is if(Held > 1), a random child tagged "WeaponHeld" must be dropped.
Here's the full script:
private var Holding : boolean;
private var Held = 0.0;
private var Dead = false;
function Update()
{
var Weapons = GameObject.FindGameObjectsWithTag("Weapon");
var WeaponsHeld = GameObject.FindGameObjectsWithTag("WeaponHeld");
for(var Weapon in Weapons)
{
if(Holding && !Dead)
{
Weapon.SendMessage("Hold", SendMessageOptions.DontRequireReceiver);
}
if(!Holding && !Dead)
{
Weapon.SendMessage("Drop", SendMessageOptions.DontRequireReceiver);
}
}
for(var WeaponHeld in WeaponsHeld)
{
if(Holding && !Dead)
{
WeaponHeld.SendMessage("Hold", SendMessageOptions.DontRequireReceiver);
}
if(!Holding && !Dead)
{
WeaponHeld.SendMessage("Drop", SendMessageOptions.DontRequireReceiver);
}
}
if(Held > 1.0)
{
}
}
function Hold()
{
Holding = true;
Held = Held + 1.0;
}
function Drop()
{
Holding = false;
Held = Held - 1.0;
}
function EventGetRailDrop()
{
Holding = false;
Held = Held - 1.0;
}
function PlayerDie()
{
var WeaponsHeld = GameObject.FindGameObjectsWithTag("WeaponHeld");
for(var WeaponHeld in WeaponsHeld)
{
WeaponHeld.SendMessage("PlayerDie", SendMessageOptions.DontRequireReceiver);
}
Dead = true;
Holding = false;
Destroy(this);
}