Exemple #1
0
        public MyEngineerToolBase(MyHandItemDefinition definition, float toolDistance, int cooldownMs)
        {
            ToolCooldownMs       = cooldownMs;
            m_toolActionDistance = toolDistance;
            m_handItemDef        = definition;
            System.Diagnostics.Debug.Assert(definition != null, "Missing definition for tool!");
            if (definition != null)
            {
                m_physItemDef = MyDefinitionManager.Static.GetPhysicalItemForHandItem(definition.Id);
                m_gunBase     = new MyToolBase(m_handItemDef.MuzzlePosition, WorldMatrix);
            }
            else
            {
                m_gunBase = new MyToolBase(Vector3.Zero, WorldMatrix);
            }
            m_activated  = false;
            m_wasPowered = false;

            NeedsUpdate      = MyEntityUpdateEnum.EACH_FRAME;
            Render.NeedsDraw = true;

            (PositionComp as MyPositionComponent).WorldPositionChanged = WorldPositionChanged;
            Render = new Components.MyRenderComponentEngineerTool();
            AddDebugRenderComponent(new MyDebugRenderComponentEngineerTool(this));
        }
        public MyEngineerToolBase(int cooldownMs)
        {
            ToolCooldownMs = cooldownMs;
            m_activated    = false;
            m_wasPowered   = false;

            NeedsUpdate      = MyEntityUpdateEnum.EACH_FRAME;
            Render.NeedsDraw = true;

            (PositionComp as MyPositionComponent).WorldPositionChanged = WorldPositionChanged;
            Render = new Components.MyRenderComponentEngineerTool();
            AddDebugRenderComponent(new MyDebugRenderComponentEngineerTool(this));
        }