private void DisplayGroupNode(BaseNode nodeToDisplay) { CurrentDisplayNode = nodeToDisplay; int count = nodeToDisplay.Children.Count; List <BaseNode> list = new List <BaseNode>(count + 1); list.Add(nodeToDisplay); list.AddRange(nodeToDisplay.Children); for (uint num = (uint)list.Count; num < orderedControllers.Length; num++) { ITileController tileController = orderedControllers[num]; if (tileController != null) { DestroyController(num, destroyView: true); } } for (uint num = 0u; num < list.Count; num++) { BaseNode node = list[(int)num]; if (num >= orderedCells.Length) { logger.Warn("The hex grid is not large enough to fit all nodes."); } else { SetupTileController(num, node); } } }
public void Setup() { // initialize services _compositionRoot = TestHelper.GetCompositionRoot(_worldZeroPoint); // get local references _mapDataLoader = _compositionRoot.GetService<IMapDataLoader>(); _tileController = _compositionRoot.GetService<ITileController>(); }
public void Setup() { _container = new Container(); TestHelper.GetGameRunner(_container) .RunGame(TestHelper.BerlinTestFilePoint); _tileEditor = _container.Resolve <ITileModelEditor>(); _elementSourceProvider = _container.Resolve <IElementSourceProvider>(); _tileController = _container.Resolve <ITileController>(); }
public void Setup() { // initialize services _compositionRoot = TestHelper.GetCompositionRoot(_worldZeroPoint); // get local references _mapDataLoader = _compositionRoot.GetService <IMapDataLoader>(); _tileController = _compositionRoot.GetService <ITileController>(); _isCalled = false; }
private void DestroyController(uint orderedIndex, bool destroyView) { ITileController tileController = orderedControllers[orderedIndex]; if (tileController != null) { tileController.Destroy(destroyView); orderedControllers[orderedIndex] = null; } }
public TileModelEditor(ITileController tileController, IElementSourceProvider elementSourceProvider, IElementSourceEditor elementSourceEditor, IModelLoader modelLoader, IObjectPool objectPool) { _tileController = tileController; _elementSourceProvider = elementSourceProvider; _elementSourceEditor = elementSourceEditor; _modelLoader = modelLoader; _objectPool = objectPool; }
/// <summary> Performs framework initialization once, before any Start() is called. </summary> void Awake() { _appManager = ApplicationManager.Instance; _appManager.InitializeFramework(ConfigBuilder.GetDefault(), (compositionRoot) => { compositionRoot.RegisterAction((c, _) => c.Register(UtyDepend.Component.For <IProjection>().Use <CartesianProjection>(GetWorldZeroPoint()))); }); _appManager.CreateDebugConsole(); _trace = _appManager.GetService <ITrace>(); _tileController = _appManager.GetService <ITileController>(); _modelBuilder = _appManager.GetService <IModelBuilder>(); _mapDataLoader = _appManager.GetService <IMapDataLoader>(); }
void OnEnable() { Assert.raiseExceptions = true; Centre = new GeoCoordinate(CentreLatitude, CentreLongitude); Scheduler.MainThread = UnityMainThreadScheduler.MainThread; m_container = new Container(); m_messageBus = new MessageBus(); m_trace = new UnityTrace(); UnityMainThreadDispatcher.RegisterUnhandledExceptionCallback( ex => m_trace.Error("Fatal", ex, "Unhandled exception")); m_container.RegisterInstance(this); m_container.RegisterInstance(new MapGenTileExporter(this)); m_container.RegisterInstance <ITrace>(m_trace); m_container.RegisterInstance <IPathResolver>(new PathResolver()); m_container.RegisterInstance(m_messageBus); m_container.Register(Component.For <IFileSystemService>().Use <FileSystemService>().Singleton()); Config = ConfigBuilder.GetDefault() .SetTileSettings(TileSize, 40) .SetRenderOptions( RenderMode.Scene, new Rectangle2d(0, 0, TileSize, TileSize)) .Build(); m_gameRunner = new GameRunner(m_container, Config); m_gameRunner.RegisterPlugin <MapGenBootstrapper>("mapgen", this); m_gameRunner.Bootstrap(); Observable.Start( () => { m_tileController = GetService <ITileController>(); m_gameRunner.RunGame(Centre); IsInitialized = true; }, Scheduler.ThreadPool); }
private void Initialize() { // initialize services _compositionRoot = TestHelper.GetCompositionRoot(_worldZeroPoint); // get local references _messageBus = _compositionRoot.GetService <IMessageBus>(); _trace = _compositionRoot.GetService <ITrace>(); _tileController = _compositionRoot.GetService <ITileController>(); SetupMapData(); // set observer to react on geo position changes _messageBus.AsObservable <GeoPosition>() .ObserveOn(Scheduler.MainThread) .Subscribe(position => { _trace.Debug(TraceCategory, "GeoPosition: {0}", position.ToString()); _tileController.OnPosition(position.Coordinate, LevelOfDetails); }); }
private void Initialize() { // initialize services _compositionRoot = TestHelper.GetCompositionRoot(_worldZeroPoint); // get local references _messageBus = _compositionRoot.GetService<IMessageBus>(); _trace = _compositionRoot.GetService<ITrace>(); _tileController = _compositionRoot.GetService<ITileController>(); SetupMapData(); // set observer to react on geo position changes _messageBus.AsObservable<GeoPosition>() .ObserveOn(Scheduler.MainThread) .Subscribe(position => { _trace.Debug(TraceCategory, "GeoPosition: {0}", position.ToString()); _tileController.OnPosition(position.Coordinate, LevelOfDetails); }); }
private void SetupTileController(uint orderedIndex, BaseNode node) { HexGridCell <BaseNode> hexGridCell = orderedCells[orderedIndex]; hexGridCell.Value = node; ITileController tileController = orderedControllers[orderedIndex]; TileView tileView = null; if (!tilePrefabMap.TryGetValue(node.GetType(), out var value)) { logger.Error("No tile view prefab mapping exists for type {0}.", node.GetType()); DestroyController(orderedIndex, destroyView: true); return; } if (tileController != null) { if (tileController.ViewType != value.GetType()) { DestroyController(orderedIndex, destroyView: true); } else { tileView = tileController.BaseView; } } if (tileView == null) { tileView = GetTileView(hexGridCell); if (tileView == null) { logger.Error("Failed to get a tile view for node of type {0}", node.Type); return; } } DestroyController(orderedIndex, destroyView: false); tileController = TileControllerFactory.MakeController(tileView, hexGridCell, this); orderedControllers[orderedIndex] = tileController; }
public LocateCommand(ITileController controller) { _geoPositionObserver = controller; _mapPositionObserver = controller; }
public SearchCommand(ITileController controller, ISearchEngine searchEngine) { _tileController = controller; _geoPositionObserver = controller; _searchEngine = searchEngine; }
public void SetTileController(ITileController tileController) { this.tileController = tileController; }