private void CheckSwarmList() { for (int i = 0; i < m_festbeeSwarmList.Count; i++) { FestBeeSwarm swarm = m_festbeeSwarmList[i]; if (swarm.IsLost) { m_festbeeSwarmList.Remove(swarm); i--; Destroy(swarm.gameObject); } } }
public void GenerateFestBeeSwarm(int beeNumber) { Transform swarmExit = m_SwarmExits[Random.Range(0, m_SwarmExits.Count)]; FestBeeSwarm swarm = Instantiate(m_BeeSwarmPrefab, swarmExit.position, Quaternion.identity); m_festbeeSwarmList.Add(swarm); for (int i = 0; i < beeNumber; i++) { BeeBase bee = Instantiate(m_BeePrefab, swarm.transform.position, Quaternion.identity); swarm.AddSwarmObject(bee); } }
/// <summary> /// /// </summary> /// <param name="swarm"></param> /// <param name="targetPos"></param> void SendCopToPlace(FestBeeSwarm swarm, Vector3 targetPos, Vector3 dir) { SwarmObjectCop cop = currentSwarm.GetRandomnlyObject(); if (cop != null) { swarm.IsChecked(); cop.Alert(); cop.AssignNewTarget(targetPos, dir); cop.SwarmTarget = swarm; cop.OnTargetReached = null; cop.OnTargetReached += ProceedToCheck; } }
private void Awake() { swarm = Instantiate(m_SwarmBasePrefab, transform.position, Quaternion.identity, transform); }
public void BackToHive(FestBeeSwarm swarm) { swarm.PrepareToDestroy(); m_festbeeSwarmList.Remove(swarm); Destroy(swarm.gameObject); }