#include "CollectionPoint.h" #include "util.h" CollectionPoint::CollectionPoint(PixelGameEngine*pge,vf2d pos,float rot,Renderable&collectionPointImg,MemoryType type) :pos(pos),rot(rot),type(type),originalCollectionPointImg(collectionPointImg.Sprite()),randomOffset({util::random(128),util::random(128)}){ img.Create(collectionPointImg.Sprite()->width,collectionPointImg.Sprite()->height); pge->SetDrawTarget(img.Sprite()); pge->Clear(BLANK); pge->DrawSprite({0,0},collectionPointImg.Sprite()); pge->SetDrawTarget(nullptr); img.Decal()->Update(); } void CollectionPoint::Update(PixelGameEngine*pge,Renderable&matrixImg){ pge->SetDrawTarget(img.Sprite()); for(int y=0;yheight;y++){ for(int x=0;xwidth;x++){ Pixel col=originalCollectionPointImg->GetPixel(x,y); if(col==WHITE){ pge->Draw(x,y,matrixImg.Sprite()->GetPixel(int(x+randomOffset.x),int(y+randomOffset.y))); } } } img.Decal()->Update(); pge->SetDrawTarget(nullptr); }