void ChangeLevel(string level) { //reset path and drawing stuff if (mGraph != null) { mGraph.Clear(); mPathDraw.BuildDrawInfo(mGraph); mPathDraw.BuildPathDrawInfo(new List <Vector3>(), mPathMob.GetMiddlePos() - mPathMob.GetGroundPos()); Misc.SafeInvoke(ePickReady, false); } string lev = mGameRootDir + "/Levels/" + level; mZone = new Zone(); mZoneMats.ReadFromFile(lev + ".MatLib"); mZone.Read(lev + ".Zone", false); mZoneDraw.Read(mGD, mSKeeper, lev + ".ZoneDraw", false); //set new material's cel lookup mZoneMats.SetCelTexture(0); mZoneMats.SetLightMapsToAtlas(); mPathMob.SetZone(mZone); mCamMob.SetZone(mZone); float ang; Vector3 gpos = mZone.GetPlayerStartPos(out ang); mPathMob.SetGroundPos(gpos); mCamMob.SetGroundPos(gpos); }
public void Dispose() { PG.Save(); PG.Clear(); PG = null; }