private void OnTriggerStay2D(Collider2D collision) { if (collision.gameObject.CompareTag("Player")) { PlayerInputContainer pcon = collision.GetComponent <PlayerInputContainer>(); if (pcon.GetAButton() && !pcon.isOperatingStation) { if (shipInfo.SetFixer(collision.gameObject)) // returns true when there is nobody controlling { pcon.isOperatingStation = true; shipInfo.freezePlayer(collision.gameObject); collision.gameObject.GetComponent <CameraHolder>().playerCamera.SetActive(false); } } else if (pcon.GetBButton() && pcon.isOperatingStation) { //Debug.Log("Attempting to remove pilot"); if (shipInfo.RemoveFixer(collision.gameObject)) // returns true if collision.gameObject is the player set as pilot { pcon.isOperatingStation = false; shipInfo.unfreezePlayer(collision.gameObject); collision.gameObject.GetComponent <CameraHolder>().playerCamera.SetActive(true); } } } }
private void OnTriggerStay2D(Collider2D collision) { if (collision.gameObject.CompareTag("Player")) { PlayerInputContainer pcon = collision.GetComponent <PlayerInputContainer>(); if (pcon.GetAButton() && !pcon.isOperatingStation) { if (shipInfo.SetPilot(collision.gameObject)) // returns true when there is nobody controlling { //Debug.Log("Name on pilot collision: " + collision.gameObject.name); //Debug.Log(collision.gameObject.name + "'s a button: " + pcon.GetAButton()); pcon.isOperatingStation = true; shipInfo.freezePlayer(collision.gameObject); //collision.gameObject.GetComponent<Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezePositionX | RigidbodyConstraints2D.FreezePositionY | RigidbodyConstraints2D.FreezeRotation; //collision.gameObject.GetComponent<Rigidbody2D>().isKinematic = true; //collision.gameObject.GetComponent<Collider2D>().isTrigger = true; collision.gameObject.GetComponent <CameraHolder>().playerCamera.SetActive(false); } } else if (pcon.GetBButton() && pcon.isOperatingStation) { //Debug.Log("Attempting to remove pilot"); if (shipInfo.RemovePilot(collision.gameObject)) // returns true if collision.gameObject is the player set as pilot { pcon.isOperatingStation = false; shipInfo.unfreezePlayer(collision.gameObject); //collision.gameObject.GetComponent<Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezeRotation; //collision.gameObject.GetComponent<Rigidbody2D>().isKinematic = false; //collision.gameObject.GetComponent<Collider2D>().isTrigger = false; collision.gameObject.GetComponent <CameraHolder>().playerCamera.SetActive(true); } } } }
private void Update() { if (isDeflecting) { if (timer <= deflectLength) //ship is being deflected { timer += Time.deltaTime; shipInfo.freezePlayer(player1); shipInfo.freezePlayer(player2); } else //ship is done deflecting { isDeflecting = false; timer = 0; shipInfo.unfreezePlayer(player1); shipInfo.unfreezePlayer(player2); } } if (GameController.instance.GetCurrentBoost() == 100) { boostTimeStamp = 0; } }