Can Android touch and GuiTexture click work simultaneously?

Heyy Unity expert, need some help. I am making a game where I need to work with both touch and GUITexture click simultaneously. What I am doing is I’ve divided screen width into two parts, in left part(that is 35% of whole width), if user touch above the player it will move in upward direction and player move downward direction if user touch below the player. And In right part user can touch anywhere to move player in forward direction. Othan than this I want a GUITexture in left part of screen where user can tap and I can perform some functionality on that.
Now the problem is click functionality on GuiTexture is not working only touch is working even if I click on GuiTexture also.

Below is the script that is associated to my player:

using UnityEngine;
using System.Collections;

public class TestPlayerTouch : MonoBehaviour {

public float speed = 400f;
Rigidbody2D myBody;
Vector2 movement;
private SpriteRenderer spriteRenderer;
public bool isBlueColor = true;
public bool isGameComplete = false;
public Vector3 playerPosition;
public GUIText touchText;
public GUIText playerPositionText;

// Use this for initialization
void Start () {

    myBody = this.rigidbody2D;
    spriteRenderer = GetComponent<SpriteRenderer>();
}



// Update is called once per frame
void Update () {

    if (myBody != null)
    {

        //Works for keyboards and joysticks
        #if !UNITY_ANDROID && !UNITY_IPHONE && !UNITY_BLACKBERRY && !UNITY_WINRT

            MoveHorizontally(Input.GetAxisRaw("Horizontal"));
            MoveVertically(Input.GetAxisRaw("Vertical"));
            if (Input.GetButtonDown("Jump"))
            {
                toggleColor();

            }

        #endif

        playerPosition = myBody.transform.position;         
        

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Stationary)
        {

            Vector2 touchPosition = Input.GetTouch(0).position;
            

            if (touchPosition.x >= 0 && touchPosition.x <= Screen.width * .35f)
            {

                if (touchPosition.y > playerPosition.y)
                {

                    MoveVertically(1);

                }
                else if (touchPosition.y < playerPosition.y)
                {

                    MoveVertically(-1);

                }

            }
            else {

                MoveHorizontally(1);

            }

        }
    }
}
public void MoveHorizontally(float horizontal_input)
{
    if (horizontal_input > 0 && myBody != null)
    {

        movement = myBody.velocity;
        movement.x = horizontal_input * speed * Time.deltaTime;
        myBody.velocity = movement;
    }
}

public void MoveVertically(float vertical_input)
{

    if (myBody != null)
    {

        movement = myBody.velocity;
        movement.y = vertical_input * speed * Time.deltaTime;
        myBody.velocity = movement;
        
    }

}

}

Below script is associated to my GUITexture :

using UnityEngine;
using System.Collections;

public class ToggleColor : TouchLogicV2
{
    TestPlayerScript player;
    void Start()
    {
        player = FindObjectOfType<TestPlayerScript>();
    }

    public override void OnTouchBegan()
    {
        player.toggleColor();
    }

    
}

Probably better to just use Input.GetTouch() and then use the touch position to work out if the user has touched the GuiTexture.