public void OnMove(BlackHoleBehaviour movedBehaviour) { unsafe { if (_numGrasped > 0) { for (int i = 0; i < _sim.mainState->numBlackHoles; i++) { var ie = _spawned[i].GetComponent <InteractionBehaviour>(); if (!ie.isGrasped) { continue; } int id = _sim.mainState->blackHoles[i].id; _sim.UpdateDrag(_renderer.displayAnchor.worldToLocalMatrix * _spawned[i].transform.localToWorldMatrix, id); } GalaxySimulation.BlackHole *ptr = _sim.mainState->blackHoles; for (int i = 0; i < _sim.mainState->numBlackHoles; i++, ptr++) { ptr->position = _renderer.displayAnchor.InverseTransformPoint(_spawned[i].transform.position); ptr->velocity = _renderer.displayAnchor.InverseTransformDirection(_spawned[i].transform.forward * (*ptr).velocity.magnitude); } _sim.ResetTrails(); } } }
// Start is called before the first frame update void Start() { currentSpawnIndex = 0; instance = this; currentVisibleSpawnEffectGo = null; allItemsColliders = new List <Collider2D>(); blackHole = null; selectedNextSpawnableItem = null; }
public void OnGrasp(BlackHoleBehaviour graspedBehaviour) { _numGrasped++; _sim.simulate = false; unsafe { int index = _spawned.IndexOf(graspedBehaviour); int id = _sim.mainState->blackHoles[index].id; _sim.BeginDrag(_renderer.displayAnchor.worldToLocalMatrix * graspedBehaviour.transform.localToWorldMatrix, id); } }
public void BlackHoleOver() { blackHole = null; foreach (Collider2D itemCol in allItemsColliders) { if (itemCol != null && itemCol.gameObject != null && itemCol.gameObject.activeInHierarchy) { Destroy(itemCol.gameObject); } } allItemsColliders.Clear(); uiPanelAnimator.SetBool("Visible", true); }
public void OnRelease(BlackHoleBehaviour releasedBehaviour) { _numGrasped--; unsafe { int index = _spawned.IndexOf(releasedBehaviour); int id = _sim.mainState->blackHoles[index].id; _sim.EndDrag(id); if (_numGrasped == 0) { _sim.simulate = true; } } }
public void BlackHolePresent(BlackHoleBehaviour bH) { blackHole = bH; }