private void Awake() { _HexClickedMessage = new HexClickedMessage(null); _unitUseCompoundMessage = new UnitUseCompoundMessage(); _cameraMessage = new CameraMessage(); _debug = GameModel.Get <GameDebug>(); _elements = GameConfig.Get <ElementConfig>().ElementsDictionary; _solidMaterial = Solid.GetComponent <MeshRenderer>().material; GameMessage.Listen <CameraControlMessage>(_ => _clickEnabled = _.Enable); }
private void OnHexChange(HexClickedMessage message) { disposables.Clear(); _hex = message.Hex; _hex.Props[R.Altitude]._Value.Subscribe(_ => Altitude.SetValue(GetPropValue(_))).AddTo(disposables); //hex.Props[ R.Temperature ]._Value.Subscribe( _ => Temperature.SetValue( ( _ * 873 ) - 273 ) ).AddTo( disposables ); _hex.Props[R.Temperature]._Value.Subscribe(_ => Temperature.SetValue(GetPropValue(_))).AddTo(disposables); _hex.Props[R.Pressure]._Value.Subscribe(_ => Pressure.SetValue(GetPropValue(_))).AddTo(disposables); _hex.Props[R.Humidity]._Value.Subscribe(_ => Humidity.SetValue(GetPropValue(_))).AddTo(disposables); _hex.Props[R.Radiation]._Value.Subscribe(_ => Radiation.SetValue(GetPropValue(_))).AddTo(disposables); _hex.Props[R.HexScore]._Value.Subscribe(_ => HexScore.SetValue(_)).AddTo(disposables); }
private void OnHexClicked(HexClickedMessage value) { if (value.Hex.isMarked.Value) { if (_pay.BuySkillUse((int)_skillData.UseCost, 1, true)) { GameMessage.Send(new PanelMessage(PanelAction.SHOW, PanelNames.NewUnitPanel)); } //_controller.AddUnit( value.Hex.X, value.Hex.Y ); } Deactivate(); }
private void OnHexClickedMessage(HexClickedMessage value) { GameModel.Set <HexModel>(value.Hex); if (value.Hex.isMarked.Value) { return; } //Unit is in the clicked tile if (value.Hex.Unit != null) { SelectUnit(value.Hex.X, value.Hex.Y); } else { DeselectUnit(); } }
private void OnHexClicked(HexClickedMessage value) { if (value.Hex.isMarked.Value) { if (!_pay.BuySkillUse((int)_skillData.UseCost, 1, true)) { Deactivate(); return; } _controller.MoveUnit(value.Hex.X, value.Hex.Y); UnmarkHexes(); MarkNeighborHexes(_controller.SelectedUnit); } else { Deactivate(); } }