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);
        }
Ejemplo n.º 3
0
        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
            });
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 7
0
 public void SetInfo(BigBuildingModel model)
 {
     Model      = model;
     _name.text = model.BuildingInfo.Name;
 }
 private void BuildingSelected(BigBuildingModel model)
 {
     TryBuildAction?.Invoke(_xCell, _yCell);
 }
Ejemplo n.º 9
0
 private void BuildingSelected(BigBuildingModel model)
 {
     BuildingSelectedAction?.Invoke(model);
 }