本文整理汇总了C#中Character.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Character.GetType方法的具体用法?C# Character.GetType怎么用?C# Character.GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Character
的用法示例。
在下文中一共展示了Character.GetType方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ModifyActionList
public virtual void ModifyActionList(Character character, ConsideredActions alreadyConsidered, IList<string> log)
{
if (BaseDueDate != null && BaseDueDate == 0)
{
return;
}
IEnumerable<IBook> readableBooks = character.ReadableBooks;
foreach (Ability ability in _abilities)
{
// Handle Reading
CharacterAbilityBase charAbility = character.GetAbility(ability);
var topicalBooks = readableBooks.Where(b => b.Topic == ability);
HandleReading(character, alreadyConsidered, topicalBooks);
// Handle Practice
if (!MagicArts.IsArt(ability))
{
HandlePractice(character, alreadyConsidered, log, ability);
}
else if (character.GetType() == typeof(Magus))
{
Magus mage = (Magus)character;
HandleVisUse(mage, charAbility, alreadyConsidered, log);
}
// TODO: Learning By Training
// TODO: Learning by Teaching
}
}
示例2: SensingProcess
protected override bool SensingProcess(Character sensor, Atom sensed, int CD)
{
var res = Dice.Throws(20)
+ sensor.Stats[StatsType.Mental].ModifierOfStat()
+ sensor.TempModifiers.GetBonus<int>(TemporaryModifier.ModFor.SpotPerception,
(a, b) => a + b); ;
var isSensed = res >= CD;
var sensorType = sensor.GetType();
var pgType = typeof(Pg);
var sensedType = sensed.GetType();
if (isSensed)
{
if (typeof(HiddenAtom).IsAssignableFrom(sensedType))
{
var _sensed = (HiddenAtom)sensed;
if (_sensed.Hidden)
{
_sensed.NotifyIndividuation();
}
}
else
{
if (sensorType == pgType || sensorType.IsSubclassOf(pgType))
{
var msg = "Noises in the area...";
sensor.NotifyListeners(msg);
}
}
}
return isSensed;
}
示例3: startBehaviour
public void startBehaviour(Character caster, RangedSkill skill){
this.caster = caster;
this.skill = skill;
damageType = skill.damageType;
damage = skill.damage;
casterType = caster.GetType ();
}
示例4: SatisfyPrerequisites
public bool SatisfyPrerequisites(Character character)
{
// TO BE TESTED
bool satisfied = true;
if (typeof(Pg).IsAssignableFrom(character.GetType()))
{
satisfied &= character.CurrentLevel >= MinimumLevel;
}
satisfied &= character.Stats >= MinimumStats;
return satisfied;
}
示例5: SensingProcess
protected override bool SensingProcess(Character sensor, Atom sensed, int CD)
{
var res = Dice.Throws(20)
+ sensor.Stats[StatsType.Mental].ModifierOfStat()
+ sensor.TempModifiers.GetBonus<int>( TemporaryModifier.ModFor.ListenPerception,
(a, b) => a + b); ;
var isSensed = res >= CD;
var sensorType = sensor.GetType();
var pgType = typeof(Pg);
if (isSensed
&& ( sensorType == pgType
|| sensorType.IsSubclassOf(pgType)))
{
var msg = "Noises in the area...";
sensor.NotifyListeners(msg);
}
return isSensed;
}
示例6: AssignCharacter
public void AssignCharacter(Character newChar)
{
assignedCharacter = newChar;
//CAUTION - Enemy char graphics do not have this button in their prefab, so trying to call this on a non-merc char graphic
//will result in an exception
if (newChar.GetType() == typeof(PartyMember))
{
portrait.GetComponent<Button>().onClick.AddListener(
() => InventoryScreenHandler.mainISHandler.ToggleSelectedMember(assignedCharacter as PartyMember));
}
nameText.text = newChar.GetName();
healthText.text = newChar.GetHealth().ToString();
portrait.sprite = newChar.GetPortrait();
SetStartStamina();
SetStartAmmo();
SetStartArmor();
//currentCharacterDeck = assignedCharacter.GetCombatDeck();
}