Esempio n. 1
0
    protected void FilterIds()
    {
        try
        {
            m_getString += Encoding.UTF8.GetString(m_bytes);

            for (int i = 0; i < inputs.Length; i++)
            {
                KeyResolveInput tmpInfo = inputs[i];

                string fullId = tmpInfo.key + ":";

                int index = m_getString.IndexOf(fullId);

                if (index >= 0 && (index + fullId.Length + tmpInfo.length) < m_getString.Length)
                {
                    string v = m_getString.Substring(index + fullId.Length, tmpInfo.length);

                    if (v.Length != tmpInfo.length)
                    {
                        Debug.Log("Value Before Flush: " + v);
                        // string getting mess, just flush it
                        Flush();
                        break;
                    }
                    else
                    {
                        tmpInfo.SetValue(float.Parse(v));
                        m_getString = m_getString.Remove(index, fullId.Length + tmpInfo.length);
                    }
                }
            }

            for (int i = 0; i < values.Length; i++)
            {
                var resolve = ResolveEquation(values[i].equation);
                values[i].SetValue(resolve);
            }

            if (m_getString != string.Empty)
            {
                m_getString = m_getString.Replace(";", string.Empty);
            }
        }
        catch (Exception _ex)
        {
            Debug.LogWarning(_ex);
        }
    }
    protected virtual void InitInputs(KeyPortInputData[] datas)
    {
        if (datas == null)
        {
            return;
        }

        inputs = new KeyResolveInput[datas.Length];

        for (int i = 0; i < datas.Length; i++)
        {
            var newInput = new KeyResolveInput();

            newInput.key    = datas[i].key;
            newInput.length = datas[i].length;

            inputs[i] = newInput;
        }
    }