void Spawn() { if (nodes.Length <= 0) { Debug.LogWarning("There's no nodes!"); return; } int nodeIndex = nodeRand.Range(0, nodes.Length - 1, true); while (nodeList.Contains(nodeIndex)) { nodeIndex = nodeRand.Range(0, nodes.Length - 1, true); } nodeList.Add(nodeIndex); if (nodeList.Count >= nodes.Length - 1) { nodeList.RemoveAt(0); } int instIndex = timeRand.Range(0, instructionLines.Length - 1, true); List <string> parameters = instructionLines[instIndex].Clone <List <string> >(); int randomValue = values[Random.Range(0, values.Length - 1)]; parameters[0] = parameters[0].Replace("%v", randomValue + ""); Instruction newDude = InstructionFactory.createInstruction(instructionText[instIndex], 1, 1, gameObject, parameters); newDude.GetComponent <GameText>().invulnerable = true; newDude.transform.position = nodes[nodeIndex].transform.position; newDude.AddComponent <InstructionCrawl>(); generatorTimer = GetNewTime(); }
public override void Awake() { objectsToSpawn = new [] { References.Prefabs.Spike }; base.Awake(); textCollider2D = GetComponent <TextCollider2D>(); if (textCollider2D != null) { textCollider2D.Text = string.Empty; } randomGenerator = new MTRandom(Random.value.ToString()); if (autoSpawn) { spawnDelay = randomGenerator.Range(spawnMinDelay, spawnMaxDelay); SpawnSpikeIn(spawnDelay); } }
public void SpawnSpike() { if (spawningSpike != null) { waitingSpike = spawningSpike; waitingSpike.Invoke("Fall", 1.5F); } spawningSpike = Spawn("Spike", transform.position, Quaternion.identity).GetComponent <Spike>(); spawningSpike.transform.parent = transform; spawningSpike.spikeManager = this; if (autoSpawn) { spawnDelay = randomGenerator.Range(spawnMinDelay, spawnMaxDelay); SpawnSpikeIn(spawnDelay); } }
float GetNewTime() { return(timeRand.Range(2f, 4.8f)); }
void Start() { crawlSpeed = rand.Range(0.5f, 1f); t = transform; effectivePosition = t.position.x; }