x


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

more ▼

asked Dec 28 '11 at 08:14 AM

BlacKatFever gravatar image

BlacKatFever
101 22 26 27

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

change

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

to

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

answered Dec 28 '11 at 08:32 AM

Rod Green gravatar image

Rod Green
2.9k 2 9 42

Thanks for the quick reply! Unfortunately, the above code returns an error.

"Type UnityEngine.GUITexture' does not contain a definition forTexture' and no extension method Texture' of typeUnityEngine.GUITexture' could be found (are you missing a using directive or an assembly reference?)

edit: Nevermind! Looks like "playerRank.texture" did the trick. Thanks again for your help!

Dec 28 '11 at 08:59 AM BlacKatFever
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x4172
x477
x237
x7

asked: Dec 28 '11 at 08:14 AM

Seen: 713 times

Last Updated: Dec 28 '11 at 09:26 AM