本文整理匯總了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);
}