Ejemplo n.º 1
0
        public void Load(string heroName, GameManager gm, Func <Hero, GameState, AbstractGameLevel> worldLoader)
        {
            gm.Context.NodeHeroPlacedAfterLoad = null;
            //reset context
            gm.Context.Hero        = null;
            gm.Context.CurrentNode = null;

            var hero   = gm.Persister.LoadHero(heroName);
            var allies = gm.Persister.LoadAllies(heroName);

            gm.AlliesManager.SetEntities(allies.Allies);

            var gs = gm.Persister.LoadGameState(heroName);

            gm.SetGameState(gs);

            AbstractGameLevel node = null;

            node = worldLoader(hero, gs);

            gm.SetLoadedContext(node, hero);
            //gm.SetContext(node, hero, GameContextSwitchKind.GameLoaded);

            gm.PrintHeroStats("load");
        }
Ejemplo n.º 2
0
        protected Hero AddHero(AbstractGameLevel node)
        {
            var hero = Container.GetInstance <Hero>();

            var empOnes = node.GetEmptyTiles(nodeIndexMustMatch: false);
            var empty   = empOnes.First();

            node.SetTile(hero, empty.point);
            return(hero);
        }
Ejemplo n.º 3
0
 public AbstractGameObject()
 {
     level = LevelManager.CurrentLevel;
 }
Ejemplo n.º 4
0
 public static void SetLevel(string Key)
 {
     currentLevel = levels[Key];
 }
Ejemplo n.º 5
0
 public static void RegisterLevel(string Key, AbstractGameLevel Level)
 {
     levels[Key] = Level;
 }