Stuck for the better part of a week - no idea why i get this unexpected behavior.

I am attempting to make it so that when you click a toggle it sets a bool to true. When that bool is true the separate rules are used for fishing on this. Everything works perfectly to a certain point. I can start with the starting pole checked, fish, and i use the correct rules. Then i go and change the check to the next one, In the editor it shows that the first bool (startingpole) has been unchecked, and the 2nd one (fishingpole2 has been checked) I then continue to go try fishing, but the second that I tap the fishing button it checks the startingpole bool as well as whatever one i checked. I have been attempting to ask various questions and trying to redo the code several different ways to make this work over the last few days. Spending 6-8 hours a day on documentation tutorial vids, and just trying to create a new system for the logic to make it work but it just keeps turning the first bool to true no matter what way i try to change it. So that leaves me to believe that it something silly error that I am doing every time I attempt to re do it. The error is in my understand and the logic i am attempting to use. I am going to put the code i have and explain how each part is expected to work, if anyone happens to see why it allways changes to the startingpole boolean ticked when i attempt to fish that would be such a relief. Thank you for taking the time to read this.

here is the code that I have attached to each of the toggles.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class FishingPoleToggleSwitchScript : MonoBehaviour {

    Toggle myToggle;
   
    void Awake ()
    {
        myToggle = GetComponent<Toggle>();
        myToggle.onValueChanged.AddListener(ToggleChange);
    }
   
    void ToggleChange (bool isActive)
    {
        if(isActive)
            ToggleOn();
        else
            ToggleOff();
    }
   
    void ToggleOn()
    {
        GameControl.control.startingPole = true;
        Debug.Log("Toggle on! Do something.");
    }
   
    void ToggleOff()
    {
        GameControl.control.startingPole = false;
        Debug.Log("Toggle off! Do something else!");
    }
}

the only varients i have is that the staringpole bool is pole2 pole3 and so on. I will put the pole 2 version on here as well so you can see.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class FishingPoleToggleSwitchScriptA : MonoBehaviour {

    Toggle myToggle;
   
    void Awake ()
    {
        myToggle = GetComponent<Toggle>();
        myToggle.onValueChanged.AddListener(ToggleChange);
    }
   
    void ToggleChange (bool isActive)
    {
        if(isActive)
            ToggleOn();
        else
            ToggleOff();
    }
   
    void ToggleOn()
    {
        GameControl.control.fishingPole2 = true;
        Debug.Log("Toggle on! Do something.");
    }
   
    void ToggleOff()
    {
        GameControl.control.fishingPole2 = false;
        Debug.Log("Toggle off! Do something else!");
    }
}

Next i will share the code that i am using for the taping of the fish to work. (i am almost positive this is where the error is happening beacuse like i said everything works acording to plan up until the first click to fish. then it throws the startingpole bool to true and of course follows the startingpole logic as would be expected if it were on.

    public void WhenClicked()
    {   
        int randomRange;
        GameControl.control.taps += 1;
       
    if(GameControl.control.startingPole = true)
        {
            randomRange = Random.Range (1,100);   
            if(randomRange <= 95)
            {
                GameControl.control.shrimp += 1;
            }
            else if(randomRange >= 96)
            {
                GameControl.control.mackrel += 1;
            }
        }
        else if(GameControl.control.fishingPole2 = true)
        {
            GameControl.control.startingPole = false;
            randomRange = Random.Range (0,100);
            if(randomRange <= 15)
            {
                GameControl.control.shrimp += 1;
            }
            else if(randomRange >= 16 && randomRange <= 90)
            {
                GameControl.control.mackrel += 1;
            }
            else if(randomRange >= 91)
            {
                GameControl.control.bass += 1;
            }
           
       
    }
}

I just can not for the life of me work out (even after trying to re code it and reverse it, debug it everywhere etc. what i am doing wrong to make it switch the starting bool true when i click fish and run that function on the click called WhenClicked. thanks for any time you have spent to go through this i realize that it is a long post, i am just really stuck and am attempting to make a very thorough post. thanks.

if(GameControl.control.startingPole=true)

is wrong, it should be

if(GameControl.control.startingPole == true)

same error occurs several times in your script

doh… i mix up = and == alot. thank you. So when i adjust that things should work as i expect… thank you! all ways seems to be the little things like that I dont seem to catch. logic wise i think it looks ok. thanks again! ill go fix that