本文整理汇总了C#中System.Variant.GetValueOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# Variant.GetValueOrDefault方法的具体用法?C# Variant.GetValueOrDefault怎么用?C# Variant.GetValueOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Variant
的用法示例。
在下文中一共展示了Variant.GetValueOrDefault方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BeBless
/// <summary>
/// 被祝福者得到的道具与数量
/// </summary>
/// <param name="beBless"></param>
/// <param name="count"></param>
/// <returns></returns>
private static string BeBless(Variant beBless, out int count)
{
int min = beBless.GetIntOrDefault("Min");
int max = beBless.GetIntOrDefault("Max");
Variant goods = beBless.GetValueOrDefault<Variant>("GoodsID");
int rate = NumberRandom.Next(0, 100);
string goodsid = "";
foreach (var k in goods)
{
string[] strs = k.Value.ToString().Split('-');
int m = Convert.ToInt32(strs[0]);
int n = Convert.ToInt32(strs[1]);
if (rate >= m && rate <= n)
{
goodsid = k.Key;
break;
}
}
count = NumberRandom.Next(min, max + 1);
return goodsid;
}
示例2: checkCondition
/// <summary>
/// 检查对象是否满足条件
/// </summary>
/// <param name="f"></param>
/// <param name="condition"></param>
/// <returns></returns>
static bool checkCondition(FightObject f, Variant condition, int round)
{
Variant caseHp = condition.GetVariantOrDefault("CaseHP");
Variant caseMp = condition.GetVariantOrDefault("CaseMP");
IList caseBuff = condition.GetValueOrDefault<IList>("CaseBuff");
IList caseRound = condition.GetValueOrDefault<IList>("CaseRound");
if (caseHp != null)
{
double a = caseHp.GetDoubleOrDefault("A");
double b = caseHp.GetDoubleOrDefault("B");
if (a > 0 && a < 1) //百分比
{
double test = (f.HP * 1.0) / f.Life.ShengMing;
if (test <= a || test > b)
{
return false;
}
}
else
{
if (f.HP <= a || f.HP > b)
{
return false;
}
}
}
if (caseMp != null)
{
double a = caseMp.GetDoubleOrDefault("A");
double b = caseMp.GetDoubleOrDefault("B");
if (a > 0 && a < 1) //百分比
{
double test = (f.MP * 1.0) / f.Life.MoFa;
if (test <= a || test > b)
{
return false;
}
}
else
{
if (f.MP <= a || f.MP > b)
{
return false;
}
}
}
if (caseBuff != null)
{
bool find = false;
foreach (var b in f.Buffers)
{
if (caseBuff.Contains(b.ID))
{
find = true;
break;
}
}
if (!find) return false;
}
if (caseRound != null && caseRound.Count > 0)
{
return caseRound.Contains(round);
}
return true;
}
示例3: ArenaLimit
/// <summary>
/// 竞技场创建限制
/// </summary>
/// <param name="note"></param>
/// <param name="model">选择条件</param>
/// <param name="v">限制条件</param>
/// <returns></returns>
private static bool ArenaLimit(UserNote note, ArenaBase model, Variant v)
{
int score = 0;
int level = note.Player.Level;
int fightvalue = 0;
Variant gametime = v.GetValueOrDefault<Variant>("GameTime").GetValueOrDefault<Variant>(model.GameTime.ToString());
if (gametime == null)
{
//请选择战斗时长
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit1));
return false;
}
score += gametime.GetIntOrDefault("Score");
fightvalue += gametime.GetIntOrDefault("FightValue");
Variant group = v.GetValueOrDefault<Variant>("Group").GetValueOrDefault<Variant>(model.Group.ToString());
if (group == null)
{
//请选择分组
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit2));
return false;
}
score += group.GetIntOrDefault("Score");
fightvalue += group.GetIntOrDefault("FightValue");
if (!string.IsNullOrEmpty(model.PassWord))
{
Variant password = v.GetValueOrDefault<Variant>("PassWord").GetValueOrDefault<Variant>("1");
if (password != null)
{
score += password.GetIntOrDefault("Score");
fightvalue += password.GetIntOrDefault("FightValue");
}
}
Variant petlevel = v.GetValueOrDefault<Variant>("PetLevel").GetValueOrDefault<Variant>(model.PetMin + "-" + model.PetMax);
if (petlevel == null)
{
//请选择战宠等级
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit3));
return false;
}
score += petlevel.GetIntOrDefault("Score");
fightvalue += petlevel.GetIntOrDefault("FightValue");
Variant petnumber = v.GetValueOrDefault<Variant>("PetNumber").GetValueOrDefault<Variant>(model.PetNumber.ToString());
if (petnumber == null)
{
//请选择各组产战宠物数量
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit4));
return false;
}
score += petnumber.GetIntOrDefault("Score");
fightvalue += petnumber.GetIntOrDefault("FightValue");
Variant preparetime = v.GetValueOrDefault<Variant>("PrepareTime").GetValueOrDefault<Variant>(model.PrepareTime.ToString());
if (preparetime == null)
{
//请选择准备时间
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit5));
return false;
}
score += preparetime.GetIntOrDefault("Score");
fightvalue += preparetime.GetIntOrDefault("FightValue");
Variant scene = v.GetValueOrDefault<Variant>("Scene").GetValueOrDefault<Variant>(model.Scene.ToString());
if (scene == null)
{
//请选择竞技场
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit6));
return false;
}
Variant userpets = v.GetValueOrDefault<Variant>("UserPets").GetValueOrDefault<Variant>(model.UserPets.ToString());
if (userpets == null)
{
//请选择角色参战宠物数量
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit7));
return false;
}
score += userpets.GetIntOrDefault("Score");
fightvalue += userpets.GetIntOrDefault("FightValue");
Variant fightpoor = v.GetValueOrDefault<Variant>("FightPoor").GetValueOrDefault<Variant>(model.FightPoor.ToString());
if (fightpoor == null)
{
//请选择战绩差
note.Call(ArenaCommand.CreateArenaR, false, TipManager.GetMessage(ArenaReturn.ArenaLimit8));
return false;
}
score += fightpoor.GetIntOrDefault("Score");
fightvalue += fightpoor.GetIntOrDefault("FightValue");
//if (note.Player.FightValue< fightvalue)
//.........这里部分代码省略.........