Пример #1
0
        public void AddCharacter(string name, string faction, string race, string characterclass)
        {
            CharacterFaction cf;
            CharacterRace    cr;
            CharacterClass   cc;

            List <Character> characters = GetCharacter();

            if (!Enum.TryParse <CharacterFaction>(faction, out cf))
            {
                throw new Exception("Faction invalid");
            }

            if (!Enum.TryParse <CharacterRace>(race, out cr))
            {
                throw new Exception("Race invalid");
            }

            if (!Enum.TryParse <CharacterClass>(characterclass, out cc))
            {
                throw new Exception("Class invalid");
            }

            if (characters.Count(x => x.Faction != cf && x.Active == true) > 0)
            {
                throw new Exception("All Characters must be part of the " + characters.First().Faction.ToString());
            }

            Character newCharacter = new Character(name, cf, cr, cc);

            PlayerData p = new PlayerData(FileName);

            p.AddCharacter(UserName, newCharacter);
        }
Пример #2
0
 public void OnClickSelectItemYes()
 {
     if (selectItem > 0)
     {
         SoundManager.PlaySound(SoundManager.Sound.AlertYes);
         Item item = shopItemList[selectItem - 1];
         if (PlayerData.goldCube >= item.value)
         {
             PlayerData.UseGoldCube(item.value);
             if (item.type == 0)
             {
                 ItemManager.Instance.ItemUseableBuy(item);
                 GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("`{0}`{1}", LocalizationManager.GetText("ItemName" + item.number), LocalizationManager.GetText("Alert_BuySuccess")), item.sprite, null, null));
             }
             else if (item.type == 1)
             {
                 PlayerData.AddCharacter(item.number);
                 GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("`{0}`{1}", LocalizationManager.GetText("ItemName" + item.number), LocalizationManager.GetText("Alert_BuySuccess")), null, item.prefab, null));
             }
             ItemSelectCheckPanelTransform.gameObject.SetActive(false);
             shopItemSlotList[selectItem].GetChild(3).gameObject.SetActive(false);
             RefreshShopItemUI();
         }
         selectItem = 0;
     }
 }
Пример #3
0
 public void PurchaseRemoveAd()
 {
     PlayerData.isRemoveAd = true;
     PlayerDataSystem.Save();
     PlayerData.AddCharacter(16);
     AdMobManager.Instance.HideBanner();
     GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_BuyRemoveAdYes")), null, GameAssetsManager.instance.CharacterAssets[16].asset, null));
     StartManager.Instance.AddCharToGrid(16);
     Debug.Log("광고 구매완료");
 }
    // 21017
    public void ReceiveCharacterCreated(PlayerData.Character character)
    {
        PlayerData pd = mainController.gameObject.GetComponent <PlayerData>();

        pd.AddCharacter(character);
        //notification > Create success
        Popup.Instance.showPopup("การสร้างตัวละคร", "สร้างตัวละครสำเร็จ !");
        // Move camera to Choose Character
        GameObject sam = GameObject.Find("Screen Action Manager");

        sam.GetComponent <Animator>().Play("goChooseCharacter");
        // Set preview Character
        sam.transform.GetChild(0).GetComponent <ChooseCharacter>().previewCharacter(character);
    }
Пример #5
0
        /// <summary>
        /// Attempt to login the account, returning the matching playerData.
        /// </summary>
        /// <param name="accountName">Name of the account.</param>
        /// <param name="password">Login password.</param>
        /// <param name="isAdmin">Out value to return whether the account is an administrative login or not.</param>
        /// <returns>
        /// The accounts playerData and character data.
        /// </returns>
        public static PlayerData LoginAccount(string accountName, string password, out bool isAdmin)
        {
            PlayerData retVal      = new PlayerData();
            bool       hasLoggedIn = false;

            isAdmin = false;

            string cmdStringPlayerData = string.Format("SELECT * FROM {0} WHERE accountName = '{1}' AND password = '******'", tablePlayerData, accountName, password);
            string cmdStringCharacters = string.Format("SELECT * FROM {0} WHERE accountName = '{1}'", tableCharacters, accountName);

            using (SqlConnection sqlConn = new SqlConnection(string.Format("Integrated Security=SSPI;Initial Catalog={0};Data Source=(local)\\SQLEXPRESS;", databaseName)))
            {
                try
                {
                    using (SqlCommand sqlCmd = new SqlCommand(cmdStringPlayerData, sqlConn))
                    {
                        sqlConn.Open();

                        using (SqlDataReader reader = sqlCmd.ExecuteReader())
                        {
                            if (reader.HasRows)
                            {
                                reader.Read();
                                hasLoggedIn        = true;
                                retVal.AccountName = reader.GetString(0).Trim();
                                isAdmin            = reader.GetBoolean(2);
                            }

                            reader.Close();
                        }
                    }

                    // If the login was successful, retrieve the characters.
                    if (hasLoggedIn)
                    {
                        using (SqlCommand sqlCmd = new SqlCommand(cmdStringCharacters, sqlConn))
                        {
                            using (SqlDataReader reader = sqlCmd.ExecuteReader())
                            {
                                if (reader.HasRows)
                                {
                                    while (reader.Read())
                                    {
                                        Character character = new Character(reader.GetString(1).Trim(), (Race)reader.GetInt32(3), (CharClass)reader.GetInt32(4), reader.GetInt32(2), reader.GetBoolean(5));
                                        retVal.AddCharacter(character);
                                    }
                                }

                                reader.Close();
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    /* Do exception logging here */
                    retVal = null;
                }
                finally
                {
                    if (sqlConn.State == ConnectionState.Open)
                    {
                        sqlConn.Close();
                    }
                }
            }

            return(retVal);
        }
Пример #6
0
    void CheckGetSpecialCharacter()
    {
        List <CharacterAssets> charList = GameAssetsManager.instance.CharacterAssets.FindAll(x => ItemManager.Instance.IsSpecialCharacter(x.id) && !PlayerData.IsHavingCharacter(x.id));

        foreach (var chr in charList)
        {
            switch (chr.id)
            {
            case 17:
                if (PlayerData.currentStage >= 85)
                {
                    PlayerData.AddCharacter(17);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter17")), null, GameAssetsManager.instance.CharacterAssets[17].asset, null));
                    AddCharToGrid(17);
                }
                break;

            case 18:
                if (hobookGamesClickCount >= 10)
                {
                    GooglePlayManager.Instance.OnAddAchievement(6);
                    PlayerData.AddCharacter(18);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter18")), null, GameAssetsManager.instance.CharacterAssets[18].asset, null));
                    AddCharToGrid(18);
                }
                break;

            case 19:
                if (PlayerData.totalPlayTime >= 180)   // 플레이 타임 3시간
                {
                    PlayerData.AddCharacter(19);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter19")), null, GameAssetsManager.instance.CharacterAssets[19].asset, null));
                    AddCharToGrid(19);
                }
                break;

            case 20:
                if (PlayerData.undoTryCount >= 100 && PlayerData.retryCount >= 100) //취소100번,다시하기100번
                {
                    GooglePlayManager.Instance.OnAddAchievement(5);
                    PlayerData.AddCharacter(20);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter20")), null, GameAssetsManager.instance.CharacterAssets[20].asset, null));
                    AddCharToGrid(20);
                }
                break;

            case 21:
                if (PlayerData.goldCube > 99)
                {
                    PlayerData.AddCharacter(21);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter21")), null, GameAssetsManager.instance.CharacterAssets[21].asset, null));
                    AddCharToGrid(21);
                }
                break;

            case 22:
                if (PlayerData.currentStage == 100)
                {
                    GooglePlayManager.Instance.OnAddAchievement(1);
                    PlayerData.AddCharacter(22);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter22")), null, GameAssetsManager.instance.CharacterAssets[22].asset, null));
                    AddCharToGrid(22);
                }
                break;

            case 23:
                if (PlayerData.currentStage == 100)
                {
                    int cnt = 0;
                    for (int i = 0; i < 100; i++)
                    {
                        if (PlayerData.clearStageInfoList[i + 1].totalMove == int.Parse(MapDataManager.GetMapClearCount(i + 1)))
                        {
                            cnt++;
                        }
                    }
                    if (cnt == 100)
                    {
                        GooglePlayManager.Instance.OnAddAchievement(4);
                        PlayerData.AddCharacter(23);
                        GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter23")), null, GameAssetsManager.instance.CharacterAssets[23].asset, null));
                        AddCharToGrid(23);
                    }
                }
                break;

            case 24:
                if (charList.Count == 1)
                {
                    GooglePlayManager.Instance.OnAddAchievement(3);
                    PlayerData.AddCharacter(24);
                    GameSystemManager.ShowAlertMessage(new AlertMessage(1, string.Format("{0}", LocalizationManager.GetText("Alert_GetSpecialCharacter24")), null, GameAssetsManager.instance.CharacterAssets[24].asset, null));
                    AddCharToGrid(24);
                }
                break;
            }
        }
    }