public void ResetObjects() { _currentPattern = null; foreach (var obj in _spawnedObjects) { obj.Destroy(); } _spawnedObjects.Clear(); }
public void SetNewPattern(PatternObjectInfo info) { if (_currentPattern == null) { _spawnPoint = _currentDirection * (_currentDistance + GetPatternStep(info)); } else { _spawnPoint += _currentDirection * (GetPatternStep(info) + GetPatternStep(_currentPattern)); } _currentPattern = info; }
float GetPatternStep(PatternObjectInfo info) { return(new Vector3(info.Size.x * _currentDirection.x, info.Size.y * _currentDirection.y, info.Size.z * _currentDirection.z).magnitude / 2); }