示例#1
0
        public string AttackRequst(FormCollection collection)
        {
            string id = Request.Form["PlayerId"];
            PlayerForDataBase thisPlayerData = dataBase.PlayerinDataBase.Find(id);
            thisPlayerData.UpdatePropertyByTime();
            if(0 < thisPlayerData.remaningTimeToNextAttack)
            {
                return false.ToString();
            }

            string enemyId = new PlayerListManager().NextIdForAtack(id);
            if (enemyId != null)
            {
                //Theif2dDataDBContext dataBase = new Theif2dDataDBContext();
                PlayerForDataBase PlayerData = dataBase.PlayerinDataBase.Find(enemyId);
                if(PlayerData != null)
                {
                    PlayerForSerialize playerDataForSerialize = new Utlities().ConvertBuildingDataBaseToSerialize(PlayerData);
                    LogSystem.AddPlayerLog(id, "player" + id.ToString() + " attacked " + PlayerData.ID + " ID");
                    string uu = new JavaScriptSerializer().Serialize(playerDataForSerialize);
                    return uu;
                }
                return false.ToString();
            }
            else
            {
                return false.ToString();
            }
        }
        public string LoadPlayerData2(FormCollection collection)
        {
            string id                  = Request.Form["PlayerId"];
            string Shipname            = Request.Form["Shipname"];
            string Password            = Request.Form["Password"];
            string PasswordForCreation = "11111";
            string PasswordForEdit     = "11111";

            new Theif2dDataDBContext().LoadForFisttimeIfNessecary();
            if (Shipname == "PlayerShip")
            {
                ShipForDataBase findedShip = dataBase.AllShips.Find(id);
                if (findedShip == null)
                {
                    AddNew.WaitOne();
                    findedShip = new Utlities().returnDefultShip();
                    //AllShips.buildingCode = dataBase.ShipBaseDataBase.Find(1).BaseString;
                    string ss    = new Random().NextDouble().ToString();
                    int    index = dataBase.PlayerinDataBase.Count <PlayerForDataBase>() + 1;
                    findedShip.OwnerID = index.ToString() + ss;
                    dataBase.AllShips.Add(findedShip);
                    dataBase.SaveChanges();
                    AddNew.ReleaseMutex();
                    // new PlayerListManager().AddPlayerInfo(PlayerData);
                }
                else
                {
                    findedShip.UpdatePropertyByTime();
                    dataBase.Entry(findedShip).State = EntityState.Modified;
                    dataBase.SaveChanges();
                    // new PlayerListManager().UpdatePlayerInfo(PlayerData);
                }
                LogSystem.AddPlayerLog(findedShip.OwnerID, "Ship" + findedShip.OwnerID.ToString() + " added ");
                ShipForSerialize fors = new ShipForSerialize();
                fors.SetAccordingTodataBAse(findedShip);
                string uu = new JavaScriptSerializer().Serialize(fors);
                return(uu);
            }
            else
            {
                string          code       = Shipname + Password;
                ShipForDataBase findedShip = dataBase.AllShips.Find(code);
                if (findedShip == null)
                {
                    if (Password == PasswordForCreation)
                    {
                        return("UnderConstuction");
                    }
                    else
                    {
                        return("shipNotFinded  & CreationPaswordIsWrong");
                    }
                }
                else
                {
                    return("UnderConstuction");
                }
            }
        }