private void BuildingSelected(BigBuildingModel model) { SignalService.Publish(new SowBuildingInfoSignal() { Value = model }); }
public void SowBuildingInfo(SowBuildingInfoSignal signal) { BigBuildingModel model = signal.Value; bool buildingIsWorking = _gameControl.GetBuildingIsWorking(model.Id); View.CreateNewPopup(signal.Value, buildingIsWorking, SignalService, _gameControl); }
public void AddBuilding(BigBuildingModel model) { GameObject loadedPrefab = Instantiate(model.BuildingInfo.Prefab, transform, false); loadedPrefab.transform.localPosition = new Vector3(model.X * CellWidth, model.BuildingInfo.Prefab.transform.position.y, model.Y * CellHeight); Building script = loadedPrefab.GetComponent <Building>(); script.bigBuildingModel = model; script.BuildingSelectedAction += BuildingSelected; }
private void TryBuild(int x, int y) { if (_buildingInfo == null) { return; } BigBuildingModel model = new BigBuildingModel() { X = x, Y = y, BuildingInfo = _buildingInfo }; SignalService.Publish(new TryBuildSignal() { Value = model }); }
public void CreateNewPopup( BigBuildingModel model, bool buildingIsWorking, ISignalService signalService, IGameControl gameControl) { BuildingPopupBase prefab = _simplePopup; if (model.BuildingInfo.GoldProduction == 0 && model.BuildingInfo.WoodProduction == 0 && model.BuildingInfo.IronProduction == 0) { prefab = _simplePopup; } else if (buildingIsWorking) { prefab = _workinPopup; } else { prefab = _readyPopup; } BuildingPopupBase newPopup = Instantiate(prefab, transform, false); Vector3 screenPos = _camera.WorldToScreenPoint(model.BuildingGameObject.transform.position); Vector2 movePos; RectTransformUtility.ScreenPointToLocalPointInRectangle(parentCanvas.transform as RectTransform, screenPos, parentCanvas.worldCamera, out movePos); Vector3 viewPos = parentCanvas.transform.TransformPoint(movePos); newPopup.transform.localPosition = movePos; newPopup.SetInfo(model); newPopup.SignalService = signalService; newPopup.GameControl = gameControl; }
private void CreateBuildingView(CreateBuildingViewSignal signal) { BigBuildingModel model = signal.Value; View.AddBuilding(model); }
public void SetInfo(BigBuildingModel model) { Model = model; _name.text = model.BuildingInfo.Name; }
private void BuildingSelected(BigBuildingModel model) { TryBuildAction?.Invoke(_xCell, _yCell); }
private void BuildingSelected(BigBuildingModel model) { BuildingSelectedAction?.Invoke(model); }