private void DestroyProjectileInternal(Projectile *ptr) { Signals.OnProjectileDestroy(ptr); Signals.OnEntityDestroy(&ptr->_entity); var copy = ptr->_entity; *ptr = _default_.Projectile; ptr->_entity = copy; EntityDestroy(&ptr->_entity); }
public void DestroyProjectile(Projectile *ptr) { if (ptr == null) { return; } if (ptr->_entity._active == false) { return; } _destroy.Enqueue(ptr->EntityRef); }
public Boolean Next() { while (++_index < Projectile.MAX_COUNT) { if (_ptr[_index]._entity._active) { Current = &_ptr[_index]; return(true); } } Current = null; return(false); }
public void OnProjectileDestroy(Projectile *entity) { var array = _f._ISignalOnProjectileDestroySystems; var systems = &(_f._globals->Systems); for (Int32 i = 0; i < array.Length; ++i) { var s = array[i]; if (BitSet256.IsSet(systems, s.RuntimeIndex)) { s.OnProjectileDestroy(_f, entity); } } }
public ProjectileIterator(Projectile *ptr) { _ptr = ptr; _index = -1; Current = null; }