本文整理汇总了C#中Sandbox.Game.Entities.Cube.MySlimBlock.DoDamage方法的典型用法代码示例。如果您正苦于以下问题:C# MySlimBlock.DoDamage方法的具体用法?C# MySlimBlock.DoDamage怎么用?C# MySlimBlock.DoDamage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Game.Entities.Cube.MySlimBlock
的用法示例。
在下文中一共展示了MySlimBlock.DoDamage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoDamageSynced
internal static void DoDamageSynced(MySlimBlock block, float damage, MyDamageType damageType)
{
Debug.Assert(Sync.IsServer);
var msg = new DoDamageSlimBlockMsg();
msg.GridEntityId = block.CubeGrid.EntityId;
msg.Position = block.Position;
msg.Damage = damage;
block.DoDamage(damage, damageType);
Sync.Layer.SendMessageToAll<DoDamageSlimBlockMsg>(ref msg);
}
示例2: DoDamageSynced
static void DoDamageSynced(MySlimBlock block, float damage, MyStringHash damageType, MyHitInfo? hitInfo, long attackerId)
{
var msg = new DoDamageSlimBlockMsg();
msg.GridEntityId = block.CubeGrid.EntityId;
msg.Position = block.Position;
msg.Damage = damage;
msg.HitInfo = hitInfo;
msg.AttackerEntityId = attackerId;
msg.CompoundBlockId = 0xFFFFFFFF;
// Get compound block id
var blockOnPosition = block.CubeGrid.GetCubeBlock(block.Position);
if (blockOnPosition != null && block != blockOnPosition && blockOnPosition.FatBlock is MyCompoundCubeBlock)
{
MyCompoundCubeBlock compound = blockOnPosition.FatBlock as MyCompoundCubeBlock;
ushort? compoundBlockId = compound.GetBlockId(block);
if (compoundBlockId != null)
msg.CompoundBlockId = compoundBlockId.Value;
}
block.DoDamage(damage, damageType, hitInfo: hitInfo, attackerId: attackerId);
#if !XB1_NOMULTIPLAYER
MyMultiplayer.RaiseStaticEvent(s => MySlimBlock.DoDamageSlimBlock, msg);
#endif // !XB1_NOMULTIPLAYER
}
示例3: DoDamageSynced
internal static void DoDamageSynced(MySlimBlock block, float damage, MyStringHash damageType, MyHitInfo? hitInfo, long attackerId)
{
Debug.Assert(Sync.IsServer);
var msg = new DoDamageSlimBlockMsg();
msg.GridEntityId = block.CubeGrid.EntityId;
msg.Position = block.Position;
msg.Damage = damage;
msg.HitInfo = hitInfo;
msg.AttackerEntityId = attackerId;
block.DoDamage(damage, damageType, hitInfo: hitInfo, attackerId: attackerId);
Sync.Layer.SendMessageToAll<DoDamageSlimBlockMsg>(ref msg);
}