//Sets parameters before transcription public static void Initialize(int windowSize, int hopSize, float thresh, int _BPM, string wavFile, bool bpmAutoDetection, Instrument chosen, valueChanged CompletedThreadsH, bool DFT) { windowSizeInMs = windowSize; hopSizeInMs = hopSize; threshold = thresh; BPM = _BPM; wavFilePath = wavFile; chosenInstrument = chosen; bpmAutoDetect = bpmAutoDetection; completedThreads = 0; CompletedThreadsHandler = CompletedThreadsH; isDFT = DFT; }
//Rafraichie le GUI de facon intelligente en rafraichissant seulement les parties changées public void refreshGUI(String p_actionString, int p_changed) { if (p_actionString != "Finis") { valueChanged changed = (valueChanged)p_changed; lsvLog.Items.Add(p_actionString); lsvLog.TopIndex = lsvLog.Items.Count - 1; switch (changed) { //Si les quetes du personnage ont changé case valueChanged.quest: updateQuests(); break; //Si l'inventaire du personnages on changés case valueChanged.inventaire: updateInventory(); break; //Si les stats du personnages on changés case valueChanged.stats: updateCharStats(); break; case valueChanged.statsMonstre: updateMonsterStats(); break; case valueChanged.monstreCharStats: updateCharStats(); pgrbMonsterHP.Value = 0; break; case valueChanged.questMonstreChar: updateQuests(); pgrbMonsterHP.Value = 0; updateMonsterStats(); break; default: break; } } else { this.m_simulation.Abort(); lsvLog.Items.Add("Vous avez terminé le jeu! Merci d'avoir jouer"); } }
/// <summary> /// Creates a monitored item and adds it to the existing subscription. /// </summary> /// <param name="variableNodeId">The according nodeid.</param> /// <param name="clientHandle">The handle of the client registering items.</param> /// <param name="callback">The callback to retrieve value changes.</param> /// <param name="samplingRate">The requested sampling rate.</param> /// <param name="serverHandle">The handle of the item.</param> public void AddDataMonitoredItem(NodeId variableNodeId, object clientHandle, valueChanged callback, uint samplingRate, out object serverHandle) { serverHandle = null; try { MonitoredItem monitoredItem = new MonitoredItem(m_Subscription.DefaultItem); ClientMonitoredItemData clientData = new ClientMonitoredItemData(); clientData.callback = callback; clientData.clientHandle = clientHandle; // Monitored item settings: monitoredItem.StartNodeId = variableNodeId; monitoredItem.AttributeId = Attributes.Value; monitoredItem.MonitoringMode = MonitoringMode.Reporting; monitoredItem.SamplingInterval = (int)samplingRate; // Affects the read cycle between UA Server and data source monitoredItem.QueueSize = 1; monitoredItem.DiscardOldest = false; monitoredItem.Handle = clientData; // Add item to subscription. m_Subscription.AddItem(monitoredItem); // Call the server and apply any changes to the state of the subscription or monitored items. m_Subscription.ApplyChanges(); // Check result of add. if (monitoredItem.Status.Error != null && StatusCode.IsBad(monitoredItem.Status.Error.StatusCode)) { throw ServiceResultException.Create( monitoredItem.Status.Error.StatusCode.Code, "Creation of data monitored item failed"); } serverHandle = monitoredItem; myMonitorItemServerHandlerList.Add(serverHandle); } catch (Exception e) { throw e; } }
//Rafraichie le GUI de facon intelligente en rafraichissant seulement les parties changées public void refreshGUI(String p_actionString, int p_changed) { if (p_actionString != "Finis") { valueChanged changed = (valueChanged)p_changed; DataTable dataTable; lsvLog.Items.Add(p_actionString); lsvLog.TopIndex = lsvLog.Items.Count - 1; switch (changed) { //Si les quetes du personnage ont changé case valueChanged.quest: dataTable = m_adaptor.getCurrentQuests(1); foreach (DataRow row in dataTable.Rows) { String questName = ""; questName = row[0].ToString(); ListViewItem newItem = new ListViewItem(questName); String completed = row[1].ToString(); if (completed == "True") { completed = "Completée"; } else { completed = "En cours"; } newItem.SubItems.Add(completed); ListViewItem test = lsvQuest.FindItemWithText(questName); if (test == null) { lsvQuest.Items.Add(newItem); Console.WriteLine(questName); } else { if (test.SubItems[1].Text != completed) { test.SubItems[1].Text = completed; } } } break; case valueChanged.inventaire: break; //Si les stats du personnages on changés case valueChanged.stats: dataTable = m_adaptor.getCurrentStats(1); int columnHP = dataTable.Columns.IndexOf("CharHP"); int columnMaxHP = dataTable.Columns.IndexOf("CharMaxHP"); int columnStrenght = dataTable.Columns.IndexOf("CharStr"); int columnDex = dataTable.Columns.IndexOf("CharDex"); int columnCon = dataTable.Columns.IndexOf("CharCon"); double currentHP; double maxHP; double strenght; double dex; double con; Double.TryParse(dataTable.Rows[0][columnHP].ToString(), out currentHP); Double.TryParse(dataTable.Rows[0][columnMaxHP].ToString(), out maxHP); Double.TryParse(dataTable.Rows[0][columnStrenght].ToString(), out strenght); Double.TryParse(dataTable.Rows[0][columnDex].ToString(), out dex); Double.TryParse(dataTable.Rows[0][columnCon].ToString(), out con); int hpPercent = (int)((currentHP / maxHP) * 100); lblStr.Text = strenght.ToString(); lblDex.Text = dex.ToString(); lblConst.Text = con.ToString(); pgrbHealt.Value = hpPercent; pgrbHealt.Refresh(); break; case valueChanged.statsMonstre: int monsterCurrentHP = 0; int monsterMaxHP = 0; object[] monsterHPValues = m_adaptor.getCurrentMonsterHP(1, monsterCurrentHP, monsterMaxHP); monsterCurrentHP = Convert.ToInt32(monsterHPValues[0]); monsterMaxHP = Convert.ToInt32(monsterHPValues[1]); //rafrachie la barre de progression if (monsterMaxHP > 0) { int MonsterHpPercent = (int)(((double)monsterCurrentHP / (double)monsterMaxHP) * 100.0); pgrbMonsterHP.Value = MonsterHpPercent; } else { pgrbMonsterHP.Value = 0; } Console.WriteLine(monsterCurrentHP); Console.WriteLine(monsterMaxHP); break; default: break; } } else { this.m_simulation.Abort(); lsvLog.Items.Add("Vous avez terminé le jeu! Merci d'avoir jouer"); } }