亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clevent.pas

?? 解元 傳奇2客戶端delphi源程序
?? PAS
字號:
unit clEvent;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DXDraws, DirectX, DXClass, Grobal2, ScktComp, ExtCtrls, HUtil32, EdCode,
  CliUtil;


const
   ZOMBIDIGUPDUSTBASE = 420;
   STONEFRAGMENTBASE = 64;
   HOLYCURTAINBASE = 1390;
   FIREBURNBASE = 1630;
   SCULPTUREFRAGMENT = 1349;

type
   TClEvent = class
      X, Y, Dir: integer;
      px, py: integer;
      EventType: integer;
      EventParam: integer;
      ServerId: integer;
      dsurface: TDirectDrawSurface;
      BoBlend: Boolean;
      calcframetime: longword;
      curframe: longword;
      light: integer;
   private
   public
      constructor Create (svid, ax, ay, evtype: integer);
      destructor Destroy; override;
      procedure DrawEvent (backsurface: TDirectDrawSurface; ax, ay: integer); dynamic;
      procedure Run; dynamic;
   end;

   TClEventManager = class
   private
   public
      EventList: TList;
      constructor Create;
      destructor Destroy; override;
      procedure ClearEvents;
      function  AddEvent (evn: TClEvent): TClEvent;
      procedure DelEvent (evn: TClEvent);
      procedure DelEventById (svid: integer);
      function  GetEvent (ax, ay, etype: integer): TClEvent;
      procedure Execute;
   end;


implementation

uses
   ClMain;

constructor TClEvent.Create (svid, ax, ay, evtype: integer);
begin
   ServerId := svid;
   X := ax;
   Y := ay;
   EventType := evtype;
   EventParam := 0;
   BoBlend := FALSE;
   calcframetime := GetTickCount;
   curframe := 0;
   light := 0;
end;

destructor TClEvent.Destroy;
begin
   inherited Destroy;
end;

procedure TClEvent.DrawEvent (backsurface: TDirectDrawSurface; ax, ay: integer);
begin
   if dsurface <> nil then
      if BoBlend then DrawBlend (backsurface, ax+px, ay+py, dsurface, 1)
      else backsurface.Draw(ax+px, ay+py, dsurface.ClientRect, dsurface, TRUE);
end;

procedure TClEvent.Run;
begin
   dsurface := nil;
   if GetTickCount - calcframetime > 20 then begin
      calcframetime := GetTickCount;
      Inc (curframe);
   end;
   case EventType of
      ET_DIGOUTZOMBI: dsurface := FrmMain.WMon6Img.GetCachedImage (ZOMBIDIGUPDUSTBASE+Dir, px, py);
      ET_PILESTONES:
         begin
            if EventParam <= 0 then EventParam := 1;
            if EventParam > 5 then EventParam := 5;
            dsurface := FrmMain.WEffectImg.GetCachedImage (STONEFRAGMENTBASE+(EventParam-1), px, py);
         end;
      ET_HOLYCURTAIN:
         begin
            dsurface := FrmMain.WMagic.GetCachedImage (HOLYCURTAINBASE+(curframe mod 10), px, py);
            BoBlend := TRUE;
            light := 1;
         end;
      ET_FIRE:
         begin
            dsurface := FrmMain.WMagic.GetCachedImage (FIREBURNBASE+((curframe div 2) mod 6), px, py);
            BoBlend := TRUE;
            light := 1;
         end;
      ET_SCULPEICE:
         begin
            dsurface := FrmMain.WMon7Img.GetCachedImage (SCULPTUREFRAGMENT, px, py);
         end;
   end;
end;


{-----------------------------------------------------------------------------}



{-----------------------------------------------------------------------------}

constructor TClEventManager.Create;
begin
   EventList := TList.Create;
end;

destructor TClEventManager.Destroy;
var
   i: integer;
begin
   for i:=0 to EventList.Count-1 do
      TClEvent(EventList[i]).Free;
   EventList.Free;
   inherited Destroy;
end;

procedure TClEventManager.ClearEvents;
var
   i: integer;
begin
   for i:=0 to EventList.Count-1 do
      TClEvent(EventList[i]).Free;
   EventList.Clear;
end;

function  TClEventManager.AddEvent (evn: TClEvent): TClEvent;
var
   i: integer;
   event: TClEvent;
begin
   for i:=0 to EventList.Count-1 do
      if (EventList[i] = evn) or (TClEvent(EventList[i]).ServerId = evn.ServerId) then begin
         evn.Free;
         Result := nil;
         exit;
      end;
   EventList.Add (evn);
   Result := evn;
end;

procedure TClEventManager.DelEvent (evn: TClEvent);
var
   i: integer;
begin
   for i:=0 to EventList.Count-1 do
      if EventList[i] = evn then begin
         TClEvent(EventList[i]).Free;
         EventList.Delete (i);
         break;
      end;
end;

procedure TClEventManager.DelEventById (svid: integer);
var
   i: integer;
begin
   for i:=0 to EventList.Count-1 do
      if TClEvent(EventList[i]).ServerId = svid then begin
         TClEvent(EventList[i]).Free;
         EventList.Delete (i);
         break;
      end;
end;

function  TClEventManager.GetEvent (ax, ay, etype: integer): TClEvent;
var
   i: integer;
begin
   Result := nil;
   for i:=0 to EventList.Count-1 do
      if (TClEvent(EventList[i]).X = ax) and (TClEvent(EventList[i]).Y = ay) and
         (TClEvent(EventList[i]).EventType = etype) then begin
         Result := TClEvent(EventList[i]);
         break;
      end;
end;

procedure TClEventManager.Execute;
var
   i: integer;
begin
   for i:=0 to EventList.Count-1 do
      TClEvent(EventList[i]).Run;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色一区在线观看| 亚洲国产三级在线| 亚洲成人久久影院| 高清成人在线观看| 欧美一区二区女人| 亚洲成人免费视频| 色先锋资源久久综合| 欧美激情在线一区二区三区| 亚洲3atv精品一区二区三区| 91在线一区二区| 久久久久久免费| 精品一区二区三区香蕉蜜桃| 7777精品久久久大香线蕉| 亚洲一区二区在线观看视频| 99久久久国产精品免费蜜臀| 国产亚洲综合在线| 韩日精品视频一区| 欧美成人女星排行榜| 日韩av在线播放中文字幕| 欧美视频三区在线播放| 中文字幕亚洲一区二区va在线| 国产成人自拍网| 久久久不卡网国产精品二区| 精品在线观看视频| 337p粉嫩大胆噜噜噜噜噜91av | 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲成在人线在线播放| 精品视频在线免费| 视频在线观看91| 欧美另类一区二区三区| 五月天精品一区二区三区| 欧美日韩亚洲综合一区| 天堂蜜桃一区二区三区| 日韩午夜激情视频| 激情综合五月婷婷| 欧美韩国日本一区| 99久久综合精品| 亚洲色图丝袜美腿| 欧美日韩亚洲综合一区二区三区| 午夜精品久久久久久久99水蜜桃| 欧美日韩精品综合在线| 免费成人在线观看| 久久久久久久久久久黄色| 福利一区福利二区| 中文字幕一区二区三区视频| 91看片淫黄大片一级在线观看| 亚洲人成人一区二区在线观看| 在线观看91精品国产入口| 亚洲成人精品在线观看| 久久夜色精品一区| 色综合色综合色综合| 亚洲国产wwwccc36天堂| www国产精品av| 一本久久a久久精品亚洲| 亚洲国产日韩精品| 久久久久国产精品厨房| 91免费国产视频网站| 无码av免费一区二区三区试看| 精品人在线二区三区| 成人在线综合网站| 亚洲成av人**亚洲成av**| 精品卡一卡二卡三卡四在线| 成人小视频免费观看| 亚洲一区二区高清| 久久久久成人黄色影片| 欧美四级电影网| 精品亚洲国产成人av制服丝袜| 日韩美女视频一区| 精品久久久久香蕉网| 91丝袜美女网| 国产精品小仙女| 亚洲主播在线播放| 欧美激情中文字幕| 日韩一区二区三区在线| 色8久久人人97超碰香蕉987| 狠狠色丁香婷综合久久| 性做久久久久久免费观看| 国产欧美日韩在线| 日韩午夜激情免费电影| 欧洲色大大久久| 成人精品免费网站| 麻豆一区二区99久久久久| 亚洲综合一区二区三区| 久久久久久久久伊人| 日韩一区二区免费电影| 欧美自拍偷拍午夜视频| 北岛玲一区二区三区四区| 免费成人av在线| 亚洲妇女屁股眼交7| 国产精品麻豆网站| 久久男人中文字幕资源站| 欧美久久一二区| 欧洲视频一区二区| 一本大道综合伊人精品热热| 成人激情校园春色| 国产盗摄视频一区二区三区| 蜜臀久久99精品久久久画质超高清| 亚洲精品久久嫩草网站秘色| 亚洲欧美在线aaa| 国产欧美日韩中文久久| 国产亚洲福利社区一区| 久久久久国色av免费看影院| 日韩免费福利电影在线观看| 91精品欧美久久久久久动漫 | 91在线视频网址| 国产.精品.日韩.另类.中文.在线.播放| 麻豆精品视频在线观看免费| 日韩电影一区二区三区| 日韩精品一二区| 日本欧美一区二区三区乱码| 午夜欧美在线一二页| 午夜精品一区二区三区免费视频| 亚洲精品免费看| 午夜欧美在线一二页| 人人狠狠综合久久亚洲| 欧美96一区二区免费视频| 轻轻草成人在线| 极品少妇一区二区三区精品视频| 精品一区二区免费视频| 国产精品一区二区久激情瑜伽| 狠狠色狠狠色综合系列| 国产盗摄精品一区二区三区在线| 高清国产午夜精品久久久久久| 成人免费看黄yyy456| 91一区二区在线| 欧美日韩国产系列| 欧美一激情一区二区三区| 欧美精品一区二区三区一线天视频 | 韩国一区二区在线观看| 国产精品一级黄| 99精品久久免费看蜜臀剧情介绍| 色久综合一二码| 欧美日本高清视频在线观看| 精品美女被调教视频大全网站| 26uuu亚洲综合色| 亚洲色图欧洲色图| 亚洲.国产.中文慕字在线| 精品综合久久久久久8888| av色综合久久天堂av综合| 欧美综合天天夜夜久久| 精品久久久久久久人人人人传媒| 久久精品夜夜夜夜久久| 亚洲一区二区五区| 韩国欧美国产1区| 一本色道综合亚洲| 日韩免费高清av| 一区二区三区在线观看动漫 | 亚洲国产一区二区三区| 国产一区二区日韩精品| 在线观看视频一区二区| 久久久久久一二三区| 一区二区三区精品在线观看| 黄页视频在线91| 欧美日韩国产一级二级| 国产精品网站导航| 日本免费在线视频不卡一不卡二| 国产1区2区3区精品美女| 欧美一区永久视频免费观看| 国产精品无码永久免费888| 免费在线观看不卡| 欧美中文字幕不卡| 中文字幕欧美国产| 日韩成人免费在线| 欧美在线高清视频| 中文在线一区二区| 九九视频精品免费| 56国语精品自产拍在线观看| 亚洲欧洲日韩av| 国产成人av电影在线观看| 欧美日本一区二区在线观看| 亚洲欧洲精品成人久久奇米网| 精品一区二区三区香蕉蜜桃| 欧美老肥妇做.爰bbww| 亚洲精品日产精品乱码不卡| 成人一区二区在线观看| 欧美精品一区二区三区高清aⅴ| 亚洲国产日韩一级| 在线区一区二视频| 综合久久一区二区三区| 懂色av一区二区三区免费观看| 日韩美女一区二区三区四区| 亚洲国产成人av网| 在线观看日韩国产| 一区二区三区四区在线播放| av激情成人网| 国产精品进线69影院| 国产成人综合在线观看| 久久夜色精品国产噜噜av | 91官网在线观看| 综合色天天鬼久久鬼色| av动漫一区二区| 国产精品成人免费在线| eeuss影院一区二区三区| 中文字幕国产一区二区| 成人激情免费视频| 亚洲女同ⅹxx女同tv| 色婷婷综合激情| 亚洲一区二区三区小说| 欧美体内she精视频| 日本不卡不码高清免费观看|