Unit LoadSavedUnit(AODGameLibrary2.SavedUnit su, int group, bool player, Vector3 position) { Unit u; if (player) { u = Unit.Create(gameWorld, su.UnitType, group, position, true, false); } else { u = Unit.Create(gameWorld, su.UnitType, group, position, false, true); } gameWorld.units.Add(u); gameWorld.variables.LastCreatedUnit = u; u.weapons.Clear(); u.skills.Clear(); u.missiles.Clear(); foreach (AODGameLibrary2.SavedInf s in su.Weapons) { Weapon w = new Weapon(gameWorld, gameWorld.game.Content.Load <WeaponType>(s.AssetName), u); w.AmmoNum = s.AmmoNum; u.weapons.Add(w); } foreach (AODGameLibrary2.SavedInf s in su.Missiles) { MissileWeapon w = new MissileWeapon(gameWorld, gameWorld.game.Content.Load <MissileWeaponType>(s.AssetName)); w.Num = (int)s.AmmoNum; u.missiles.Add(w); } foreach (AODGameLibrary2.SavedInf s in su.Spells) { u.AddSkill(s.AssetName); } return(u); }
public GameScene(Game game) : base(game) { // TODO: Construct any child components here blank = Game.Content.Load <Texture2D>(@"blank"); pauseTexture = Game.Content.Load <Texture2D>(@"Textures\PauseMenu"); hyr = Game.Content.Load <Texture2D>(@"Textures\hyr"); Reset(); ExitToMainMenu += new EventHandler(GameScene_ExitToMainMenu); try { PlayerSaver = AODSaver.LoadData <AODGameLibrary2.SavedUnit>(GameConsts.GameSaveDirectory + @"\" + "Player.aod"); ((Game1)Game).textManager.AddText(new AODGameLibrary.Texts.AODText(Game, "战机信息已读取", 5f, Color.Gold, new Vector2(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2), AODGameLibrary.Texts.FadeOutState.Normal, AODGameLibrary.Helpers.RandomHelper.RandomDirection2() * 20, true)); } catch { } }