コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
    /// <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);
    }