private void Start() { core = GetComponent <KaijuCore>(); cameraPivot = transform.Find("Camera Pivot").gameObject; mainCamera = cameraPivot.transform.Find("Kaiju Camera").GetComponent <Camera>(); }
private void Update() { if (isLocal) { HideCursor(gameMaster.IsGameInProgress()); if (playerInput == PlayerInput.KEYBOARD) { if (isAlive) { if (Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.S)) { core.SetThrottle(1f); } else if (Input.GetKey(KeyCode.S) && !Input.GetKey(KeyCode.W)) { core.SetThrottle(-1f); } else { core.SetThrottle(0f); } if (Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D)) { core.SetRudder(-1f); } else if (Input.GetKey(KeyCode.D) && !Input.GetKey(KeyCode.A)) { core.SetRudder(1f); } else { core.SetRudder(0f); } } cameraAim = new Vector2(cameraAim.x + Input.GetAxis("Mouse X"), Mathf.Clamp(cameraAim.y - Input.GetAxis("Mouse Y"), -cameraMaxY_up, cameraMaxY_down)); cameraPivot.transform.rotation = Quaternion.Euler(cameraAim.y, cameraAim.x, 0f); if (isAlive) { if (Input.GetMouseButton(0)) { turret.FireCannon(playerMask); } if (Input.GetMouseButton(1)) { missileLauncher.Launch(); } } } if (isAlive) { Ray aimRay = mainCamera.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0f)); if (Physics.Raycast(aimRay, out RaycastHit aimHit, 50000f, playerMask + (1 << 14))) { //Debug.Log("Raycast hit: " + aimHit.transform.name); if (aimHit.transform.gameObject.layer == 9 || aimHit.transform.gameObject.layer == 13) { KaijuCore enemy = aimHit.transform.root.Find("Kaiju").GetComponent <KaijuCore>(); //turret.UpdateAim(enemy.transform.position + Quaternion.Euler(0f, enemy.transform.Find("Ship Pivot").eulerAngles.y, 0f) * new Vector3(0f, 0.25f, -0.65f), enemy.GetMovement());//enemy.GetVelocity()); turret.UpdateAim(aimHit.point, enemy.GetMovement()); //Vector3 point = enemy.transform.position + Quaternion.Euler(0f, enemy.transform.Find("Ship Pivot").eulerAngles.y, 0f) * new Vector3(0f, 0.25f, -0.65f); Vector3 point = aimHit.point; Debug.DrawLine(point, turret.transform.position, Color.red); crosshair.color = new Color(1f, 0.25f, 0f, 0.65f); } else { turret.UpdateAim(aimHit.point, Vector3.zero); crosshair.color = new Color(1f, 1f, 1f, 0.65f); } } else { Vector3 targetPointTemp = mainCamera.gameObject.transform.position + aimRay.direction * 50000f; if (targetPointTemp.y < 0f) { targetPointTemp = new Vector3(targetPointTemp.x, 0f, targetPointTemp.z); } turret.UpdateAim(targetPointTemp, Vector3.zero); crosshair.color = new Color(0.75f, 0.75f, 0.75f, 0.50f); } } }
private void Start() { playing = false; if (gameMaster != null) { playerNumber = gameMaster.AddPlayer(gameObject); gameMasterActive = true; } else if (isLocalPlayer && isServer) { NetworkServer.SpawnWithClientAuthority(Instantiate(gameMasterPrefab, Vector3.zero, Quaternion.identity), connectionToClient); } //Debug.Log(0); ResetHealth(); if (isLocalPlayer) { // Generate a name for the player CmdSetPlayerName(namePool[Random.Range(0, namePool.Length)] + "_" + Random.Range(0, 99)); GlobalVars.globalGameObjects.TryGetValue("hud", out hud); healthUI = hud.transform.Find("Health UI").GetComponent <Text>(); //Debug.Log(1); } if (isLocalPlayer && isServer) { //Debug.Log(2); icebergMaster = Instantiate(icebergMasterPrefab, Vector3.zero, Quaternion.identity); NetworkServer.SpawnWithClientAuthority(icebergMaster, connectionToClient); //GameObject.Find("Multiplayer_Manager").GetComponent<NetworkManager>().customConfig = true; //GameObject.Find("Multiplayer_Manager").GetComponent<NetworkManager>().connectionConfig.MaxCombinedReliableMessageSize = 248; //GameObject.Find("Multiplayer_Manager").GetComponent<NetworkManager>().connectionConfig.MaxCombinedReliableMessageCount = 248; //GameObject.Find("Multiplayer_Manager").GetComponent<NetworkManager>().connectionConfig.MaxSentMessageQueueSize = 248; //setting cache here if (globalGameObjects.TryGetValue("multiplayer_manager", out gameObjectCache)) { gameObjectCache.GetComponent <NetworkManager>().customConfig = true; gameObjectCache.GetComponent <NetworkManager>().connectionConfig.MaxCombinedReliableMessageSize = 248; gameObjectCache.GetComponent <NetworkManager>().connectionConfig.MaxCombinedReliableMessageCount = 248; gameObjectCache.GetComponent <NetworkManager>().connectionConfig.MaxSentMessageQueueSize = 248; } else { Debug.LogError("Could not find Multiplayer Manager"); } //NetworkServer.Configure(Network.ConnectionConfig) } //Debug.Log(3); kaijuCore = playerObjects[0].GetComponent <KaijuCore>(); shipCore = playerObjects[1].GetComponent <ShipCore>(); shipTurret = playerObjects[1].transform.Find("Ship Pivot/Ship Body/Turret Base/Turret Horizontal").GetComponent <ShipTurret>(); kaijuController = playerObjects[0].GetComponent <PlayerKaijuController>(); shipController = playerObjects[1].GetComponent <PlayerShipController>(); Debug.Log(playerObjects[1]); Debug.Log(shipController); //Debug.Log(4); isKaiju = false; globalGameObjects.TryGetValue("kaiju_tracker", out kaijuTracker); if (isLocalPlayer) { GlobalVars.globalGameObjects.TryGetValue("starting_camera", out startingCamera); GlobalVars.globalGameObjects.TryGetValue("ocean", out ocean); } }