public override void Init() { Flock flock = GetComponent<Flock>(); FlockAgent newAgent = Instantiate( flock.agentPrefab, Random.insideUnitCircle * flock.startingCount * Flock.AGENT_DENSITY, Quaternion.Euler(Vector3.forward * Random.Range(0f, 360f)), transform); newAgent.gameObject.AddComponent<PlayerControlledFlockAgent>(); m_player = newAgent.GetComponent<PlayerControlledFlockAgent>(); m_player.name = "Player"; Destroy(newAgent.GetComponent<FlockAgent>()); m_player.Init(this); }
/*--------------------------------------------------------------------------------------*/ /* */ /* FindPlayer: Seraches for player incase they are ever set to null */ /* */ /*--------------------------------------------------------------------------------------*/ void FindPlayer() { if (nextTimeToSearch <= Time.time) { GameObject result = GameObject.FindGameObjectWithTag("Player"); if (result != null) { target = result.transform; player = target.GetComponent <PlayerControlledFlockAgent>(); m_LastTargetPosition = target.position; m_OffsetZ = (transform.position - target.position).z; transform.parent = null; } nextTimeToSearch = Time.time + 2.0f; } }