override public void onShot(Vector3 shotPosition, damageEffectors effector) { if (effector != damageEffectors.bullet) { return; } if (!isActivated) { calculatePoints(effector); StartCoroutine("destroyAllCubes"); } }
protected void calculatePoints(damageEffectors effector) { if (effector == damageEffectors.bullet) { if (gameManager.Instance.currentTargetType == type || type == cubeTypes.special) { gameManager.Instance.incrementScore(bulletShotScore); } } else if (effector == damageEffectors.megaCube) { gameManager.Instance.incrementScore(bulletShotScore); } }
public void unfreeze(bool destroyIfPossible, damageEffectors effector) { isFrozen = false; if (destroyIfPossible) { calculatePoints(effector); explode(transform.position); } else { rb.isKinematic = false; rb.angularVelocity = prefreezeAngularVelocity; if (prefreezeLinearVelocity == Vector3.zero) { rb.velocity = Random.onUnitSphere * instanciationVeclocityMagnitude; //Meaning it was being attracted to an absorber whenit was frozen... } else { rb.velocity = prefreezeLinearVelocity; } } }
virtual public void onShot(Vector3 position, damageEffectors effector) { calculatePoints(effector); explode(position); }
public void onShot(Vector3 shotPosition, damageEffectors damageEffector) { resetForPooling(); }
public void onShot(Vector3 shotPosition, damageEffectors damageEffector) { hasBeenShot = true; StopAllCoroutines(); //Incase the cube was already about to reset itself since it was finished shooting... StartCoroutine("Explode"); }