private void Awake() { Assert.IsNotNull(ElementTemplate); _toggleMenu = GetComponent <IToggleMenuView>(); _gridModel = SharedModels.Get <IGridModel <BuildingModel> >(); _gridModel.ElementAdded += OnElementAdded; }
private void Awake() { Assert.IsNotNull(_landTemplate); Assert.IsNotNull(_gridView); _gridView.CreateBuilding = CreateBuilding; //A model could also be specified directly as ScriptableObject variable of a Monobehaviour. //Just remember to cast it to the right interface. _gridModel = SharedModels.Get <GridModel>(); }
private void Awake() { Assert.IsNotNull(_raycaster, "You must specify a raycaster"); Assert.IsNotNull(_selectedCellObject, "You must provide an object to highlight the landing place of the building"); _selectedCell = _selectedCellObject.GetComponent <SelectedCellView>(); _sharedData = SharedModels.GetWriteableModel <SharedDataModel>(); _sharedData.SelectedBuilding.OnChange += OnSelectedBuildingChange; _gridModel = SharedModels.Get <IGridModel <BuildingModel> >(); _scaledCell = new Vector3( (_cellSize.x * transform.localScale.x) / _gridModel.Rows, 0f, (_cellSize.y * transform.localScale.z) / _gridModel.Columns); _scaledOffset = new Vector3( (_cellSize.x / 2f) * transform.localScale.x, 0f, (_cellSize.y / 2f) * transform.localScale.z); }