Beispiel #1
0
        private void RemoveMolecule(SupportedMolecules type)
        {
            var go = _molecules[type][0];

            _molecules[type].Remove(go);
            go.SetActive(false);
            Destroy(go);
            FillInBodies();
        }
Beispiel #2
0
        private void AddMolecule(SupportedMolecules type)
        {
            GameObject currentMolecule = _moleculesPool.Build(type);
            Rigidbody  rb = currentMolecule.GetComponent <Rigidbody>();

            rb.velocity = Random.onUnitSphere * _desiredVelocity;
            if (!_molecules.ContainsKey(type))
            {
                _molecules.Add(type, new List <GameObject>());
            }
            _molecules[type].Add(currentMolecule);
            FillInBodies();
        }
Beispiel #3
0
 private void SetNewMoleculesCount(SupportedMolecules typoKey, int newCount)
 {
     while (_molecules[typoKey].Count != newCount)
     {
         if (_molecules[typoKey].Count > newCount)
         {
             RemoveMolecule(typoKey);
         }
         else
         {
             AddMolecule(typoKey);
         }
     }
 }
 public GameObject Build(SupportedMolecules type)
 {
     return(Instantiate(_moleculesPrefabs[type], _parent));
 }