private void serialPortStateIsChanged(object sender, ChangeStateEventArgs e) { buttonOpenClose.Text = e.IsOpen ? "Закрыть" : "Открыть"; comboBoxAvailableSpeeds.Enabled = !e.IsOpen; comboBoxAvailablePortList.Enabled = !e.IsOpen; timer10ms.Enabled = e.IsOpen; }
private void OnChangeState(object sender, ChangeStateEventArgs args) { var selected = (TaskStateBaseNames)sender; _taskService.UpdateState(args.TaskId, selected); LoadData(); }
private void serialPortStateIsChanged(object sender, ChangeStateEventArgs e) { DebugBox.Text = DebugBox.Text + (e.IsOpen ? "Serial port was opened\r\n" : "Serial port was closed\r\n"); timer10ms.Enabled = e.IsOpen; if (e.IsOpen && !_serial_modbus.IsActive()) { _serial_modbus.StartCommunication(); } }
private void onLearnTech(object sender, GameEventArgs e) { var msg = e as NetDataEvent.LearnTechEvent; if (msg == null) { return; } GameCore.Setting.SetInt(Constant.SettingKey.CultureTreeCollectTechID, msg.TechID); // 收取當前研發完成之新科技並前往文明樹頁面檢視 // 關閉建築清單,前往文明樹介面,並且焦點為對應的文明樹ID GameCore.Event.Fire(null, ChangeStateEventArgs.Create(typeof(WorldMapCultureTree), UIBuildingCard.RequireUnlockTechID)); }
private void serialPortStateIsChanged(object sender, ChangeStateEventArgs e) { this.Invoke(new some_action(() => { DebugBox.Text = DebugBox.Text + (e.IsOpen ? "Последовательный порт удачно открыт\r\n" : "Последовательный порт удачно закрыт\r\n"); buttonOpenClose.Text = e.IsOpen ? "Закрыть" : "Открыть"; timer10ms.Enabled = e.IsOpen; })); if (e.IsOpen && !_serial_modbus.IsActive()) { _serial_modbus.StartCommunication(); } }
public void RefreshButtons(UIBuildingCardPreset preset) { infoBtn.onClick.AddListener(() => { selectedToggle.isOn = true; curDisplayMode = DisplayMode.Info; }); infoBackBtn.onClick.AddListener(() => { selectedToggle.isOn = true; curDisplayMode = DisplayMode.Normal; }); // 選擇該建築進行建設 selectBtn.onClick.AddListener(() => { selectedToggle.isOn = true; if (buildData.IsMainBuilding) { if (CheckBuildCondition(buildData, preset.totalCost, preset.nonUsingCost)) { GameCore.Event.Fire(this, ChangeStateEventArgs.Create(typeof(WorldMapSelectSubBuilding), new WorldMapSelectSubBuilding.Preset() { posIndex = preset.posIndex, position = preset.position, masterTid = buildData.Id, isMainBuildingProcess = true })); } } else if (buildData.IsSubBuilding) { if (preset.selectAction != null) { preset.selectAction(buildData); } } }); }
public void HandleStateSwitchEvent(object sender, ChangeStateEventArgs e) { State.SwitchState(e.State); }
// 主建築檢查所需「文明樹、人口、最大數量」 // 副建築檢查所需「文明樹、人口」 public static bool CheckBuildCondition(BuildingData buildData, int buildCost, int nonUsingCost) { if (buildData != null) { if (!buildData.IsUnlocked) { RequireUnlockTechID = buildData.culture_tree_id; var cultrueTreeData = GameCore.DataTable.GetDataTable <CultureTreeData>().GetDataRow(buildData.culture_tree_id); var remainTime = GameCore.NetData.GetRemainTime(NetDataComponent.TechEnchantID); if (remainTime == null || remainTime.Value > 0) { // 無待採收科技 UIComfirm.ShowComfirm(GameCore.Localization.GetString(300014), Utility.Text.Format(GameCore.Localization.GetString(300015), GameCore.Localization.GetString(cultrueTreeData.string_id)), (cultureTreeID) => { // check remain time again var remainTime2 = GameCore.NetData.GetRemainTime(NetDataComponent.TechEnchantID); if (remainTime2 == null || remainTime2.Value > 0) { // 關閉建築清單,前往文明樹介面,並且焦點為對應的文明樹ID GameCore.Event.Fire(null, ChangeStateEventArgs.Create(typeof(WorldMapCultureTree), cultureTreeID)); } else { // 採收科技 GameCore.NetData.SendLearnTech((int)cultureTreeID, NE_LearnTechC.Types.EOperate.EGet); } }, cultrueTreeData.Id, null, null, GameCore.Localization.GetString(20), GameCore.Localization.GetString(21)); return(false); } else { // 有已經完成的科技待採收 UIComfirm.ShowComfirm(GameCore.Localization.GetString(300014), Utility.Text.Format(GameCore.Localization.GetString(300016), GameCore.Localization.GetString(cultrueTreeData.string_id)), (cultureTreeID) => { // 採收科技, 收取後前往文明樹頁面檢視 GameCore.NetData.SendLearnTech((int)cultureTreeID, NE_LearnTechC.Types.EOperate.EGet); }, cultrueTreeData.Id, null, null, GameCore.Localization.GetString(300017), GameCore.Localization.GetString(21)); return(false); } } if (buildCost > nonUsingCost) { // 人口需求超出上限,文明樹的研發可提昇人口數量 WorldSystems.MsgSys.AddPersonalMsg(GameCore.Localization.GetString(300056)); return(false); } if (buildData.IsMainBuilding) { // check 當前建物建築最大數量 if (GameCore.NetData.GetBuildingCount(buildData.Id) >= buildData.max) { // 已達最大可建設數量 WorldSystems.MsgSys.AddPersonalMsg(GameCore.Localization.GetString(300010)); return(false); } } } return(true); }
public static ChangeStateEventArgs <T> GetArgs(T Entity, State <T> NewState, bool TrackPrevious, bool ExitPrevious) { var args = new ChangeStateEventArgs <T>(Entity, NewState, TrackPrevious, ExitPrevious); return(args); }