本文整理汇总了C#中XmlDbRow.TryGetEnum方法的典型用法代码示例。如果您正苦于以下问题:C# XmlDbRow.TryGetEnum方法的具体用法?C# XmlDbRow.TryGetEnum怎么用?C# XmlDbRow.TryGetEnum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDbRow
的用法示例。
在下文中一共展示了XmlDbRow.TryGetEnum方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OccultSymptom
public OccultSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "Occult", Guid))
{
if (!row.TryGetEnum<OccultTypes>("Occult", out mOccult, OccultTypes.None))
{
BooterLogger.AddError(" Unknown Occult: " + row.GetString("Occult"));
}
}
if (BooterLogger.Exists(row, "Remove", Guid))
{
mRemove = row.GetBool("Remove");
}
if (BooterLogger.Exists(row, "DropOthers", Guid))
{
mDropOthers = row.GetBool("DropOthers");
}
if (BooterLogger.Exists(row, "AllowIfOthers", Guid))
{
mAllowIfOthers = row.GetBool("AllowIfOthers");
}
}
示例2: MoodletSymptom
public MoodletSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "BuffName", Guid))
{
if (!row.TryGetEnum<BuffNames>("BuffName", out mBuff, BuffNames.Undefined))
{
mBuff = (BuffNames)row.GetUlong("BuffName", 0);
if (mBuff == 0)
{
mBuff = (BuffNames)ResourceUtils.HashString64(row.GetString("BuffName"));
}
if (!BuffManager.BuffDictionary.ContainsKey((ulong)mBuff))
{
BooterLogger.AddError(Guid + " Unknown BuffName: " + row.GetString("BuffName"));
}
}
}
mMoodValue = row.GetInt("MoodValue", 0);
mDuration = row.GetInt("Duration", 30);
if (mDuration <= 0)
{
mDuration = -1;
}
mOrigin = (Origin)row.GetUlong("Origin", 0);
if (mOrigin == Origin.None)
{
mOrigin = (Origin)ResourceUtils.HashString64(row.GetString("Origin"));
}
}
示例3: ReactionSymptom
public ReactionSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "Type", Guid))
{
if (!row.TryGetEnum<ReactionTypes>("Type", out mType, ReactionTypes.None))
{
BooterLogger.AddError(Guid + " Unknown Type: " + row.GetString("Type"));
}
}
if (BooterLogger.Exists(row, "Speed", Guid))
{
if (!row.TryGetEnum<ReactionSpeed>("Speed", out mSpeed, ReactionSpeed.None))
{
BooterLogger.AddError(Guid + " Unknown Speed: " + row.GetString("Speed"));
}
}
}
示例4: IdleAnimationSymptom
public IdleAnimationSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "Mood", Guid))
{
if (!row.TryGetEnum<MoodFlavor>("Mood", out mMood, MoodFlavor.Uncomfortable))
{
BooterLogger.AddError(" Unknown Mood: " + row.GetString("Mood"));
}
}
if (BooterLogger.Exists(row, "Priority", Guid))
{
if (!row.TryGetEnum<IdleAnimationPriority>("Priority", out mPriority, IdleAnimationPriority.NonDistress))
{
BooterLogger.AddError(" Unknown Priority: " + row.GetString("Priority"));
}
}
}
示例5: DeathSymptom
public DeathSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "Type", Guid))
{
if (!row.TryGetEnum<SimDescription.DeathType>("Type", out mType, SimDescription.DeathType.None))
{
BooterLogger.AddError(" Unknown Type: " + row.GetString("Type"));
}
}
if (BooterLogger.Exists(row, "AllowActive", Guid))
{
mAllowActive = row.GetBool("AllowActive");
}
}
示例6: MotiveSymptom
public MotiveSymptom(XmlDbRow row)
: base(row)
{
if (BooterLogger.Exists(row, "Motive", Guid))
{
if (!row.TryGetEnum<CommodityKind>("Motive", out mMotive, CommodityKind.None))
{
BooterLogger.AddError(" Unknown Motive: " + row.GetString("Motive"));
}
}
if (BooterLogger.Exists(row, "DeltaValue", Guid))
{
mDeltaValue = row.GetInt("DeltaValue", 0);
}
if (BooterLogger.Exists(row, "LowerBound", Guid))
{
mLowerBound = row.GetInt("LowerBound", 0);
}
}
示例7: Perform
public void Perform(BooterHelper.BootFile file, XmlDbRow row)
{
WorldName world;
row.TryGetEnum<WorldName>("World", out world, WorldName.Undefined);
List<DaysOfTheWeek> days = ParserFunctions.ParseDayList(row.GetString("Days"));
if ((days == null) || (days.Count == 0))
{
days = ParserFunctions.ParseDayList("MTWRFSU");
}
int startHour = row.GetInt("StartHour");
int endHour = row.GetInt("EndHour");
if (startHour > endHour) return;
int speed = row.GetInt("Speed");
if (speed <= 0)
{
speed = Relativity.sOneMinute;
}
mIntervals.Add(new SpeedInterval(world, days, startHour, endHour, speed));
}
示例8: Perform
protected override void Perform(BooterHelper.BootFile file, XmlDbRow row)
{
string guid = row.GetString("Guid");
if (string.IsNullOrEmpty(guid))
{
BooterLogger.AddError(file + ": Guid empty");
return;
}
AfterschoolActivityType type = unchecked((AfterschoolActivityType)ResourceUtils.HashString64(guid));
AfterschoolActivityData data = new AfterschoolActivityData();
data.mActivity = new AfterschoolActivity(type);
List<string> skills = row.GetStringList("Skills", ',');
if (skills != null)
{
foreach (string skillStr in skills)
{
SkillNames skill = SkillManager.sSkillEnumValues.ParseEnumValue(skillStr);
if (skill == SkillNames.None)
{
BooterLogger.AddError(file + ": " + guid + " Unknown skill " + skillStr);
return;
}
else
{
data.mActivity.ActivitySkillNameList.Add(skill);
}
}
}
if (data.mActivity.ActivitySkillNameList.Count == 0)
{
BooterLogger.AddError(file + ": " + guid + " Activity Must Have a Skill");
return;
}
DaysOfTheWeek days;
if (!row.TryGetEnum<DaysOfTheWeek>("DaysOfTheWeek", out days, DaysOfTheWeek.All))
{
BooterLogger.AddError(file + ": " + guid + " Unknown DaysOfTheWeek " + row.GetString("DaysOfTheWeek"));
return;
}
data.mActivity.DaysForActivity = days;
CASAgeGenderFlags genders;
if (!row.TryGetEnum<CASAgeGenderFlags>("Genders", out genders, CASAgeGenderFlags.GenderMask))
{
BooterLogger.AddError(file + ": " + guid + " Unknown Genders " + row.GetString("Genders"));
return;
}
data.mGenders = genders;
CASAgeGenderFlags ages;
if (!row.TryGetEnum<CASAgeGenderFlags>("Ages", out ages, CASAgeGenderFlags.AgeMask))
{
BooterLogger.AddError(file + ": " + guid + " Unknown Ages " + row.GetString("Ages"));
return;
}
data.mAges = ages;
if (row.Exists("PreLoop"))
{
data.mPreLoop = new Common.MethodStore(row.GetString("PreLoop"), new Type[] { typeof(GoToSchoolInRabbitHole), typeof(AfterschoolActivity) }).Method;
if (data.mPreLoop == null)
{
BooterLogger.AddError(file + ": " + guid + " Missing PreLoop " + row.GetString("PreLoop"));
return;
}
}
if (row.Exists("Loop"))
{
data.mLoop = new Common.MethodStore(row.GetString("Loop"), new Type[] { typeof(GoToSchoolInRabbitHole), typeof(AfterschoolActivity) }).Method;
if (data.mLoop == null)
{
BooterLogger.AddError(file + ": " + guid + " Missing Loop " + row.GetString("Loop"));
return;
}
}
if (row.Exists("PostLoop"))
{
data.mPostLoop = new Common.MethodStore(row.GetString("PostLoop"), new Type[] { typeof(GoToSchoolInRabbitHole), typeof(AfterschoolActivity) }).Method;
if (data.mPostLoop == null)
{
BooterLogger.AddError(file + ": " + guid + " Missing PostLoop " + row.GetString("PostLoop"));
return;
}
}
Activities.Add(type, data);
BooterLogger.AddTrace(file + ": " + guid + " Loaded");
}
示例9: ParseSkillData
private static void ParseSkillData(XmlDbData data, XmlDbRow row, bool bStore)
{
ProductVersion version;
bool flag = false;
SkillNames guid = SkillNames.None;
string skillHex = row.GetString("Hex");
try
{
guid = (SkillNames)SkillManager.GetGuid(ref skillHex, bStore);
}
catch
{ }
if (guid == SkillNames.None)
{
flag = true;
BooterLogger.AddError("GUID Fail " + skillHex);
}
if (!row.TryGetEnum<ProductVersion>("CodeVersion", out version, ProductVersion.BaseGame))
{
flag = true;
BooterLogger.AddError("CodeVersion Fail " + version);
}
else if (!GameUtils.IsInstalled(version))
{
flag = true;
BooterLogger.AddError("Install Fail " + version);
}
if (!flag)
{
Skill skill = null;
string typeName = row.GetString("CustomClassName");
bool flag2 = typeName.Length > 0x0;
if (flag2)
{
Type type = null;
/*
if (bStore)
{
string[] strArray = typeName.Split(new char[] { ',' });
if (strArray.Length < 0x2)
{
flag = true;
}
else
{
type = Type.GetType(strArray[0x0] + ",Sims3StoreObjects");
}
}
*/
if (type == null)
{
type = Type.GetType(typeName);
}
if (type == null)
{
flag = true;
BooterLogger.AddError("CustomClassName Not Found " + typeName);
}
else
{
object[] args = new object[] { guid };
ConstructorInfo constructor = type.GetConstructor(Type.GetTypeArray(args));
if (constructor == null)
{
flag = true;
BooterLogger.AddError("Constructor Missing " + typeName);
}
else
{
try
{
skill = constructor.Invoke(args) as Skill;
}
catch (Exception e)
{
Common.Exception(skillHex, e);
}
if (skill == null)
{
flag = true;
BooterLogger.AddError("Constructor Fail " + typeName);
}
}
}
}
else
{
//.........这里部分代码省略.........
示例10: Parse
public override bool Parse(XmlDbRow row, ref string error)
{
mName = new WeightOption.NameOption(row);
mSuccess = new WeightScenarioHelper(Origin.FromBurglar);
if (!mSuccess.Parse(row, Manager, this, "Success", ref error))
{
return false;
}
if (!row.Exists("Locale"))
{
error = "Locale Missing";
return false;
}
if (!row.TryGetEnum<Locales>("Locale", out mLocale, Locales.Home))
{
error = "Unknown Locale";
return false;
}
return base.Parse(row, ref error);
}
示例11: Perform
// From AcademicDegreeManager:CreateAcademicDegreeTable
protected override void Perform(BooterHelper.BootFile file, XmlDbRow row)
{
AcademicDegreeNames academicDegree = AcademicDegreeNames.Undefined;
if (!row.TryGetEnum<AcademicDegreeNames>("AcademicDegreeEnum", out academicDegree, AcademicDegreeNames.Undefined))
{
academicDegree = unchecked((AcademicDegreeNames)ResourceUtils.HashString64(row.GetString("AcademicDegreeEnum")));
}
BooterLogger.AddTrace("AcademicDegreeEnum: " + row.GetString("AcademicDegreeEnum"));
string degreeNameKey = row.GetString("AcademicDegreeName");
string degreeDescKey = row.GetString("AcademicDegreeDesc");
string degreeIcon = row.GetString("AcademicDegreeIcon");
int degreeCreditHours = row.GetInt("AcademicDegreeRequiredCreditHours");
float degreeCostPerCredit = row.GetFloat("AcademicDegreeCostPerCredit");
string degreeResponsibilitiesKey = row.GetString("ResponsibilityTooltipKey");
JobId academicDefaultCourseID;
if (!row.TryGetEnum<JobId>("AcademicDefaultCourseID", out academicDefaultCourseID, JobId.AcademicsGenericRabbitHoleCourse))
{
// Custom
academicDefaultCourseID = unchecked((JobId)ResourceUtils.HashString64(row.GetString("AcademicDefaultCourseID")));
}
JobId academicDefaultLectureID;
if (!row.TryGetEnum<JobId>("AcademicDefaultLectureID", out academicDefaultLectureID, JobId.Invalid))
{
// Custom
academicDefaultLectureID = unchecked((JobId)ResourceUtils.HashString64(row.GetString("AcademicDefaultLectureID")));
}
JobId academicDefaultLabID;
if (!row.TryGetEnum<JobId>("AcademicDefaultLabID", out academicDefaultLabID, JobId.Invalid))
{
// Custom
academicDefaultLabID = unchecked((JobId)ResourceUtils.HashString64(row.GetString("AcademicDefaultLabID")));
}
List<OccupationNames> associatedOccupations = new List<OccupationNames>();
List<string> list2 = row.GetStringList("AssociatedOccupationNameEnum", ',', true);
for (int i = 0x0; i < list2.Count; i++)
{
OccupationNames occupation;
if (!ParserFunctions.TryParseEnum<OccupationNames>(list2[i], out occupation, OccupationNames.Undefined))
{
occupation = unchecked((OccupationNames)ResourceUtils.HashString64(row.GetString(list2[i])));
}
if (occupation != OccupationNames.Undefined)
{
associatedOccupations.Add(occupation);
}
}
OccupationNames grantedOccupation;
if (!ParserFunctions.TryParseEnum<OccupationNames>("GrantedOccupationNameEnum", out grantedOccupation, OccupationNames.Undefined))
{
// Custom
grantedOccupation = unchecked((OccupationNames)ResourceUtils.HashString64(row.GetString("GrantedOccupationNameEnum")));
}
List<TraitNames> beneficialTraits;
List<TraitNames> detrimentalTraits;
List<TraitNames> suggestedTraits;
ParserFunctions.TryParseCommaSeparatedList<TraitNames>(row["BeneficialTraits"], out beneficialTraits, TraitNames.Unknown);
ParserFunctions.TryParseCommaSeparatedList<TraitNames>(row["DetrimentalTraits"], out detrimentalTraits, TraitNames.Unknown);
ParserFunctions.TryParseCommaSeparatedList<TraitNames>(row["SuggestedTraits"], out suggestedTraits, TraitNames.Unknown);
AcademicDegreeStaticData staticData = null;
if (!AcademicDegreeManager.sDictionary.TryGetValue((ulong)academicDegree, out staticData))
{
staticData = new AcademicDegreeStaticData(academicDegree, degreeNameKey, degreeDescKey, degreeResponsibilitiesKey, degreeIcon, degreeCreditHours, degreeCostPerCredit, academicDefaultCourseID, academicDefaultLectureID, academicDefaultLabID, associatedOccupations, grantedOccupation, beneficialTraits, detrimentalTraits, suggestedTraits);
}
else
{
staticData.BeneficialTraits.AddRange(beneficialTraits);
staticData.DetrimentalTraits.AddRange(detrimentalTraits);
staticData.SuggestedTraits.AddRange(suggestedTraits);
staticData.AssociatedOccupations.AddRange(associatedOccupations);
}
string skillsThatGrantXP = row.GetString("SkillsThatGrantXP");
if (!string.IsNullOrEmpty(skillsThatGrantXP))
{
foreach (string str6 in skillsThatGrantXP.Split(new char[] { ';' }))
{
string[] strArray2 = str6.Split(new char[] { ',' });
if (strArray2.Length != 0x2) continue;
float num4 = ParserFunctions.ParseFloat(strArray2[0x1], -1234123f);
if (num4 == -1234123f) continue;
// Custom
SkillNames skillName = SkillManager.sSkillEnumValues.ParseEnumValue(strArray2[0x0]);
if (skillName == SkillNames.None) continue;
staticData.AddSkill(skillName, num4);
}
//.........这里部分代码省略.........
示例12: Parse
public bool Parse(XmlDbRow row, StoryProgressionObject manager, IUpdateManager updater, string prefix, ref string error)
{
if (!string.IsNullOrEmpty(prefix))
{
if (!Parse(row, manager, updater, null, ref error))
{
return false;
}
mTestBeforehand = row.GetBool(prefix + "TestBeforehand");
mDelta = new HitMissResult<SimDescription, SimScoringParameters>(row, prefix + "Delta", ref error);
bool deltaSet = string.IsNullOrEmpty(error);
if (!deltaSet)
{
error = null;
}
string scenario = row.GetString(prefix + "Scenario");
if (!string.IsNullOrEmpty(scenario))
{
WeightOption scenarioWeight = manager.GetOption<WeightOption>(scenario);
if (scenarioWeight == null)
{
error = prefix + "Scenario weight " + scenario + " missing";
return false;
}
mScenario = scenarioWeight.GetScenario();
if (mScenario == null)
{
error = prefix + "Scenario " + scenario + " invalid";
return false;
}
if (deltaSet)
{
IDeltaScenario deltaScenario = mScenario as IDeltaScenario;
if (deltaScenario != null)
{
deltaScenario.IDelta = mDelta;
}
}
}
mRecruit = new SimRecruitFilter();
if (!mRecruit.Parse(row, manager, updater, prefix, ref error))
{
return false;
}
mPropagate = new PropagationScenarioHelper();
if (!mPropagate.Parse(row, mOrigin, prefix, ref error))
{
return false;
}
mActorBuffs = new Dictionary<BuffNames, Origin>();
if (!ParseBuffs(row, prefix, "Actor", mActorBuffs, ref error))
{
return false;
}
mTargetBuffs = new Dictionary<BuffNames, Origin>();
if (!ParseBuffs(row, prefix, "Target", mTargetBuffs, ref error))
{
return false;
}
}
if (row.Exists(prefix + "ScenarioActor"))
{
if (!row.TryGetEnum<PropagateBuffScenario.WhichSim>(prefix + "ScenarioActor", out mScenarioActor, PropagateBuffScenario.WhichSim.Unset))
{
error = prefix + "ScenarioActor Unknown " + row.GetString(prefix + "ScenarioActor");
return false;
}
}
if (row.Exists(prefix + "ScenarioTarget"))
{
if (!row.TryGetEnum<PropagateBuffScenario.WhichSim>(prefix + "ScenarioTarget", out mScenarioTarget, PropagateBuffScenario.WhichSim.Unset))
{
error = prefix + "ScenarioTarget Unknown " + row.GetString(prefix + "ScenarioTarget");
return false;
}
}
mActorCelebrity = row.GetInt(prefix + "ActorCelebrity", mActorCelebrity);
mTargetCelebrity = row.GetInt(prefix + "TargetCelebrity", mTargetCelebrity);
if (!ParseAccumulator(row, prefix + "AccumulateValue", mAccumulators, ref error))
{
return false;
}
if (!ParseAccumulator(row, prefix + "GatheringFailureValue", mGatheringFailAccumulators, ref error))
{
//.........这里部分代码省略.........