unit pojezdy;

interface

uses uttory,uttr,GLScene,glgeomobjects, GLObjects,umklogger,SysUtils;

type tpoje=class
        private
        public
        baza:tglbasesceneobject;
        poj:array[1..32] of ttr;
        tras:ttory;

        nov:integer;
        log:tmklogger;
        constructor create;
        destructor era;
        procedure wczytaj(aa:string);
        procedure rusz(td:double);

        end;

implementation

constructor tpoje.create;

begin
end;

destructor tpoje.era;
begin
end;

procedure tpoje.wczytaj(aa:string);
var i:integer;
fil:text;
lin:string;
kat,plik,teks:string;
t:integer;
begin
        log.wriln('ruch uliczny map\'+aa+'.vt1');
        tras:=ttory.create;
        tras.wczytaj('map\'+aa+'.vt1');
        tras.baza:=baza;


        log.wriln('ruch uliczny map\'+aa+'.tr1');
        assignfile(fil,'map\'+aa+'.tr1');
        reset(fil);
        nov:=0;

        while not eof(fil) do begin
                try
                readln(fil,lin);
                log.wriln(lin);
                inc(nov);
                poj[nov]:=ttr.create;
                poj[nov].baza:=baza;
                poj[nov].trasa:=tras;
                kat:=copy(lin,1,pos(',',lin)-1);
                delete(lin,1,pos(',',lin));
                t:=strtoint(copy(lin,1,pos(',',lin)-1));
//                poj[nov].tpoz.t:=nov;

          //      log.wriln('!!!'+copy(lin,1,pos(',',lin)-1)+'---');
                delete(lin,1,pos(',',lin));
                teks:=lin;
                poj[nov].wczytajbusa(kat,teks);
//                poj[nov].tpoz.t:=nov*2;
                poj[nov].tpoz.p:=0.5;
                poj[nov].tpoz.t:=t;
                poj[nov].v:=8;
                except
                on e: exception do log.wriln('cla- '+e.ClassName+' -WYJ- '+e.Message);
                end;
               end;
                closefile(fil);
                log.wriln('koniec ruchu');
end;

procedure tpoje.rusz(td:double);
var i:integer;
ran:integer;
begin
        for i:=1 to nov do  begin
                poj[i].rusz(td);
         //       log.wriln(inttostr(i)+' '+floattostr(poj[i].v*3.6));
        end;
        ran:=round(random(tras.np))-1;
        if ran<1 then ran:=1;
        tras.switchf(ran);

end;

end.
