public void OnBuyButtonClicked(int soldier_type)
    {
        bool   isBought              = false;
        int    level                 = -1;
        string state_string          = "";
        ScriptableSoldierProps props = null;

        if (soldier_type == Constants.SWORD_SOLDIER)
        {
            state_string = "Sword_Soldier_State";
        }
        else if (soldier_type == Constants.ARROW_SOLDIER)
        {
            state_string = "Arrow_Soldier_State";
        }
        else if (soldier_type == Constants.HAMMER_SOLDIER)
        {
            state_string = "Hammer_Soldier_State";
        }
        int state = StatisticsManager.SM.GetDetails(state_string);

        if (state == Constants.BUYABLE)
        {
            level    = 1;
            props    = StatisticsManager.SM.GetSoldierProperties(soldier_type, level);
            isBought = BuySoldier(props.cost, soldier_type, true);
            if (isBought)
            {
                state = Constants.BOUGHT_LEVEL1;
            }
        }
        else if (state == Constants.BOUGHT_LEVEL1)
        {
            level    = 2;
            props    = StatisticsManager.SM.GetSoldierProperties(soldier_type, level);
            isBought = BuySoldier(props.cost, soldier_type, true);
            if (isBought)
            {
                state = Constants.BOUGHT_LEVEL2;
            }
        }
        else if (state == Constants.BOUGHT_LEVEL2)
        {
            level    = 3;
            props    = StatisticsManager.SM.GetSoldierProperties(soldier_type, level);
            isBought = BuySoldier(props.cost, soldier_type, true);
            currentUpgradedButton.enabled = false;
            if (isBought)
            {
                state = Constants.BOUGHT_LEVEL3;
            }
        }
        StatisticsManager.SM.SetDetails(state_string, state.ToString());
        StatisticsManager.SM.SetDetails("Player_Gems", player_gems.ToString());
        if (isBought)
        {
            SetTheStore();
        }
    }
    public static void CreateMySoldier()
    {
        ScriptableSoldierProps asset = ScriptableObject.CreateInstance <ScriptableSoldierProps>();

        AssetDatabase.CreateAsset(asset, "Assets/Data/Soldiers/NewSoldierProps.asset");
        AssetDatabase.SaveAssets();

        EditorUtility.FocusProjectWindow();

        Selection.activeObject = asset;
    }