Exemple #1
0
    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;
 }
Exemple #3
0
    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);
    }
Exemple #5
0
    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;
 }