public HttpResponseMessage StartBattleWithRigInDb(int battleSceneId) { string steamId = User.Identity.Name; int playerId = PlayerDataSql.PlayerId(steamId); SpaceshipRig rig = SpaceshipRig.RigForBattle(playerId, battleSceneId); Battle battle = null; if (rig != null) { if (rig.Id == 0) { rig.SaveData(playerId, ""); } } else { rig = SpaceshipRig.RigForBattle(playerId, battleSceneId); } battle = Battle.CreateBattle(playerId, battleSceneId, rig.Id, true); battle.Rig = rig; string serializedElement = JsonConvert.SerializeObject(battle); serializedElement = CommonFunctions.Compress(serializedElement); var response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StringContent(serializedElement); return(response); }
public HttpResponseMessage RigForBattle(int BattleSceneId) { string steamId = User.Identity.Name; int playerId = PlayerDataSql.PlayerId(steamId); var rig = SpaceshipRig.RigForBattle(playerId, BattleSceneId); string serializedElement = JsonConvert.SerializeObject(rig); var response = new HttpResponseMessage(HttpStatusCode.OK); response.Content = new StringContent(serializedElement); return(response); }
/// <summary> /// Возвращает имя и идентификатор объекта, который в данный момент доступен для игрока. /// Начинается всё со сцены истории story 1 потом битва и так далее пока не дойдёт до /// базы. Там будем разрабатывать систему миссий которая будет выглядеть несколько /// по-другому. /// </summary> /// <param name="steamId"></param> /// <returns></returns> public static StringAndInt NextStoryObject(string steamId) { int playerId = PlayerId(steamId); StringAndInt curData = PlayerStoryFlowHub.CurrentProgressElementForPlayer(playerId).ToStringAndInt(); //Если битва еще не началась, то игрока надо кинуть на сцену рига корабля if (curData.StrValue == "battle") { int battleId = curData.IntValue; //Проверка на то, что битва уже идёт Battle curBattle = Battle.BattleByTypeId(playerId, battleId); //Если битва не идёт надо проверить нет ли уже готового рига под эту битву if (curBattle == null) { SpaceshipRig rig = SpaceshipRig.RigForBattle(playerId, battleId); if (rig == null) { curData.StrValue = "rig"; } else { curData.StrValue = "launch battle"; } } } //Если следующий объект истории - станция, тогда нужно поставить специальную пометку в профиль игрока что у него есть станция if (curData.StrValue == "station") { PlayerStoryFlowHub.SetStationAvailable(playerId); } return(curData); }