private void OnNewStorageReceived(CubeStorage storage) { if (_storage == null) { _storage = storage; return; } var currentTime = DateTime.ParseExact(_storage.ModifiedData, "MM-dd-yyyy", CultureInfo.InvariantCulture); var toCompareTime = DateTime.ParseExact(storage.ModifiedData, "MM-dd-yyyy", CultureInfo.InvariantCulture); if (!_comparer.IsSameDates(currentTime, toCompareTime)) { for (var i = 0; i < storage.Data.Count; i++) { var oldPosition = CreatedFigures[i].ToMovePosition; var newPosition = storage.Data[i].Coordinate.Get; if (oldPosition.Equals(newPosition)) { continue; } CreatedFigures[i].ToMovePosition = newPosition; CreatedFigures[i].Move(); } } _storage = storage; }
private void CreateCubes(CubeStorage storage) { var customizator = new FigureCustomization(); foreach (var cubeData in storage.Data) { var tempFigure = Instantiate(_figurePrefab, new Vector3(), Quaternion.identity); customizator.SetName(tempFigure, cubeData.Name); customizator.SetID(tempFigure, cubeData.Id); customizator.SetType(tempFigure, cubeData.Type); customizator.SetLinkToEventsManager(tempFigure, _eventsManager); customizator.SetToMovePosition(tempFigure, cubeData.Coordinate.Get); _application.CreatedFigures.Add(tempFigure); } _eventsManager.OnCubeStorageReceived -= CreateCubes; }
public void SendCubeStorage(CubeStorage storage) { OnCubeStorageReceived?.Invoke(storage); }