void Start() { controllerAI = GetComponent <ControllerAI>(); gravity = -(2f * maxJumpHeight) / (timeToJumpApex * timeToJumpApex); minJumpVelocity = Mathf.Sqrt(2f * Mathf.Abs(gravity * minJumpHeight)); maxJumpVelocity = Mathf.Abs(gravity) * timeToJumpApex; currentMoveSpeed = moveSpeed; //at start, move speed is max (decreased when landing from dash) currentJumpHeightMultiplier = 1f; //same as above but for jump height playerCollider = GetComponent <BoxCollider>(); playerRenderer = GetComponent <Renderer>(); masterManager = FindObjectOfType <MasterManager>(); characterScale = gameObject.transform.localScale; //uglyNose = transform.GetChild(0).gameObject;//abomination //uglyNoseRenderer = uglyNose.GetComponent<Renderer>(); //uglyArm = transform.GetChild(1).gameObject;//abomination //uglyArmRenderer = uglyArm.GetComponent<Renderer>(); //this is the projectile stopper //projectileStopper = transform.GetChild(2).GetComponent<BoxCollider>(); //if (projectileStopper.enabled) projectileStopper.enabled = false;//if active, deactivate it #if UNITY_EDITOR //that's taken care by master manager when scene is loaded lastRegisteredSpawnerPos = FindObjectOfType <PlayerSpawner>().transform.position; //initialise spawner pos #endif masterManager.LevelRestartEvent += RestartLevel;//subscribe restartlevel to event from master manager }
public Manager(int mapWidth, int mapHeight) { MapWidth = mapWidth; MapHeight = mapHeight; controllerAI = new ControllerAI(mapWidth, mapHeight); controllerUser = new ControllerUser(mapWidth, mapHeight); }
public void Reset() { readyToAttack = false; round = 0; controllerAI = new ControllerAI(mapWidth, mapHeight); controllerUser = new ControllerUser(mapWidth, mapHeight); }
//[SerializeField] GameObject[] patrolWaypoints; void Start() { movementAI = GetComponent <MovementAI>(); controllerAI = GetComponent <ControllerAI>(); playerObj = FindObjectOfType <Player>().gameObject; boxCollider = GetComponent <BoxCollider>(); }
/// <summary> /// Start a mock game with 2 AIs /// </summary> void StartMockGame() { // Create controllers int aiId = -1; ControllerAI leftPlayerController = new ControllerAI(aiId, ControllerAI.Difficulty.Normal, _racketsDistance, _leftRacket.InitialPosition, _ball.transform); ControllerAI rightPlayerController = new ControllerAI(aiId, ControllerAI.Difficulty.Normal, _racketsDistance, _rightRacket.InitialPosition, _ball.transform); // Assign controllers to players and start the mock game InitGame(leftPlayerController, rightPlayerController); StartCoroutine(FirstServe()); }
/// <summary> /// Start a new game using chosen parameters in menu /// </summary> public void StartNewGame() { // Default controllers Transform ball = GameManager.Instance.Ball.transform; float racketsDistance = GameManager.Instance.RacketsDistance; ControllerBase leftPlayerController = new ControllerAI(0, ControllerAI.Difficulty.Normal, racketsDistance, GameManager.Instance.LeftRacketInitialPosition, ball); ControllerBase rightPlayerController = new ControllerAI(1, ControllerAI.Difficulty.Normal, racketsDistance, GameManager.Instance.RightRacketInitialPosition, ball); float playerRacketSpeed = GameManager.Instance.PlayerRacketSpeed; int playerId = 0; // Create racket controller for the left player using chosen parameters if (_leftPlayerType == Human) { leftPlayerController = new ControllerHuman(playerId, ControllerBase.ControllerType.Human, playerRacketSpeed, GameManager.Instance.LeftRacketInitialPosition); } else if (_leftPlayerType == Ai) { leftPlayerController = new ControllerAI(playerId, _difficulty, racketsDistance, GameManager.Instance.LeftRacketInitialPosition, ball); } else { Debug.LogError("Error starting new game. Unknown controller type found in Main Menu: " + _leftPlayerType); } // Increases player id to match controls ++playerId; // Create racket controller for the right player using chosen parameters if (_rightPlayerType == Human) { rightPlayerController = new ControllerHuman(playerId, ControllerBase.ControllerType.Human, playerRacketSpeed, GameManager.Instance.RightRacketInitialPosition); } else if (_rightPlayerType == Ai) { rightPlayerController = new ControllerAI(playerId, _difficulty, racketsDistance, GameManager.Instance.RightRacketInitialPosition, ball); } else { Debug.LogError("Error starting new game. Unknown controller type found in Main Menu: " + _rightPlayerType); } // Start new game GameManager.Instance.StartNewGame(leftPlayerController, rightPlayerController); // Hide menus _mainMenu.gameObject.SetActive(false); _pauseMenu.gameObject.SetActive(false); }