コード例 #1
0
    /// <summary>
    /// All items work
    /// </summary>
    public static void DoWork()
    {
        foreach (AbstractObject itm in m_sEverything)
        {
            //clearing variables before calculating
            try
            {
                itm.m_productivity = 0;
                itm.m_oredered     = 0;
                itm.m_consumed     = 0;
                itm.m_maxProduced  = 0;
                if (itm is GameMaterial)
                {
                    GameMaterial mat = (GameMaterial)itm;
                    mat.m_maxProduced = mat.CountMaxProduction();
                }
            }
            catch (Exception ex)
            {
                Debug.LogError("AbstractObject: DoWork 1:" + ex.Message);
            }
        }

        for (int i = 0; i < m_sEverything.Count; i++)
        {
            try
            {
                AbstractObject mat = m_sEverything[i];
                mat.Working();
            }
            catch (Exception ex)
            {
                Debug.Log("AbstractObject: DoWork 2:" + ex.Message);
                Camera.main.GetComponent <TimeScript>().m_timeTxt = ex.Message;
            }
        }

        foreach (var itm in m_sEverything)
        {
            if (itm.m_isItOpen > 0)
            {
                itm.CalcProductivity();
            }
        }
    }