public override void OnAddedToContainer(MyComponentContainer container) { base.OnAddedToContainer(container); m_syncObject = container.Get<MySyncComponentBase>(); m_physics = container.Get<MyPhysicsComponentBase>(); m_hierarchy = container.Get<MyHierarchyComponentBase>(); container.ComponentAdded += container_ComponentAdded; }
void container_ComponentRemoved(Type type, MyComponentBase comp) { if (type == typeof(MySyncComponentBase)) m_syncObject = null; else if (type == typeof(MyPhysicsComponentBase)) m_physics = null; else if (type == typeof(MyHierarchyComponentBase)) m_hierarchy = null; }
void container_ComponentAdded(Type type, MyComponentBase comp) { if (type == typeof(MySyncComponentBase)) m_syncObject = comp as MySyncComponentBase; else if (type == typeof(MyPhysicsComponentBase)) m_physics = comp as MyPhysicsComponentBase; else if (type == typeof(MyHierarchyComponentBase)) m_hierarchy = comp as MyHierarchyComponentBase; }
/// <summary> /// Return top most parent of this entity /// </summary> /// <returns></returns> public MyHierarchyComponentBase GetTopMostParent(Type type = null) { MyHierarchyComponentBase parent = this; while (parent.Parent != null && (type == null || !parent.CurrentContainer.Contains(type))) { parent = parent.Parent; } return(parent); }
void Components_ComponentRemoved(Type t, Sandbox.Common.Components.MyComponentBase c) { if (t == typeof(MyPhysicsComponentBase)) m_physics = null; else if (t == typeof(MySyncComponentBase)) m_syncObject = null; else if (t == typeof(MyGameLogicComponent)) m_gameLogic = null; else if (t == typeof(MyPositionComponentBase)) m_position = null; else if (t == typeof(MyHierarchyComponentBase)) m_hierarchy = null; else if (t == typeof(MyRenderComponentBase)) { m_render = null; } }
void Components_ComponentAdded(Type t, Sandbox.Common.Components.MyComponentBase c) { if (t == typeof(MyPhysicsComponentBase)) m_physics = c as MyPhysicsBody; else if (t == typeof(MySyncComponentBase)) m_syncObject = c as MySyncComponentBase; else if (t == typeof(MyGameLogicComponent)) m_gameLogic = c as MyGameLogicComponent; else if (t == typeof(MyPositionComponentBase)) m_position = c as MyPositionComponentBase; else if (t == typeof(MyHierarchyComponentBase)) m_hierarchy = c as MyHierarchyComponentBase; else if (t == typeof(MyRenderComponentBase)) { m_render = c as MyRenderComponentBase; } }