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")); }
// マップの生成 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)); }
public BattleMapInputModel(BattleMapModel model) { Turn = model.Turn; BackgroundPath = model.BackgroundPath; MovingId = model.MovingId; Width = model.Width; Height = model.Height; }
public static BattleAreaModel CreateArea(BattleBetteryModel bettery, BattleMapModel map) { BattleAreaModel area = new BattleAreaModel(); area.bettery = bettery; area.map = map; return(area); }
public ActionResult SetToMove(int id) { BattleMapModel battlemapRecord = BattleMapIO.GetData(); battlemapRecord.MovingId = id; BattleMapIO.UpdateRecord(battlemapRecord); return(RedirectToAction("Index")); }
/// <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); }
/// <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); }
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")); }
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); }
// 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)); }
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); }
/// <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); }
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")); }