Exemplo n.º 1
0
        private static void Postfix(ref string __result)
        {
            Vector3 pos = GameManager.GetPlayerTransform().position;


            Fire  result = null;
            float num    = float.PositiveInfinity;

            for (int i = 0; i < FireManager.m_Fires.Count; i++)
            {
                Fire  firem = FireManager.m_Fires[i];
                float num2  = Vector3.Distance(pos, firem.transform.position);
                if (num2 < num)
                {
                    num    = num2;
                    result = firem;
                }
            }
            Fire fire = result;

            if (fire == null)
            {
                return;
            }

            HeatSource myheat   = fire.m_HeatSource;
            float      maxTemp  = (float)AccessTools.Field(typeof(HeatSource), "m_MaxTempIncrease").GetValue(myheat);
            float      innerRad = (float)AccessTools.Field(typeof(HeatSource), "m_MaxTempIncreaseInnerRadius").GetValue(myheat);
            float      outerRad = (float)AccessTools.Field(typeof(HeatSource), "m_MaxTempIncreaseOuterRadius").GetValue(myheat);
            float      dist     = Vector3.Distance(pos, fire.transform.position);
            FireState  mystate  = (FireState)AccessTools.Field(typeof(Fire), "m_FireState").GetValue(fire);

            if (dist > 20)
            {
                return;
            }
            __result += "\n\nFire  state:" + Enum.GetName(typeof(FireState), mystate) + " dist:" + string.Format("{0:0.0}", dist) + " >>Heat  temp:" + string.Format("{0:0.00}", myheat.GetCurrentTempIncrease()) + " max:" + maxTemp + " isembers:" + fire.IsEmbers();
            __result += "\nRadius, Inner:" + innerRad + " Outer:" + outerRad;
            HeatReservoir myres = Fire_RV.GetHeatReservoir(Utils.GetGuidFromGameObject(fire.gameObject));

            if (myres == null)
            {
                // Debug.Log("no heat reservoir associated with fire");
                return;
            }
            __result += "\nRsvr temp:" + string.Format("{0:0.00}", myres.temp) + " size:" + myres.size_cmins + " ins:" + myres.insulation_factor + " LastFireTemp:" + string.Format("{0:0.00}", myres.lastFireTemp);
        }