void DrawAttributeControl(Rect rect)
 {
     if (thisSystemIsReady)
     {
         IPlayerDataManager playerDataManager = playerDataManagerAdaptor.GetPlayerDataManager();
         if (playerDataManager.PlayerDataIsLoaded())
         {
             Rect sub_0 = GetHorizontalSubRect(rect, 0, 3);
             Rect sub_1 = GetHorizontalSubRect(rect, 1, 3);
             Rect sub_2 = GetHorizontalSubRect(rect, 2, 3);
             if (GUI.Button(
                     sub_0,
                     "Up"
                     ))
             {
                 int equippedBowIndex = playerDataManager.GetEquippedBowIndex();
                 IncreaseAttributeLevel(
                     thisSelectedAttributeIndex
                     );
                 CalculateShootingData();
             }
             if (GUI.Button(
                     sub_1,
                     "Down"
                     ))
             {
                 int equippedBowIndex = playerDataManager.GetEquippedBowIndex();
                 DecreaseAttributeLevel(
                     thisSelectedAttributeIndex
                     );
                 CalculateShootingData();
             }
             if (GUI.Button(
                     sub_2,
                     "Clear All"
                     ))
             {
                 ClearAllBowConfigData();
             }
         }
         else
         {
             GUI.Box(
                 rect,
                 "attributeControl" + "\n" +
                 "playerData not ready"
                 );
         }
     }
 }
        void DrawBowControl(Rect rect)
        {
            if (thisSystemIsReady)
            {
                IPlayerDataManager playerDataManager = playerDataManagerAdaptor.GetPlayerDataManager();
                if (playerDataManager.PlayerDataIsLoaded())
                {
                    //unlock, equip
                    Rect           sub_0         = GetHorizontalSubRect(rect, 0, 2);
                    Rect           sub_1         = GetHorizontalSubRect(rect, 1, 2);
                    IBowConfigData bowConfigData = playerDataManager.GetBowConfigDataArray()[thisSelectedBowIndex];

                    bool   isUnlocked           = bowConfigData.IsUnlocked();
                    string lockToggleButtonText = isUnlocked ? "Lock" : "Unlock";

                    if (GUI.Button(
                            sub_0,
                            lockToggleButtonText
                            ))
                    {
                        if (isUnlocked)
                        {
                            playerDataManager.LockBow(thisSelectedBowIndex);
                        }
                        else
                        {
                            playerDataManager.UnlockBow(thisSelectedBowIndex);
                        }
                    }

                    int equippedBowIndex = playerDataManager.GetEquippedBowIndex();
                    if (equippedBowIndex == thisSelectedBowIndex)
                    {
                        GUI.Box(
                            sub_1,
                            "Equipped"
                            );
                    }
                    else
                    {
                        if (GUI.Button(
                                sub_1,
                                "Equip"
                                ))
                        {
                            playerDataManager.SetEquippedBow(thisSelectedBowIndex);
                        }
                    }
                }
                else
                {
                    GUI.Box(
                        rect,
                        "bow control\n" +
                        "playerData not ready"
                        );
                }
            }
        }
        public void ActivateImple()
        {
            LoadAndFeedAllPanelsWithPlayerData();
            int equippedBowIndex = thisPlayerDataManager.GetEquippedBowIndex();

            thisBowPanelScroller.PlaceGroupElementUnderCursor(equippedBowIndex);

            if (!thisResourcePanel.IsShown())           //temp
            {
                thisResourcePanel.Show();
            }

            int currency = thisPlayerDataManager.GetCurrency();

            thisCurrencyPane.StartCurrencyUpdateProcess(currency);            //temp

            foreach (IBowUnlockButton button in thisBowUnlockButtons)
            {
                int unlockCost = thisPlayerDataManager.GetBowUnlockCostArray()[button.GetPanelIndex()];
                button.SetCostText(unlockCost);
            }
            thisBowConfigLabelPopText.Pop("Bow Customization", false);
        }