Why can't I move the 1st Player's game piece on the 2nd turn?

I’m trying to make a 2 player turn-based game and I’ve got this problem that is really frustrating me now. I’ve got two gameobjects. The first one is the turn-manager, which has a script that simply enables and disables between the Player1/Player 2 scripts (depending on whose turn it is). The other gameobject is the GameManager which has Player 1/Player 2 scripts attached to it that carry out the main game mechanics. My problem is that on the 2nd turn for Player 1 it won’t move the selected game piece towards the desire location and thus won’t enable the 2nd turn for the Player 2. Can anyone please help me. Thank you.

Here’s the code for the turn-manager script:

var playerObject:Transform;

public var states:boolean = true;

function Update() {

    if(states == true) {
        //print(playerObject.GetComponent(PLAYER_ONE).turnsmoving);
        playerObject.GetComponent(PLAYER_ONE).enabled = true;
        playerObject.GetComponent(PLAYER_TWO).enabled = false;

        if(playerObject.GetComponent(PLAYER_ONE).turnsmoving == 1) {

            states = false;
            playerObject.GetComponent(PLAYER_ONE).turnsmoving = 0;

        }
    }

    if(states == false) {

        playerObject.GetComponent(PLAYER_ONE).enabled = false;
        playerObject.GetComponent(PLAYER_TWO).enabled = true;

        if(playerObject.GetComponent(PLAYER_TWO).turnsmoving == 1) {

            states = true;
            playerObject.GetComponent(PLAYER_TWO).turnsmoving = 0;

        }
    }
}

And here’s the game-manager script:

var selGridInt : int = 0;
var aObject;
var bObject;
var CHECK_radio_BUTTON_selected : int;

var i : int;
var x : int;

var selStrings : String[] = ["PC1", "PC2", "PC3", "PC4"];
var dist;

var HELLO : GameObject[];
var gos : GameObject[];

var distance;

var PC_position;

var distance_CHECK : int = 0;

var CHECK_for_2_OBJECTS_selected : boolean = false;
var C : boolean = false;


var myTimer : float = 10.0;
var speed : float = 0.5;

var MOVE : boolean = false;

public var turnsmoving : int = 0;

function OnGUI() {

    var CHANGING_1st = GameObject.Find("PC1");
    var CHANGING_2nd = GameObject.Find("PC2");
    var CHANGING_3rd = GameObject.Find("PC3");
    var CHANGING_4th = GameObject.Find("PC4");
    var CHANGING_object_COLOUR;

    GUI.Box(Rect(0,0,Screen.width/2,Screen.height/2),"Player 1");

    GUILayout.BeginVertical("Box");
    selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 5, EditorStyles.radioButton);
    //Debug.Log(selGridInt);
    if (GUILayout.Button("Start")){
        //Debug.Log("You chose " + selStrings[selGridInt]);
        switch(selGridInt) {
            case 0:
                CHECK_radio_BUTTON_selected = selGridInt;
                CHECK_for_2_OBJECTS_selected = true;
                //CHANGING_1st.GetComponent.<Renderer>().material.color = Color.yellow;
                //distance_CHECK++;
                break;

            case 1:
                CHECK_radio_BUTTON_selected = selGridInt;
                CHECK_for_2_OBJECTS_selected = true;
                //CHANGING_2nd.GetComponent.<Renderer>().material.color = Color.yellow;
                //distance_CHECK++;
                break;

            case 2:
                CHECK_radio_BUTTON_selected = selGridInt;
                CHECK_for_2_OBJECTS_selected = true;
                //CHANGING_3rd.GetComponent.<Renderer>().material.color = Color.yellow;
                //distance_CHECK++;
                break;

            case 3:
                CHECK_radio_BUTTON_selected = selGridInt;
                CHECK_for_2_OBJECTS_selected = true;
                //CHANGING_4th.GetComponent.<Renderer>().material.color = Color.yellow;
                //distance_CHECK++;
                break;

            default:
                Debug.Log("No GameObject Selected Yet!!!");
                break;
        }

    }
    GUILayout.EndVertical();
}

function Update() {
    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    var hit : RaycastHit;
    //dist = bObject.transform.position - aObject.transform.position;

    var CHANGING_1st = GameObject.Find("PC1");
    var CHANGING_2nd = GameObject.Find("PC2");
    var CHANGING_3rd = GameObject.Find("PC3");
    var CHANGING_4th = GameObject.Find("PC4");


    gos = GameObject.FindGameObjectsWithTag("Enemy");
    HELLO = GameObject.FindGameObjectsWithTag("PC");

        if(Physics.Raycast(ray, hit) && Input.GetMouseButtonUp(0)) {

             distance_CHECK++;
             print("Checking if the mouse button has been released twice: " + distance_CHECK);
             //Debug.Log(distance_CHECK);

        }

           for(x = 0; x < HELLO.Length; x++) {
         if(Physics.Raycast(ray, hit) && Input.GetMouseButtonDown(0)) {



            for(i = 0; i < gos.Length; i++) {
                //dist = (CHANGING_object_COLOUR.transform.position - gos[i].transform.position).magnitude;
            if(hit.collider.gameObject == gos[i].gameObject) {
                //Debug.Log(gos[i]);
                C = true;

                distance = Vector3.Distance(gos[i].transform.position, HELLO[x].transform.position);

    
         if(distance ==5 && C == true && CHECK_for_2_OBJECTS_selected == true && distance_CHECK == 2) {//&& distance_CHECK == 8) {
             //Debug.Log(distance);
             //gos[i].GetComponent.<Renderer>().material.color = Color.black;
             print("Node Selected: " + gos[i].name + " Character Selected: " + HELLO[x].name);
             HELLO[x].transform.LookAt(gos[i].transform.position);
             MOVE = true;
         }


            }
           }

          }


          if(MOVE == true && myTimer > 0 && CHECK_radio_BUTTON_selected == 0) {

              //Debug.Log(CHECK_radio_BUTTON_selected);
              CHANGING_1st.GetComponent.<Renderer>().material.color = Color.black;
              CHANGING_1st.transform.Translate(Vector3.forward * speed * Time.deltaTime);
              myTimer -= Time.deltaTime;
          }

           if(MOVE == true && myTimer > 0 && CHECK_radio_BUTTON_selected == 1) {

              //Debug.Log(CHECK_radio_BUTTON_selected);
              CHANGING_2nd.GetComponent.<Renderer>().material.color = Color.blue;
              CHANGING_2nd.transform.Translate(Vector3.forward * speed * Time.deltaTime);
              myTimer -= Time.deltaTime;
          }

            if(MOVE == true && myTimer > 0 && CHECK_radio_BUTTON_selected == 2) {

              //Debug.Log(CHECK_radio_BUTTON_selected);
              CHANGING_3rd.GetComponent.<Renderer>().material.color = Color.red;
              CHANGING_3rd.transform.Translate(Vector3.forward * speed * Time.deltaTime);
              myTimer -= Time.deltaTime;
          }

             if(MOVE == true && myTimer > 0 && CHECK_radio_BUTTON_selected == 3) {

              //Debug.Log(CHECK_radio_BUTTON_selected);
              CHANGING_4th.GetComponent.<Renderer>().material.color = Color.yellow;
              CHANGING_4th.transform.Translate(Vector3.forward * speed * Time.deltaTime);
              myTimer -= Time.deltaTime;
          }


     }

         if(myTimer <= 0.1){

            //Debug.Log('Resetting Variables.');
            MOVE = false;
            CHECK_for_2_OBJECTS_selected = false;
            C = false;
            distance_CHECK = 0;
            myTimer= 10.0;

            turnsmoving++;

        }
}

yikes :eyes: code tags please! Using code tags properly - Unity Engine - Unity Discussions

Sorry thanks for the link on how to insert code on this forum.