InvalidCastException with my GUI Textures

Hey all,

I’m trying to make a basic results screen that pops up at the end of my stage. The basic gist is that my game object (housing only a GUITexture component and the script listed below) accesses my Performance script to find out how many lives the player has left. I then use a switch statement to find the appropriate GUITexture which I will then fade in after the results have been posted.

Problem is that I keep getting an “InvalidCastException: Cannot cast from source type to destination type” error. Any ideas on what I’m doing wrong? (Fade-in code not included yet.)

using UnityEngine;
using System.Collections;

public class Rank : MonoBehaviour {

	public GUITexture playerRank;
	
	Performance performance;
	
	GameObject manager;
	
	// Use this for initialization
	void Start () 
	{
		manager = GameObject.FindGameObjectWithTag("Manager");
		performance = manager.GetComponent<Performance>();
	
	}
	
	// Update is called once per frame
	void Update () 
	{
		
	}
	
	public void RankCheck()
	{
		switch (performance.lifeCount)
		{
			case 1:
				playerRank = (GUITexture)Resources.Load("grade_C");
				break;
			
			case 2:
				playerRank = (GUITexture)Resources.Load("grade_C");
				break;
			
			case 3:
				playerRank = (GUITexture)Resources.Load("grade_B");
				break;
			
			case 4:
				playerRank = (GUITexture)Resources.Load("grade_B");
				break;
			
			case 5:
				playerRank = (GUITexture)Resources.Load("grade_A");
				break;
		}
	}
}

Thanks for your time!

BKF

change

  playerRank = (GUITexture)Resources.Load("xxxxx");

to

  playerRank.Texture = (Texture)Resources.Load("xxxxx", typeof(Texture));