/** * Get the correct sprite from a card value and suit. * The value will give us the index and the suit will indicate the right array */ public Sprite GetCardSprite(VALUES _value, SUITS _suit) { Sprite result = null; int value = (int)_value; //Get the sprite from the right array switch (_suit) { case SUITS.CLUBS: result = ClubSprites[value]; break; case SUITS.HEARTS: result = HeartSprites[value]; break; case SUITS.SPADES: result = SpadeSprites[value]; break; case SUITS.DIAMONDS: result = DiamondSprites[value]; break; } return(result); }
public ClimateValues[] GetClimateValues(VALUES options, int dateFrom, int dateTo) { string dataType = (options == VALUES.PR ? "pr" : (options == VALUES.TAS ? "tas" : null)); if (dataType == null) { throw new Exception("illegal argument on GetClimateValues, choose between VALUES.PT for precepitation and VALUES.TAS for temperature"); } string request = PATH .Replace("{0}", dataType) .Replace("{1}", dateFrom.ToString()) .Replace("{2}", dateTo.ToString()); string body = req.GetBody(request); CsvParser <ClimateValues> values = new CsvParser <ClimateValues>() .CtorArg("gCM", 0) .CtorArg("variableType", 1) .CtorArg("jan", 4) .CtorArg("feb", 5) .CtorArg("mar", 6); IEnumerable <ClimateValues> items = values .Load(body) .Remove(1) .RemoveEmpties() .Parse(); return(items.Select(x => (ClimateValues)x).ToArray()); }
//public void SetServerTime(DateTime serverTime) //{ // this.serverTime = serverTime; //} public static VALUES Copy(VALUES src) { return(new VALUES() { serverTime = src.serverTime, m_valuesHours = new List <VALUE>(src.m_valuesHours) }); }
public override void Draw() { base.Draw(); float _startX = 0.1f; float _w = 0.8f; float _h = 0.075f; float _offsetA = 0.1f; float _offsetB = 0.05f; Color _colA = P.Get(3); Color _colB = P.Get(4); HUD.Draw_HISTOGRAM_LINE_X(_startX, 0.05f, _w, _h, _colA, _colB, VALUES.RandomValues_NOISE_TIME(15, _offsetA: _offsetA, _offsetB: _offsetB)); HUD.Draw_HISTOGRAM_BAR_X(_startX, 0.14f, _w, _h, _colA, _colB, 1f, false, VALUES.RandomValues_NOISE_TIME(30, _offsetA: _offsetA, _offsetB: _offsetB)); HUD.Draw_HISTOGRAM_BAR_X(_startX, 0.21f, _w, _h, _colB, _colA, 0.9f, true, VALUES.RandomValues_NOISE_TIME(20, _offsetA: _offsetA, _offsetB: _offsetB)); HUD.Draw_HISTOGRAM_POLY(_startX, 0.29f, _w, _h, _colB, VALUES.RandomValues_NOISE_TIME(5, _offsetA: _offsetA * 2f, _offsetB: _offsetB * 2f)); HUD.Draw_HISTOGRAM_POLY_FILL(_startX, 0.36f, _w, _h, _colA, _colB, VALUES.RandomValues_NOISE_TIME(5, _offsetA: _offsetA * 2f, _offsetB: _offsetB * 2f)); HUD.Draw_HISTOGRAM_RADIAL(VALUES.RandomValues_NOISE_TIME(10, _offsetA: _offsetA, _offsetB: _offsetB), 0.2f, 0.6f, 0.05f, 0.15f, _colA, _colB); HUD.Draw_HISTOGRAM_RADIAL(VALUES.RandomValues_NOISE_TIME(40, _rateA: 1f, _rateB: 3f, _offsetA: _offsetA, _offsetB: _offsetB), 0.4f, 0.6f, 0.05f, 0.15f, _colB, _colA); _arcGraph1.UpdateNoise(); _arcGraph2.UpdateNoise(); HUD.Draw_ArcGraph(_arcGraph1, 0.6f, 0.6f, 0.05f, 0.1f, 0, 1, _colA, _colB); HUD.Draw_ArcGraph(_arcGraph2, 0.8f, 0.6f, 0.01f, 0.1f, 0, 0.5f, _colB, _colA, _gutterRatio: 1f); TXT("use methods in \"Values\" to create graphs", 0.1f, 0.9f, P.Get(4)); }
protected override int StateResponse(int state,object obj) { int iRes = 0; ItemQueue itemQueue = Peek; CONN_SETT_TYPE type = CONN_SETT_TYPE.UNKNOWN; EventArgsDataHost arg; switch ((EVENT)state) { case EVENT.LIST_SIGNAL: type = (CONN_SETT_TYPE)itemQueue.Pars[1]; if (Signals.ContainsKey(type) == false) { Signals.Add(type,new List <SIGNAL>(obj as IList <SIGNAL>)); } else { Signals[type] = new List <SIGNAL>(obj as IList <SIGNAL>); } arg = new EventArgsDataHost(null,new object[] { (EVENT)state,type }); break; case EVENT.CUR_VALUES: case EVENT.CHECK_VALUES: type = (CONN_SETT_TYPE)itemQueue.Pars[0]; if (_values.ContainsKey(type) == false) { _values.Add(type,VALUES.Copy(obj as VALUES)); } else { _values[type] = VALUES.Copy(obj as VALUES); } // дополнительно передать ккс-код (для поиска столбца) arg = new EventArgsDataHost(null,new object[] { (EVENT)state,type,Signals[type].ElementAt((int)itemQueue.Pars[1]).kks_code }); break; default: arg = new EventArgsDataHost(null,new object[] { }); break; } itemQueue.m_dataHostRecieved.OnEvtDataRecievedHost(arg); return(iRes); }
void FloorMarker(float _x, float _y, float _size, float _value, int _dataIndex = 0, float _timeOffset = 0) { Color _COL = P.Get(3); float _markerSize = _HOOP_SIZE * _size; float _valueInv = 1f - _value; float _SIZE2 = _size * 0.5f; float _Y_OFFSET = Mathf.Lerp(0.01f * _size, 0.4f * _size, _value); // floor hoop DrawHoop(_x, _y, _size, 0.05f + (_valueInv * 0.2f), _angleOffset: 0); DrawHoop(_x, _y, _SIZE2, 0.075f + (_valueInv * 0.05f), _angleOffset: 0); for (int i = 0; i < 3; i++) { float _ANGLE_OFF = 0.33f * i; DrawHoop(_x, _y, _size * 1.5f, 0.3f, _ANGLE_OFF, _ANGLE_OFF + .1666666f, _angleOffset: Anim.Runtime(-0.1f)); } // raised DrawHoop(_x, _y + _Y_OFFSET, _size, 0.3f, _angleOffset: 0); for (int i = 0; i < 4; i++) { float _ANGLE_OFF = 0.25f * i; DrawHoop(_x, _y + _Y_OFFSET, _size * 0.75f, 0.3f, _ANGLE_OFF, _ANGLE_OFF + .125f, _angleOffset: Anim.Runtime(0.25f, _timeOffset * 0.2f)); } HUD.Draw_LABEL_LINE_X("pt :: " + _dataIndex, _x, _y, _size * 2f, _size * 0.1f, P.Get(3, 0f), _COL, _COL); float _statPad = _size * 0.2f; float _statPad2 = _statPad * 2; float _stat_W = _size * 2; float _stat_H = _size * 4; float _stat_X = _size + _statPad; float _stat_Y = -_stat_H - (_statPad * 2); GL.PushMatrix(); GL_DRAW.TransformMatrix(_x, _y); GL_DRAW.Draw_RECT(_stat_X, _stat_Y, _stat_W, _stat_H, _COL); float[] _values = VALUES.RandomValues_NOISE_TIME(5, _offsetA: _timeOffset, _offsetB: _timeOffset * 1.4f); sprawls[_dataIndex].Draw(_stat_X + _statPad, _stat_Y + (_stat_H * 0.75f), _stat_W - _statPad2, _stat_H * 0.2f, _COL); HUD.Draw_HISTOGRAM_BAR_X(_stat_X + _statPad, _stat_Y + _statPad, _stat_W - _statPad2, _stat_H * 0.5f, _COL, _COL, 0.75f, false, _values); HUD.Draw_HISTOGRAM_BAR_X(_stat_X + _statPad, _stat_Y - (_statPad - (_stat_H * 0.75f)), _stat_W - _statPad2, _stat_H * -0.2f, P.Get(3, 0), P.Get(2), 0.75f, false, _values); GL.PopMatrix(); }
//--------------------------------------------------------Set-, Get- Methods:---------------------------------------------------------\\ #region --Set-, Get- Methods-- #endregion //--------------------------------------------------------Misc Methods:---------------------------------------------------------------\\ #region --Misc Methods (Public)-- #endregion #region --Misc Methods (Private)-- #endregion #region --Misc Methods (Protected)-- protected override void loadContent(XmlNodeList content) { foreach (XmlNode itemsNode in content) { if (string.Equals(itemsNode.Name, "items") && string.Equals(itemsNode.Attributes["node"]?.Value, IoTConsts.NODE_NAME_ACTUATORS)) { foreach (XmlNode itemNode in itemsNode.ChildNodes) { if (string.Equals(itemNode.Name, "item")) { XmlNode valNode = XMLUtils.getChildNode(itemNode, "val", Consts.XML_XMLNS, Consts.XML_XEP_IOT_NAMESPACE); if (!(valNode is null)) { VALUES.Add(new IoTValue(itemNode.Attributes["id"]?.Value, valNode)); } } } } } }
/// <summary> /// Конструктор - основной (с аргументами) /// </summary> /// <param name="iListenerConfigDbId">Идентификатор установленного соединения с БД конфигурации</param> /// <param name="listTEC">Список ТЭЦ</param> public HandlerDbSignalValue(int iListenerConfigDbId, IEnumerable<TEC> listTEC, IEnumerable<CONN_SETT_TYPE>types) : base() { int err = -1 , id_tec = -1 , id_source = -1; DbConnection dbConn; _key._current_type = CONN_SETT_TYPE.UNKNOWN; _key._current_id_tec = -1; m_dictConnSett = new Dictionary<int, Dictionary<CONN_SETT_TYPE, ConnectionSettings>>(); // в ~ от списка ТЭЦ инициализация словаря с параметрами соединения с БД dbConn = DbSources.Sources().GetConnection(iListenerConfigDbId, out err); if (err == 0) foreach (TEC tec in listTEC) { id_tec = tec.m_id; if (m_dictConnSett.ContainsKey(id_tec) == false) m_dictConnSett.Add(id_tec, new Dictionary<CONN_SETT_TYPE, ConnectionSettings>()); else ; foreach (CONN_SETT_TYPE type in types) { id_source = id_tec * 10 + (type == CONN_SETT_TYPE.DATA_AISKUE ? 1 : type == CONN_SETT_TYPE.DATA_SOTIASSO ? 2 : -1); //??? "-1" - ошибка if (m_dictConnSett[id_tec].ContainsKey(type) == false) { m_dictConnSett[id_tec].Add(type , new ConnectionSettings(InitTECBase.getConnSettingsOfIdSource(iListenerConfigDbId, id_source, -1, out err)?.Rows[0], -1)); if (!(err == 0)) { Logging.Logg().Error(string.Format(@"HandlerDbSignalValue::ctor () - ошибка инициализации источника данных {0} для ТЭЦ.ID={1}, идентификатор источника данных={2}..." , type, tec.m_id, id_source) , Logging.INDEX_MESSAGE.NOT_SET); err = 0; } else ; } else ; } } else throw new Exception(string.Format(@"HandlerDbSignalValue::ctor () - ошибка при получения объекта с соединением с БД конфигурации по идентификатору в аргументе...")); //// на этапе отладки (без БД конфигурации) //m_dictConnSett = new Dictionary<CONN_SETT_TYPE, Dictionary<int, ConnectionSettings>> { // { CONN_SETT_TYPE.DATA_AISKUE, new Dictionary<int, ConnectionSettings>() { // { 1, new ConnectionSettings() } // , { 2, new ConnectionSettings() } // , { 3, new ConnectionSettings() } // , { 4, new ConnectionSettings() } // , { 5, new ConnectionSettings() } // } // } // , { CONN_SETT_TYPE.DATA_SOTIASSO, new Dictionary<int, ConnectionSettings>() { // { 1, new ConnectionSettings() } // , { 2, new ConnectionSettings() } // , { 3, new ConnectionSettings() } // , { 4, new ConnectionSettings() } // , { 5, new ConnectionSettings() } // } // } //}; m_arSyncStateCheckResponse = new AutoResetEvent[(int)INDEX_SYNC_STATECHECKRESPONSE.COUNT_INDEX_SYNC_STATECHECKRESPONSE] { new AutoResetEvent (false) , new AutoResetEvent (false) , new AutoResetEvent (false) }; request_handlers = new Dictionary<StatesMachine, Func<string>>() { { StatesMachine.LIST_SIGNAL, getListSignalRequest }, { StatesMachine.VALUES, getValuesRequest } }; response_handlers = new Dictionary<StatesMachine, Func<DataTable, bool>>() { { StatesMachine.LIST_SIGNAL, getListSignalResponse }, { StatesMachine.VALUES, getValuesResponse } }; Values = new VALUES() { serverTime = DateTime.MinValue, m_valuesHours = new List<VALUE>() }; _signals = new List<SIGNAL>(); }
public override void Draw() { base.Draw(); for (int i = 0; i < totalSprawls; i++) { DataSprawl _sp = sprawls[i]; _sp.Update(); } for (int i = 0; i < partitionListCount; i++) { } GL_DRAW.Draw_GRID_DOT(0, 0, 1, 1, 40, 40, P.Get(2, Anim.Sin_Time(25, 0.5f, 0.6f))); GL_DRAW.Draw_ZOOM_GRID(0, 0, 1, 1, P.Lerp(2, 3, my_eased), 20, 20, mx, my, 0.01f); // skewed edge rects GL_DRAW.SKEW(0.2f, 0f); HUD.Draw_LABEL_LINE_X("example: 1", 0.1f, 0.9f, Anim.Sin_Time(2f, 0.1f, 0.25f), 0.01f, P.Get(2), P.Get(3), P.Get(3)); int _BOXES = 6; float _BOX_STARTX = 0.1f; float _BOX_SIZE = 0.05f; float _BOX_SPACING = 0.01f; for (int i = 0; i < _BOXES; i++) { HUD.Draw_LABEL_BOX( "exe_" + i, _BOX_STARTX + (i * _BOX_SIZE) + (i * _BOX_SPACING), 0.8f, _BOX_SIZE, _BOX_SIZE, Anim.Sin_Time(10, 0.005f, 0.01f, i * 0.1f), 0.1f, 0.5f, P.Lerp(2, 3, (float)i / _BOXES), P.Get(0)); } sprawls[0].Draw(0.05f, 0.5f, 0.05f, 0.2f, P.Get(3, Anim.Cos_Time(20, 0.1f, 0.15f, 0.1f))); sprawls[1].Draw(0.05f, 0.45f, 0.1f, 0.05f, P.Get(4, Anim.Cos_Time(20, 0.1f, 0.15f, 0.2f))); //GL_DRAW.Draw_RECT_FILL(0.1f, 0.5f, 0.1f, 0.1f, P.Get(2,Anim.Sin_Time(30,0.1f, 0.12f))); GL_DRAW.Draw_AXIS(0.1f, 0.1f, 0.1f, 0.5f, 0.01f, 0.005f, 20, 5, P.Get(2), P.Get(3)); GL_DRAW.Draw_AXIS(0.11f, 0.1f, 0.11f, 0.5f, 0.01f, 0.005f, 40, 10, P.Get(2), P.Get(3)); // histograms int _HIST_COUNT = 10; int _BIN_COUNT = 20; float _HIST_START_X = 0.25f; float _HIST_START_Y = 0.4f; float _HIST_END_X = 0.4f; float _HIST_END_Y = 0.1f; float _HIST_W = 0.4f; float _BIN_W = _HIST_W / _BIN_COUNT; float _HIST_H_MIN = 0.2f; float _HIST_H_MAX = 0.05f; float _HIST_H_DIV = (_HIST_H_MAX - _HIST_H_MIN) / _HIST_COUNT; float _HIST_OFFSET_X = (_HIST_END_X - _HIST_START_X) / _HIST_COUNT; float _HIST_OFFSET_Y = (_HIST_END_Y - _HIST_START_Y) / _HIST_COUNT; for (int i = 0; i < _HIST_COUNT; i++) { int i1 = i + 1; float _F = (float)i / _HIST_COUNT; float _RF = 1f - _F; HUD.Draw_HISTOGRAM_BAR_X(_HIST_START_X + (i * _HIST_OFFSET_X), _HIST_START_Y + (i * _HIST_OFFSET_Y), _HIST_W, _HIST_H_MIN + (i * _HIST_H_DIV), P.Lerp(0, 3, _F), P.Lerp(0, 4, _F), 1, false, VALUES.RandomValues_NOISE_TIME(_BIN_COUNT, 1f, 1.1f, i1 * 0.01f, i1 * 0.02f)); } float[] _polyValues = VALUES.RandomValues_NOISE_TIME(10, 1f, 1.1f, 0.1f, 0.2f, 0.1f, 0.5f); float _polyX = _HIST_END_X + (_HIST_OFFSET_X); float _polyY = _HIST_END_Y + (_HIST_OFFSET_Y); HUD.Draw_HISTOGRAM_POLY(_polyX, _polyY, _HIST_W, _HIST_H_MAX, P.Get(2), _polyValues); HUD.Draw_HISTOGRAM_LINE_X(_polyX, _polyY, _HIST_W, _HIST_H_MAX, P.Get(2), P.Get(2), _polyValues); for (int i = 0; i < _BIN_COUNT; i++) { DataSprawl _SPRAWL = sprawls[i]; _SPRAWL.Draw(_HIST_END_X + (i * _BIN_W), _HIST_END_Y - 0.1f, _BIN_W, 0.05f, P.Lerp(3, 4, Anim.Sin_Time(3f, _timeOffset: i * 0.1f))); } for (int i = 0; i < partitionListCount; i++) { } }
public static void Load_Values() { string enc_base = Environment.MachineName; KEY = RijndaelAlg.GetBytes(RijndaelAlg.GetHashString(enc_base, false), true); Array.Resize(ref KEY, 16); IV = KEY; if (File.Exists(SAVE_LOCATION)) { try { XmlSerializer s = new XmlSerializer(typeof(VALUES)); StringReader sr = new StringReader(RijndaelAlg.DecryptStringFromBytes(File.ReadAllBytes(SAVE_LOCATION), KEY, IV)); XML = (VALUES)s.Deserialize(sr); sr.Dispose(); } catch { MessageBox.Show("Les fichiers de paramètres ne sont plus compatibles avec l'application à cause d'un changement de version ou d'une corruption des données. Il seront supprimés et les valeurs par défaut seront restaurées.", "Avertissement", MessageBoxButtons.OK, MessageBoxIcon.Warning); File.Delete(SAVE_LOCATION); Process.Start(Application.ExecutablePath); Process.GetCurrentProcess().Kill(); } } else { XML = new VALUES(true); Save_Values(); } }
private ushort getInstruction(OPCODES opcode, VALUES b, VALUES a) { int word = (ushort)opcode; word += (ushort)b << 5; word += (ushort)a << 10; return (ushort) word; }