예제 #1
0
    private void UpdateCurrentTool(Client owner)
    {
        var toolName = owner.GetClientData <string>("tool_current", "tool_boxgun");

        if (toolName == null)
        {
            return;
        }

        // Already the right tool
        if (CurrentTool != null && CurrentTool.Parent == this && CurrentTool.Owner == owner.Pawn && CurrentTool.ClassInfo.IsNamed(toolName))
        {
            return;
        }

        if (CurrentTool != null)
        {
            CurrentTool?.Deactivate();
            CurrentTool = null;
        }

        CurrentTool = Library.Create <BaseTool>(toolName, false);

        if (CurrentTool != null)
        {
            CurrentTool.Parent = this;
            CurrentTool.Owner  = owner.Pawn as Player;
            CurrentTool.Activate();
        }
    }
예제 #2
0
    void UpdateCurrentTool(Player owner)
    {
        var toolName = owner.GetUserString("tool_current", "tool_boxgun");

        if (toolName == null)
        {
            return;
        }

        DebugOverlay.ScreenText(0, $"tool_current: {toolName}");
        DebugOverlay.ScreenText(1, $" CurrentTool: {CurrentTool}");

        // Already the right tool
        if (CurrentTool != null && CurrentTool.Parent == this && CurrentTool.Owner == owner && CurrentTool.ClassInfo.IsNamed(toolName))
        {
            return;
        }

        if (CurrentTool != null)
        {
            CurrentTool?.Deactivate();
            CurrentTool = null;
        }

        CurrentTool = Library.Create <BaseTool>(toolName, false);

        if (CurrentTool != null)
        {
            CurrentTool.Parent = this;
            CurrentTool.Owner  = owner;
            CurrentTool.Activate();
        }
    }