本文整理汇总了C#中HkRigidBody.GetAllEntities方法的典型用法代码示例。如果您正苦于以下问题:C# HkRigidBody.GetAllEntities方法的具体用法?C# HkRigidBody.GetAllEntities怎么用?C# HkRigidBody.GetAllEntities使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HkRigidBody
的用法示例。
在下文中一共展示了HkRigidBody.GetAllEntities方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: phantom_Leave
private void phantom_Leave(HkPhantomCallbackShape shape, HkRigidBody body)
{
if (!Sync.IsServer)
return;
var entities = body.GetAllEntities();
foreach(var entity in entities)
m_entitiesToTake.Remove(entity as MyFloatingObject);
entities.Clear();
}
示例2: phantom_Enter
private void phantom_Enter(HkPhantomCallbackShape shape, HkRigidBody body)
{
if (!Sync.IsServer)
return;
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
if (entity is MyFloatingObject)
{
m_entitiesToTake.Add(entity as MyFloatingObject);
NeedsUpdate |= MyEntityUpdateEnum.BEFORE_NEXT_FRAME;
}
}
entities.Clear();
//if (!Sync.IsServer)
// return;
//var entity = body.GetEntity();
//if (entity is MyFloatingObject)
//{
// m_inventory.TakeFloatingObject(entity as MyFloatingObject);
//}
}
示例3: phantom_EnterEjector
private void phantom_EnterEjector(HkPhantomCallbackShape shape, HkRigidBody body)
{
ProfilerShort.Begin("ShipConnectorEnterEjector");
bool updateEmissivity = false;
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
Debug.Assert(entity is MyFloatingObject);
if (entity is MyFloatingObject)
{
updateEmissivity |= (m_detectedFloaters.Count == 1);
m_detectedFloaters.Add(entity);
}
}
entities.Clear();
if (updateEmissivity)
UpdateEmissivity();
ProfilerShort.End();
}
示例4: phantom_EnterConnector
private void phantom_EnterConnector(HkPhantomCallbackShape shape, HkRigidBody body)
{
ProfilerShort.Begin("ShipConnectorEnterConnector");
var entities = body.GetAllEntities();
using (entities.GetClearToken())
{
foreach (var entity in entities)
{
var other = entity as MyCubeGrid;
if (other == null || other == this.CubeGrid)
continue;
m_detectedGrids.Add(other);
}
}
ProfilerShort.End();
}
示例5: phantom_LeaveEjector
private void phantom_LeaveEjector(HkPhantomCallbackShape shape, HkRigidBody body)
{
ProfilerShort.Begin("ShipConnectorLeaveEjector");
var updateEmissivity = (m_detectedFloaters.Count == 2);
var entities = body.GetAllEntities();
foreach (var entity in entities)
m_detectedFloaters.Remove(entity);
entities.Clear();
if (updateEmissivity)
UpdateEmissivity();
ProfilerShort.End();
}
示例6: phantom_LeaveConnector
private void phantom_LeaveConnector(HkPhantomCallbackShape shape, HkRigidBody body)
{
ProfilerShort.Begin("ShipConnectorLeaveConnector");
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
m_detectedGrids.Remove(entity as MyCubeGrid);
}
entities.Clear();
ProfilerShort.End();
}
示例7: phantom_Enter
private void phantom_Enter(HkPhantomCallbackShape shape, HkRigidBody body)
{
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
var other = entity as MyCubeGrid;
if (other == null || other.GridSizeEnum != CubeGrid.GridSizeEnum || other == this.CubeGrid)
continue;
m_gridList.Add(other);
}
}
示例8: phantom_Leave
private void phantom_Leave(HkPhantomCallbackShape shape, HkRigidBody body)
{
if (!Sync.IsServer)
return;
VRage.ProfilerShort.Begin("CollectorLeave");
var entities = body.GetAllEntities();
foreach(var entity in entities)
m_entitiesToTake.Remove(entity as MyFloatingObject);
entities.Clear();
VRage.ProfilerShort.End();
}
示例9: phantom_LeaveConnector
private void phantom_LeaveConnector(HkPhantomCallbackShape shape, HkRigidBody body)
{
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
var other = entity as MyCubeGrid;
if (other == null || other == this.CubeGrid)
continue;
m_detectedGrids.Remove(other);
}
entities.Clear();
}
示例10: phantom_Enter
private void phantom_Enter(HkPhantomCallbackShape shape, HkRigidBody body)
{
VRage.ProfilerShort.Begin("MergeEnter");
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
var other = entity as MyCubeGrid;
if (other == null || other.GridSizeEnum != CubeGrid.GridSizeEnum || other == this.CubeGrid)
continue;
if(other.Physics.RigidBody != body)
continue;
var added = m_gridList.Add(other);
//Debug.Assert(added, "entity already in list");
}
entities.Clear();
VRage.ProfilerShort.End();
}
示例11: phantom_Leave
private void phantom_Leave(HkPhantomCallbackShape shape, HkRigidBody body)
{
VRage.ProfilerShort.Begin("MergeLeave");
var entities = body.GetAllEntities();
foreach (var entity in entities)
{
m_gridList.Remove(entity as MyCubeGrid);
}
entities.Clear();
VRage.ProfilerShort.End();
}