Esempio n. 1
0
        public static bool Initialize(LuaScriptBattle lsb)
        {
            MapRegion mr = GameProcessor.loadedMap.mapRegions.Find(r => r.regionID == lsb.regionID);

            if (mr == null)
            {
                return(false);
            }
            MapZone mz = mr.regionZones.Find(z => z.zoneID == lsb.zoneID);

            if (mz == null)
            {
                return(false);
            }

            List <BasicTile> zoneTiles = new List <BasicTile>();

            TBAGW.Utilities.Sprite.BaseSprite controller = TBAGW.Utilities.Control.Player.PlayerController.selectedSprite;
            controller.position = new Vector2(((int)lsb.partySpawn.x) * 64, ((int)lsb.partySpawn.y) * 64);
            controller.spriteGameSize.Location = controller.position.ToPoint();
            controller.UpdatePosition();

            if (mz.zoneTiles.Count == 0)
            {
                zoneTiles    = GameProcessor.loadedMap.possibleTilesWithController(mz.returnBoundingZone(), TBAGW.Utilities.Control.Player.PlayerController.selectedSprite);
                mz.zoneTiles = zoneTiles;
            }
            else
            {
                zoneTiles = mz.zoneTiles;
            }

            var temp_loc = MapListUtility.returnMapRadius(2, zoneTiles, controller);

            //LUA.LuaScriptBattle.Initialize(lsb);
            foreach (var item in lsb.enemies)
            {
                item.ToEnemy(mz, temp_loc);
            }

            GameProcessor.EnableCombatStage();
            GameProcessor.mainControllerBeforeCombat = TBAGW.Utilities.Control.Player.PlayerController.selectedSprite;
            CombatProcessor.InitializeFromScript(new Vector2(lsb.partySpawn.x, lsb.partySpawn.y), mr, mz, lsb);

            return(true);
        }