コード例 #1
0
        public override Phases[] GetListOfPresentPhases(out eCapePhaseStatus[] presentPhaseStatus)
        {
            CasterLogger.Debug("GetListOfPresentPhases");
            object phaseLabel  = null;
            object phaseStatus = null;

            presentPhaseStatus = null;
            if (_capeThermoMaterial == null)
            {
                return(null);
            }
            _capeThermoMaterial.GetPresentPhases(ref phaseLabel, ref phaseStatus);
            string[] status = phaseStatus as string[];
            if (status != null)
            {
                presentPhaseStatus = new eCapePhaseStatus[status.Length];
                for (int i = 0; i < status.Length; i++)
                {
                    eCapePhaseStatus s;
                    if (Enum.TryParse(status[i], out s))
                    {
                        presentPhaseStatus[i] = s;
                    }
                }
            }

            string[] phaseStringList = phaseLabel as string[];
            Phases[] phaseList       = (from phaseString in phaseStringList select new Phases(phaseString)).ToArray();
            var      phases          = string.Join(", ", phaseList.Select(p => p.Value).ToArray());

            CasterLogger.Debug("Material present phases: " + phases);
            return(phaseList);
        }
コード例 #2
0
 public void GetPresentPhases(ref object phaseLabels, ref object phaseStatus)
 {
     string[] phasenames = Enum.GetNames(typeof(Phases));
     phaseLabels = phasenames;
     eCapePhaseStatus[] stats = new eCapePhaseStatus[phasenames.Length];
     for (int i = 0; i < phasenames.Length; i++)
     {
         if (_propVals.ContainsKey(phasenames[i]))
         {
             stats[i] = (eCapePhaseStatus)_propVals[phasenames[i]];
         }
         else
         {
             stats[i] = eCapePhaseStatus.CAPE_UNKNOWNPHASESTATUS;
             _propVals.Add(phasenames[i], stats[i]);
         }
     }
     phaseStatus = stats;
 }