import wildtangent.webdriver.*; import java.math.*; public class Dust { Main Parent; WTContainer DustContainer; WTModel DustModel; float X=0; float Y=0; float Z=0; int ID; int Opacity; int Frame; float Stretch=3f; public void init(Main ParentClass){ Parent=ParentClass; DustContainer=Parent.Wt.createContainer(); DustModel = Parent.Wt.createPlane(3f,3f,false,0f,0f,1); DustModel.setTexture(Parent.scene.DustTex); DustContainer.attach(DustModel); Parent.scene.Stage.addObject(DustContainer); DustContainer.setVisible(false); } void create(int id, float x, float y, float z){ ID=id; X=x; Y=y; Z=z; DustContainer.setVisible(true); DustContainer.setPosition(X,Y,Z); Frame=1; Stretch=.5f+(float)(Math.random()*2f); setFrame(); DustModel.setAbsoluteScale(Stretch,Stretch,1); Opacity=100; DustModel.setOpacity(Opacity); DustContainer.setLookAt(Parent.scene.CameraView); } void update(int id){ ID=id; Opacity-=8; setFrame(); if(Parent.DetailTransparency)DustModel.setOpacity(Opacity); Frame++; if(Frame>12)destroy(); } void destroy(){ Dust Swap; DustContainer.setVisible(false); Swap=Parent.DustList[ID]; Parent.DustList[ID]=Parent.DustList[Parent.DustCount-1]; Parent.DustList[Parent.DustCount-1]=Swap; Parent.DustCount--; DustContainer.unsetLookAt(); } void setFrame(){ int Row=5-(int)Math.ceil((float)Frame/4f); int Col=Frame-((Row-1)*4); DustModel.setTextureRect("front",(float)(.25f*(Col)),1f-(float)(.25f*Row),(float)(.25f*(Col-1f)),1f-(float)(.25f*(Row-1f))); } }