private objetosColision gestionarColision(Collider c) { objetosColision tmp = objetosColision.None; if (c.gameObject.tag == "2Puntos") { tmp = objetosColision.CuboTipo1; puntosEnDuda = 2; } if (c.gameObject.tag == "3Puntos") { tmp = objetosColision.CuboTipo1; puntosEnDuda = 3; } if (c.gameObject.tag == "4Puntos") { tmp = objetosColision.EsferaTipo1; puntosEnDuda = 4; } if (c.gameObject.tag == "5Puntos") { tmp = objetosColision.EsferaTipo2; puntosEnDuda = 5; } return(tmp); }
void OnTriggerEnter(Collider c) { if (sinPrimeraColision) { objetoColisionAnterior = gestionarColision(c); sinPrimeraColision = false; } objetoConColision = gestionarColision(c); // Si son del mismo tipo, se resta puntos if (objetoConColision == objetoColisionAnterior) { puntos -= puntosEnDuda; } // Si alternan, suma la mitad de los puntos if (esCubo(objetoConColision) && esEsfera(objetoColisionAnterior) || esEsfera(objetoConColision) && esCubo(objetoColisionAnterior)) { puntos += puntosEnDuda / 2; Destroy(c.gameObject); } }
private bool esEsfera(objetosColision o) { return(o == objetosColision.EsferaTipo2 || o == objetosColision.EsferaTipo1); }
private bool esCubo(objetosColision o) { return(o == objetosColision.CuboTipo1 || o == objetosColision.CuboTipo2); }