本文整理汇总了C#中NetGore.IO.BitStream.ReadActionDisplayID方法的典型用法代码示例。如果您正苦于以下问题:C# BitStream.ReadActionDisplayID方法的具体用法?C# BitStream.ReadActionDisplayID怎么用?C# BitStream.ReadActionDisplayID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetGore.IO.BitStream
的用法示例。
在下文中一共展示了BitStream.ReadActionDisplayID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RecvCreateActionDisplayAtEntity
void RecvCreateActionDisplayAtEntity(IIPSocket conn, BitStream r)
{
ActionDisplayID actionDisplayId = r.ReadActionDisplayID();
MapEntityIndex sourceEntityIndex = r.ReadMapEntityIndex();
bool hasTarget = r.ReadBool();
MapEntityIndex? targetEntityIndex = hasTarget ? r.ReadMapEntityIndex() : (MapEntityIndex?)null;
// Get the entities
var sourceEntity = _objGrabber.GetDynamicEntity<Character>(sourceEntityIndex);
if (sourceEntity == null)
return;
var targetEntity = targetEntityIndex.HasValue ? _objGrabber.GetDynamicEntity<Character>(targetEntityIndex.Value) : null;
// Get the action display
var ad = ActionDisplayScripts.ActionDisplays[actionDisplayId];
if (ad == null)
return;
// Create
ad.Execute(Map, sourceEntity, targetEntity);
}
示例2: RecvCharAttack
void RecvCharAttack(IIPSocket conn, BitStream r)
{
// Read the values
var attackerID = r.ReadMapEntityIndex();
MapEntityIndex? attackedID;
if (r.ReadBool())
attackedID = r.ReadMapEntityIndex();
else
attackedID = null;
ActionDisplayID? actionDisplayIDNullable;
if (r.ReadBool())
actionDisplayIDNullable = r.ReadActionDisplayID();
else
actionDisplayIDNullable = null;
// Get the object references using the IDs provided
var attacker = _objGrabber.GetDynamicEntity<Character>(attackerID);
if (attacker == null)
return;
DynamicEntity attacked = attackedID.HasValue ? Map.GetDynamicEntity(attackedID.Value) : null;
// Use the default ActionDisplayID if we were provided with a null value
ActionDisplayID actionDisplayID = !actionDisplayIDNullable.HasValue ? GameData.DefaultActionDisplayID : actionDisplayIDNullable.Value;
// Get the ActionDisplay to use and, if valid, execute it
var actionDisplay = ActionDisplayScripts.ActionDisplays[actionDisplayID];
if (actionDisplay != null)
actionDisplay.Execute(Map, attacker, attacked);
}