⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bnkengn.pas

📁 M2原代码 M2原代码
💻 PAS
字号:
unit BnkEngn;

interface

uses
  Windows,Classes,ObjBase,ObjNpc;

type
  TOpAction = (o_GetGold,o_SaveGold,o_ViewGold);
  TReQuestInfo = record
    NPC        :TMerchant;
    PlayObject  :TPlayObject;
    OpAction   :TOpAction;
    nGameGold  :Integer;
    sAccount   :String;
    sPassword  :String;
  end;
  pTReQuestInfo = ^TReQuestInfo;
  TBankEngine = class(TThread)
    m_UserReQuestList:TList;
    m_CompleteList:TList;
    m_CS:TRTLCriticalSection;
  private
    { Private declarations }
  protected
    procedure Execute; override;
  public
    constructor Create(CreateSuspended: Boolean);
    destructor Destroy; override;
    procedure Lock;
    procedure UnLock;
  end;

implementation

{ TBankEngine }

constructor TBankEngine.Create(CreateSuspended: Boolean);
begin
  inherited;
  InitializeCriticalSection(m_CS);
  m_UserReQuestList:=TList.Create;
  m_CompleteList:=TList.Create;
end;

destructor TBankEngine.Destroy;
begin
  m_UserReQuestList.Free;
  m_CompleteList.Free;
  DeleteCriticalSection(m_CS);
  inherited;
end;

procedure TBankEngine.Execute;
var
  I: Integer;
  ReQuestInfo:pTReQuestInfo;
begin
  while not Terminated do begin
    Lock;
    try

    finally
      UnLock;
    end;
    for I := 0 to m_UserReQuestList.Count - 1 do begin
      ReQuestInfo:=m_UserReQuestList.Items[I];
      case ReQuestInfo.OpAction of    //
        o_GetGold: ;
        o_SaveGold: ;
        o_ViewGold: ;
      end;
    end;
    Sleep(1);
  end;
end;

procedure TBankEngine.Lock;
begin
  EnterCriticalSection(m_CS);
end;

procedure TBankEngine.UnLock;
begin
  LeaveCriticalSection(m_CS);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -