void Start() { ourShip = this.gameObject; enemyBoatController = GetComponent <EnemyBoatController>(); angleBetweenShipAndWind = GetComponent <AngleBetweenShipAndWind>(); windArea = GameObject.Find("Wind Area").GetComponent <WindArea>(); corner0 = GameObject.Find("Corner 0"); corner1 = GameObject.Find("Corner 1"); corner2 = GameObject.Find("Corner 2"); corner3 = GameObject.Find("Corner 3"); minDistBetweenParallel = 10; maxDistBetweenParallel = 30; cannonsTimeOfNextFire = new float[6]; for (int i = 0; i < cannonsTimeOfNextFire.Length; i++) { cannonsTimeOfNextFire[i] = Time.time; } enemyBoatController.SailsDown(); changeDirectionTime = Time.time + RandomPeriodOfTime(); activeState = state_PlayerSearch; }
void Start() { enemyBoatController = GetComponent <EnemyBoatController>(); angleBetweenShipAndWind = GetComponent <AngleBetweenShipAndWind>(); currentShipToWindAngle = angleBetweenShipAndWind.GetCurrentShipToWindAngle(); fastestSailToShipAngle = GetFastestSailsToShipAngle(currentShipToWindAngle); lastShipToWindAngle = currentShipToWindAngle; activeState = state_SetOptimalSailToShipAngle; }
public void spawnNewEnemy() { GameObject enemyBoat = GameObject.Instantiate(enemyBoatPrefab, getRandomSpawnPoint(), Quaternion.identity); EnemyBoatController _controller = enemyBoat.GetComponent <EnemyBoatController>(); if (_controller == null) { Debug.LogError("There was no controlle ron enemy!"); Destroy(enemyBoat); } enemyBoats.Add(_controller); }
public void unregisterComponent(GameComponent componentToRemove) { gameComponents.Remove(componentToRemove); EnemyBoatController enemyBoat = (EnemyBoatController)componentToRemove; if (enemyBoat) { enemyBoats.Remove(enemyBoat); } PlayerController player = (PlayerController)componentToRemove; if (player) { players.Remove(player); } }
public static void SetShipsParallel(GameObject ourShip, GameObject otherShip, EnemyBoatController enemyBoatController) { float ourShipToOtherShipAngle = GetOurShipToOtherShipAngle(ourShip, otherShip); Vector3 otherShipDirection = new Vector3(otherShip.transform.forward.x, 0, otherShip.transform.forward.z); if ((ourShipToOtherShipAngle >= -90) && (ourShipToOtherShipAngle <= 90)) { //set our ship parallel to player ship enemyBoatController.SetNewShipDirection(otherShipDirection); } else { //set our ship parallel but opposite to player ship Vector3 rotatedVector = GetRotatedVector(otherShipDirection, 180 * Mathf.Deg2Rad); enemyBoatController.SetNewShipDirection(rotatedVector); } }
public void registerComponent(GameComponent newComponent) { gameComponents.Add(newComponent); EnemyBoatController enemyBoat = (EnemyBoatController)newComponent; if (enemyBoat) { enemyBoats.Add(enemyBoat); } PlayerController player = (PlayerController)newComponent; if (player) { playersSpawned = true; players.Add(player); } }