more functions for IsoPhysics

This commit is contained in:
2016-11-27 11:18:17 +07:00
parent 0746be1275
commit b3922d5cfe
3 changed files with 289 additions and 91 deletions

View File

@@ -4,14 +4,16 @@ using System.Collections;
namespace IsoTools.Examples.Kenney {
public class AlienDestroyer : MonoBehaviour {
static IsoRaycastHit[] _raycastBuffer = new IsoRaycastHit[16];
void Update () {
var iso_world = IsoWorld.Instance;
if ( iso_world && Input.GetMouseButtonDown(0) ) {
var iso_mouse_pos = iso_world.MouseIsoPosition();
var ray_from_iso_camera = iso_world.RayFromIsoCameraToIsoPoint(iso_mouse_pos);
var hits = IsoPhysics.RaycastAll(ray_from_iso_camera);
for ( var i = 0; i < hits.Length; ++i ) {
var alien_go = hits[i].collider.gameObject;
var hit_count = IsoPhysics.RaycastNonAlloc(ray_from_iso_camera, _raycastBuffer);
for ( var i = 0; i < hit_count; ++i ) {
var alien_go = _raycastBuffer[i].collider.gameObject;
if ( alien_go.GetComponent<AlienBallController>() ) {
Destroy(alien_go);
}