Пример #1
0
    /**
     * 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);
    }
Пример #2
0
        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());
        }
Пример #3
0
                //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)
                    });
                }
Пример #4
0
    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));
    }
Пример #5
0
            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);
            }
Пример #6
0
    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));
                            }
                        }
                    }
                }
            }
        }
Пример #8
0
                /// <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>();
                }
Пример #9
0
    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++)
        {
        }
    }
Пример #10
0
        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();
            }
        }
Пример #11
0
        private ushort getInstruction(OPCODES opcode, VALUES b, VALUES a)
        {
            int word = (ushort)opcode;
            word += (ushort)b << 5;
            word += (ushort)a << 10;

            return (ushort) word;
        }