IEnumerator Start()
        {
            yield return(null);

            if (dataPath == "" || dataPath == null)
            {
                dataPath = "c://data.med";
            }

            var medition = new Medition();

            if (loadData)
            {
                try
                {
                    FileStream      fs        = new FileStream(dataPath, FileMode.Open);
                    BinaryFormatter formatter = new BinaryFormatter();
                    medition = (Medition)formatter.Deserialize(fs);
                    fs.Close();
                }
                catch (SerializationException e)
                {
                    Debug.LogError(e.Message);
                }
            }
            else
            {
                medition.Init();
                while (t <= meditionCount)
                {
                    Medition(ref medition);
                    yield return(new WaitForSeconds(meditionPeriod));

                    t++;
                }
                if (saveData)
                {
                    try
                    {
                        FileStream      fs        = new FileStream(dataPath, FileMode.OpenOrCreate);
                        BinaryFormatter formatter = new BinaryFormatter();
                        formatter.Serialize(fs, medition);
                        fs.Close();
                    }
                    catch (SerializationException e)
                    {
                        Debug.LogError(e.Message);
                    }
                }
            }
            Debug.Log("Medition ended");
            MeditionEnd(medition);
        }
 protected abstract void MeditionEnd(Medition m);
 protected abstract void Medition(ref Medition m);