void DownCollisions() { float directionY = -1; float rayLenght = 0.1f + skinWidth; for (int i = 0; i < verticalRayCount; i++) { Vector2 rayOrigin = (directionY == -1) ? raycastOrigins.bottomLeft : raycastOrigins.topLeft; rayOrigin += Vector2.right * (verticalRaySpacing * i); RaycastHit2D hit = Physics2D.Raycast(rayOrigin, Vector2.up * directionY, rayLenght, collisionMask); //Debug.DrawRay(rayOrigin, Vector2.up * directionY, Color.red); if (hit) { if (hit.collider.CompareTag("SlowFall")) { collisions.slowTime = true; } if (hit.collider.CompareTag("TV")) { hit.collider.GetComponent <TextBoxActivate>().PlayerHit(); collisions.hitTV = true; } if (hit.collider.CompareTag("Dog")) { DogColetaTutorial dogTutorial = hit.collider.GetComponent <DogColetaTutorial>(); dogTutorial.AtivaDog(); } if (hit.collider.tag == "Boost") { collisions.boostMoto = true; } if (hit.collider.CompareTag("PortaTutorial")) { collisions.isDoor = true; PortaTutorial porta = hit.collider.GetComponent <PortaTutorial>(); porta.abriPorta = true; return; } if (hit.collider.CompareTag("TextBox")) { hit.collider.GetComponent <TextBoxActivate>().PlayerHit(); } if (hit.collider.CompareTag("Porta")) { collisions.isDoor = true; hit.collider.GetComponent <PortaManager>().OpenDoor(); continue; } if (hit.collider.CompareTag("Coletavel")) { DestroyColetavel2D coletavel2D = hit.collider.GetComponent <DestroyColetavel2D>(); coletavel2D.PegouColetavel(true); playerThings.PV.RPC("SendOnlineCollisions", RpcTarget.Others); FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/ColetaDoOsso"); Scored(); } if (hit.collider.CompareTag("Moedinha")) { //hit.collider.gameObject.SendMessage("Coleta"); //Destroy(hit.collider.gameObject); CoinObject coin = hit.collider.GetComponent <CoinObject>(); coin.PegouMoeda(); } if (hit.collider.CompareTag("Carrinho")) { //dogController.Carro(); dogController.ChangeState("CarroState"); hitCarro.Value = false; if (isDogNormal == true) { FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/TransformaDog"); isDogNormal = false; } } if (hit.collider.CompareTag("Pipa")) { //dogController.Pipa(); dogController.ChangeState("PipaState"); hitPipa.Value = false; if (isDogNormal == true) { FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/TransformaDog"); isDogNormal = false; } } if (hit.collider.CompareTag("Futebol")) { collisions.cabecaBola = true; } if (hit.collider.CompareTag("GolSelect")) { GolSelect select = hit.collider.GetComponent <GolSelect>(); select.jogador = playerThings.GetComponent <PlayerThings>(); //hit.collider.GetComponent<BoxCollider2D>().enabled = false; select.photonView.RPC("DesabilitaColider", RpcTarget.All); } if (hit.collider.CompareTag("CaixaDagua")) { if (isCaixaDaguaSound == true) { StartCoroutine(TocaSomCaixaDeAgua()); } collisions.caixaDagua = true; } } } }
void LeftCollisions() { float directionX = -1; float rayLenght; //if (isBallGame && PlayerThings.leftDir&& futebolPlayer.kicked == true || handVolei.cortou) if (leftRay) { rayLenght = hitLenght + skinWidth; } else { rayLenght = 0.1f + skinWidth; } for (int i = 0; i < horizontalRayCount; i++) { Vector2 rayOrigin = (directionX == -1) ? raycastOrigins.bottomLeft : raycastOrigins.bottomRight; rayOrigin += Vector2.up * (horizontalRaySpacing * i); RaycastHit2D hit = Physics2D.Raycast(rayOrigin, Vector2.right * directionX, rayLenght, collisionMask); //Debug.DrawRay(rayOrigin, Vector2.right * directionX, Color.red); if (hit) { if (hit.collider.CompareTag("TV")) { hit.collider.GetComponent <TextBoxActivate>().PlayerHit(); collisions.hitTV = true; } if (hit.collider.CompareTag("Dog")) { DogColetaTutorial dogTutorial = hit.collider.GetComponent <DogColetaTutorial>(); dogTutorial.AtivaDog(); } if (hit.collider.CompareTag("Pet")) { if (hit.distance == 0) { collisions.hitDog = true; } } if (hit.collider.CompareTag("Boost")) { collisions.boostMoto = true; } if (hit.collider.CompareTag("PortaTutorial")) { collisions.isDoor = true; PortaTutorial porta = hit.collider.GetComponent <PortaTutorial>(); porta.abriPorta = true; return; } if (hit.collider.CompareTag("TextBox")) { hit.collider.GetComponent <TextBoxActivate>().PlayerHit(); } if (hit.collider.CompareTag("Porta")) { collisions.isDoor = true; hit.collider.GetComponent <PortaManager>().OpenDoor(); continue; } if (hit.collider.CompareTag("Coletavel")) { DestroyColetavel2D coletavel2D = hit.collider.GetComponent <DestroyColetavel2D>(); coletavel2D.PegouColetavel(true); playerThings.PV.RPC("SendOnlineCollisions", RpcTarget.Others); FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/ColetaDoOsso"); Scored(); } if (hit.collider.CompareTag("Moedinha")) { //hit.collider.gameObject.SendMessage("Coleta"); CoinObject coin = hit.collider.GetComponent <CoinObject>(); coin.PegouMoeda(); } if (hit.collider.CompareTag("Carrinho")) { //dogController.Carro(); dogController.ChangeState("CarroState"); hitCarro.Value = false; if (isDogNormal == true) { FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/TransformaDog"); isDogNormal = false; } } if (hit.collider.CompareTag("Pipa")) { //dogController.Pipa(); dogController.ChangeState("PipaState"); hitPipa.Value = false; if (isDogNormal == true) { FMODUnity.RuntimeManager.PlayOneShot("event:/SFX/Feedback/Coletaveis/TransformaDog"); isDogNormal = false; } } if (hit.collider.CompareTag("DogTiro")) { playerThings.StartCoroutine("LevouDogada"); if (isShotRecived) { StartCoroutine(TocaSomTiroDoDog()); } } if (hit.collider.CompareTag("Volei")) { if (PlayerThings.rightDir) { collisions.tocouBola = true; if (isBallKicked) { StartCoroutine(TocaSomChutaBola()); } } if (PlayerThings.leftDir) { collisions.cortaBola = true; if (isBallKicked) { StartCoroutine(TocaSomChutaBola()); } } } if (hit.collider.CompareTag("Futebol")) { if (PlayerThings.rightDir) { if (hit.distance == 0) { collisions.tocouBola = true; if (isBallKicked) { StartCoroutine(TocaSomChutaBola()); } } } if (PlayerThings.leftDir) { collisions.chutouBola = true; if (isBallKicked) { StartCoroutine(TocaSomChutaBola()); } } } if (hit.collider.CompareTag("AI")) { if (PlayerThings.leftDir) { footballFSM = hit.collider.GetComponent <FootballFSMController>(); collisions.canKickBot = true; futebolPlayer.KickBot(footballFSM); } } if (hit.collider.CompareTag("LinhaDeChegada")) { hit.collider.gameObject.GetComponent <LinhaDeChegada>().Colidiu(gameObject); } } } }