public void OnUniverseObjectAdded(UniverseObject universeObject) { if (universeObject is UniverseEngine.Avatar) { avatarView = universeFactory.GetAvatar(); avatarView.Init((UniverseEngine.Avatar)universeObject, this); tilemapObjectViews.Add(avatarView); } else if (universeObject is UniverseEngine.Ship) { shipView = universeFactory.GetShip(); shipView.Init((UniverseEngine.Ship)universeObject, this); tilemapObjectViews.Add(shipView); } }
//Bootstrap game. public void Start() { _planetsPool = ObjectPool <PlanetView> .Construct( planetPrefab, configuration.MaximumObservablePlanets, go => go.GetComponent <PlanetView>() ); var(gameInstance, initialState) = GameFactory.Generate(configuration.GameConfiguration()); playerController.Init(gameInstance); var shipInstance = Instantiate(shipPrefab); gridCamera.Adjust(initialState.Zoom); _shipView = shipInstance.GetComponent <ShipView>(); _shipView.Init(initialState.PlayerRating); UpdateView(initialState); }