Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public void Dispose()
 {
     PG.Save();
     PG.Clear();
     PG = null;
 }