public void Update() { if (!_initializationWasSuccessfull) { return; } _movementCustodian.Update(); if (_movementCustodian.IsMovementPossible()) { RunOnceBox.RunOnce(ref _movementStartBox, () => { Debug.Log("time to moving " + Time.realtimeSinceStartup); }, 3); } Traveller.SetActive(_movementCustodian.IsMovementPossible()); Overlay.SetMovementPossibilityDetails(_movementCustodian.ThisFrameBlockingProcesses); _updaterUntilException.Execute(() => { _ultraUpdatableContainer.Update(new MockedFromGameObjectCameraForUpdate(Traveller)); }); var position3D = Traveller.transform.position; var travellerFlatPosition = new Vector2(position3D.x, position3D.z); _eTerrainHeightPyramidFacade.Update(travellerFlatPosition); if (_gameInitializationFields.HasField <MultipleLevelsHeightPyramidExplorerGO>()) { var explorer = _gameInitializationFields.Retrive <MultipleLevelsHeightPyramidExplorerGO>(); explorer.UpdateTravellingUniforms(travellerFlatPosition, _eTerrainHeightPyramidFacade.PyramidCenterWorldSpacePerLevel); explorer.UpdateHeightmapSegmentFillingState(_heightmapListenersContainer.ListenersDict.ToDictionary(c => c.Key, c => c.Value.TokensDict)); } }
public void Update() { var position3D = Traveller.transform.position; var travellerFlatPosition = new Vector2(position3D.x, position3D.z); _eTerrainHeightPyramidFacade.Update(travellerFlatPosition); DrawObjects(); var selectorWithParameters = EPropHotAreaSelectorWithParameters.Create(_ePropHotAreaSelector, _eTerrainHeightPyramidFacade.PyramidCenterWorldSpacePerLevel, travellerFlatPosition); _elevationManager.UpdateAsync(travellerFlatPosition, _eTerrainHeightPyramidFacade.PyramidCenterWorldSpacePerLevel, selectorWithParameters).Wait(); if (Time.frameCount % 100 == 0) { if (RecalculateSectorsDivision) { var propLocaleChanges = _elevationManager.RecalculateSectorsDivisionAsync(travellerFlatPosition).Result; _dummyObjectsDisplayer.ProcessLocaleChanges(propLocaleChanges); _dummyObjectsInstancingDisplayer.ProcessLocaleChanges(propLocaleChanges); } _sectorAreasDisplayer.Update(_elevationManager.DebugQuerySectorStates(selectorWithParameters)); } var rt4 = selectorWithParameters.MergeRings; _mergeRingsDisplayer.Update(rt4); _mergeRingsDisplayer.SetActive(DisplayMergeRings); _sectorAreasDisplayer.SetActive(DisplaySelectorAreas); _dummyObjectsDisplayer.SetActive(DisplayDummyObjects); if (Time.frameCount > 10000 || _dummyObjectsInstancingDisplayer.CurrentObjectsCount > ObjectsToCreateCount) { return; } if (GenerateObjects) { var sideLength = 400f; var axisCount = ObjectsToCreateOnOneLine; var newPropIds = Enumerable.Range(0, axisCount).SelectMany(x => Enumerable.Range(0, axisCount).Select(y => { var flatPosition = new Vector2(((float)x / axisCount - 0.5f) * sideLength, ((float)y / axisCount - 0.5f) * sideLength); return(new DebugFlatPositionWithEPropPointerAndId() { PointerWithId = _elevationManager.DebugRegisterPropWithElevationId(flatPosition), FlatPosition = flatPosition }); } )).ToArray(); AddProps(newPropIds); } }