Esempio n. 1
0
        public ActionResult DmgCreature(DmgCreatureModel dmgCreatureModel)
        {
            List <CreatureModel> initiative = InitiativeIO.GetInitiative();
            int           pos          = initiative.FindIndex(item => item.Id == dmgCreatureModel.DmgCreatureId);
            CreatureModel thisCreature = initiative[pos];

            thisCreature.HP = thisCreature.HP - dmgCreatureModel.Dmg;


            if (thisCreature.HP <= 0 && thisCreature.CreatureType == CreatureTypeEnum.enemy)
            {
                InitiativeIO.DeleteRecord(thisCreature.Id);
            }
            else
            {
                if (thisCreature.HP < 0)
                {
                    thisCreature.HP = 0;
                }
                InitiativeIO.UpdateRecord(thisCreature);
            }

            BattleMapModel battlemapRecord = BattleMapIO.GetData();

            battlemapRecord.MovingId = 0;

            BattleMapIO.UpdateRecord(battlemapRecord);



            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        // マップの生成
        private BattleMapModel CreateMap(GameObject prefab, bool isEnemy)
        {
            if (prefab == null)
            {
                return(null);
            }

            // オブジェクトの生成
            GameObject betteryObject = CreateObject(prefab);

            if (betteryObject == null)
            {
                return(null);
            }

            // キャラクタのモデルの生成
            var view = new BattleViewModel(new Chocolate.Battle.Object.Model.Transform(betteryObject.transform));

            DirectorModel director = null;

            if (isEnemy)
            {
                director = new EnemyMapDirectorModel();
            }
            else
            {
                director = new PlayerMapDirectorModel();
            }

            return(BattleMapModel.CreateMap(view, director));
        }
Esempio n. 3
0
 public BattleMapInputModel(BattleMapModel model)
 {
     Turn           = model.Turn;
     BackgroundPath = model.BackgroundPath;
     MovingId       = model.MovingId;
     Width          = model.Width;
     Height         = model.Height;
 }
Esempio n. 4
0
        public static BattleAreaModel CreateArea(BattleBetteryModel bettery, BattleMapModel map)
        {
            BattleAreaModel area = new BattleAreaModel();

            area.bettery = bettery;
            area.map     = map;

            return(area);
        }
Esempio n. 5
0
        public ActionResult SetToMove(int id)
        {
            BattleMapModel battlemapRecord = BattleMapIO.GetData();

            battlemapRecord.MovingId = id;

            BattleMapIO.UpdateRecord(battlemapRecord);

            return(RedirectToAction("Index"));
        }
Esempio n. 6
0
        /// <summary>
        /// Przywraca wartości początkowe stanu.
        /// </summary>
        public static void Clear()
        {
            BattleMapModel model = new BattleMapModel();

            model.Turn           = 0;
            model.BackgroundPath = null;
            model.MovingId       = 0;
            model.Width          = 24; //domyślna szerokość i wysokość planszy
            model.Height         = 18;

            UpdateRecord(model);
        }
Esempio n. 7
0
        /// <summary>
        /// Ustawia stan Battlemapy w bazie na podany
        /// </summary>
        /// <param name="newModel"></param>
        public static void UpdateRecord(BattleMapModel newModel)
        {
            string fullPath = FileIO.GetProgDataPath(dataPath);

            //konwersja na InutModel
            BattleMapInputModel ioModel = new BattleMapInputModel(newModel);

            //serializacja i zapis
            string output = JsonConvert.SerializeObject(ioModel);

            FileIO.WriteText(fullPath, output);
        }
Esempio n. 8
0
        public ActionResult AddBackground(AddBackgroundModel model)
        {
            BattleMapModel battlemapRecord = BattleMapIO.GetData();

            battlemapRecord.BackgroundPath = model.FilePath;
            battlemapRecord.Width          = model.Width;
            battlemapRecord.Height         = model.Height;
            BattleMapIO.UpdateRecord(battlemapRecord);


            return(RedirectToAction("Index"));
        }
Esempio n. 9
0
        public BattleMapModel ToLogic()
        {
            BattleMapModel model;

            model                = new BattleMapModel();
            model.Turn           = Turn;
            model.BackgroundPath = BackgroundPath;
            model.MovingId       = MovingId;
            model.Width          = Width;
            model.Height         = Height;

            return(model);
        }
Esempio n. 10
0
        // GET: BattleMap
        public ActionResult Index()
        {
            List <CreatureModel> initiativeRecords = InitiativeIO.GetInitiative();
            BattleMapModel       battlemapRecord   = BattleMapIO.GetData();

            BattleMapTransViewModel model = new BattleMapTransViewModel();

            model.FullInitiative = initiativeRecords.OrderByDescending(o => o.Initiative).ToList();
            model.StateData      = battlemapRecord;


            return(View(model));
        }
Esempio n. 11
0
        private static readonly string dataPath = "DataBase/BattleMapData.json"; //ścieżka względna pliku bazy danych

        /// <summary>
        /// Pobiera ztan Battlemapy z bazy
        /// </summary>
        /// <returns></returns>
        public static BattleMapModel GetData()
        {
            BattleMapModel data = new BattleMapModel();

            string fullPath = FileIO.GetProgDataPath(dataPath);

            //deseralizacja rekordu
            BattleMapInputModel rawData = JsonConvert.DeserializeObject <BattleMapInputModel>(FileIO.ReadTxt(fullPath));

            //konwersja z InputModelu
            data = rawData.ToLogic();

            return(data);
        }
Esempio n. 12
0
        /// <summary>
        /// Ustawia marker tury na następne stworzenie
        /// </summary>
        public static void NewTurn()
        {
            BattleMapModel       model      = BattleMapIO.GetData();
            List <CreatureModel> initiative = InitiativeIO.GetInitiative();

            if (model.Turn < initiative.Count - 1)
            {
                model.Turn = model.Turn + 1;
            }
            else
            {
                model.Turn = 0;
            }

            UpdateRecord(model);
        }
Esempio n. 13
0
        public ActionResult Move(int id)
        {
            BattleMapModel battlemapRecord = BattleMapIO.GetData();

            int x = id % battlemapRecord.Width;
            int y = id / battlemapRecord.Width;


            CreatureModel creature = InitiativeIO.GetInitiative().Find(item => item.Id == battlemapRecord.MovingId);

            if (creature != null)
            {
                creature.PositionX = x;
                creature.PositionY = y;
                InitiativeIO.UpdateRecord(creature);
            }
            battlemapRecord.MovingId = 0;
            BattleMapIO.UpdateRecord(battlemapRecord);


            return(RedirectToAction("Index"));
        }