hedgewars/GSHandlers.inc
changeset 143 3dacbd83209b
parent 113 d975a426ebf7
child 146 458f4f58c1b6
equal deleted inserted replaced
142:1ff0b02fe367 143:3dacbd83209b
   740 var thexchar: array[0..5] of record
   740 var thexchar: array[0..5] of record
   741                              oy, ny: integer;
   741                              oy, ny: integer;
   742                              team: PTeam;
   742                              team: PTeam;
   743                              end;
   743                              end;
   744     thexchcnt: Longword;
   744     thexchcnt: Longword;
       
   745     currsorter: PGear;
   745 
   746 
   746 procedure doStepTeamHealthSorterWork(Gear: PGear);
   747 procedure doStepTeamHealthSorterWork(Gear: PGear);
   747 var i: integer;
   748 var i: integer;
   748 begin
   749 begin
   749 AllInactive:= false;
   750 AllInactive:= false;
   752    for i:= 0 to Pred(thexchcnt) do
   753    for i:= 0 to Pred(thexchcnt) do
   753        with thexchar[i] do
   754        with thexchar[i] do
   754             {$WARNINGS OFF}
   755             {$WARNINGS OFF}
   755             team.DrawHealthY:= ny + (oy - ny) * Gear.Timer div 640;
   756             team.DrawHealthY:= ny + (oy - ny) * Gear.Timer div 640;
   756             {$WARNINGS ON}
   757             {$WARNINGS ON}
   757 if Gear.Timer = 0 then
   758 if (Gear.Timer = 0) or (currsorter <> Gear) then
       
   759    begin
       
   760    if currsorter = Gear then currsorter:= nil;
   758    DeleteGear(Gear)
   761    DeleteGear(Gear)
       
   762    end
   759 end;
   763 end;
   760 
   764 
   761 procedure doStepTeamHealthSorter(Gear: PGear);
   765 procedure doStepTeamHealthSorter(Gear: PGear);
   762 var team: PTeam;
   766 var team: PTeam;
   763     i, t: Longword;
   767     i, t: Longword;
   787          begin
   791          begin
   788          dec(t, team.HealthRect.h + 2);
   792          dec(t, team.HealthRect.h + 2);
   789          ny:= t
   793          ny:= t
   790          end;
   794          end;
   791 Gear.Timer:= 640;
   795 Gear.Timer:= 640;
   792 Gear.doStep:= doStepTeamHealthSorterWork
   796 Gear.doStep:= doStepTeamHealthSorterWork;
       
   797 currsorter:= Gear
   793 end;
   798 end;
   794 
   799 
   795 ////////////////////////////////////////////////////////////////////////////////
   800 ////////////////////////////////////////////////////////////////////////////////
   796 procedure doStepShover(Gear: PGear);
   801 procedure doStepShover(Gear: PGear);
   797 var HHGear: PGear;
   802 var HHGear: PGear;