- Home /
Question by
hanaharu7 · Apr 03, 2014 at 08:34 AM ·
texturechangecrosshairswitch-case
change crosshair texture by checking switch statement?
I'm not getting any errors but it definitely not working and not really sure why aside from stupid noobness on my part.
var crosshairCantRotate : Texture2D;
var crosshairCanRotate : Texture2D;
var crosshairRotateWall : Texture2D;
var position : Rect;
var hit : RaycastHit;
var canRotate : boolean ;
public var acitvePower : PowerSelectScript;
var rayLength = 100; // objects beyond this are not detected at all
var range = 10; // interactive object within this range will change crosshair
function Start()
{
position = Rect( ( Screen.width - crosshairCantRotate.width ) / 2,
( Screen.height - crosshairCantRotate.height ) / 2, crosshairCantRotate.width, crosshairCantRotate.height );
Screen.showCursor = false;
}
function OnGUI () {
var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
Debug.DrawLine (transform.position, hit.point);
if (Physics.Raycast (ray,hit, rayLength)){
if(hit.distance < range && acitvePower.rubixVert== true){
GUI.DrawTexture(position, crosshairCanRotate);
print ("Hitting " + hit.collider.gameObject.tag == "Untagged") ;
canRotate = true;
}
else
GUI.DrawTexture(position, crosshairCantRotate);
print ("Not Hitting");
}
}
this is the script I'm trying to check
enum PowerName {rotateWall = 0, rubixVert=1, rubixHori=2};
private var numberOfPowerTypes = System.Enum.GetValues(PowerName).Length;
var powerName : PowerName;
function Update()
{
if(Input.GetKeyDown(KeyCode.E))
{
switchPower(PowerName.rotateWall);
}
if(Input.GetKeyDown(KeyCode.R))
{
switchPower(PowerName.rubixVert);
}
if(Input.GetKeyDown(KeyCode.T))
{
switchPower(PowerName.rubixHori);
}
else if (Input.GetAxis("Mouse ScrollWheel") < 0){
if (powerName + 1 <= numberOfPowerTypes){
powerName+= 1;
}
else {
powerName = 0;
}
switchPower(powerName);
}
else if (Input.GetAxis("Mouse ScrollWheel") > 0){
if (powerName - 1 >= 0){
powerName-= 1;
}
else {
powerName = numberOfPowerTypes;
}
switchPower(powerName);
}
}
function switchPower (powerName : PowerName)
{
switch(powerName)
{
case powerName.rotateWall:
GameObject.Find("TestCube").GetComponent(TaggTestWrk).enabled = true;
GetComponent(sliceSelect).enabled = false;
GetComponent(sliceSelectHorizontalScript).enabled = false;
rotateWall = true;
Debug.Log ("rotateWall");
break;
case powerName.rubixVert:
GameObject.Find("TestCube").GetComponent(TaggTestWrk).enabled = false;
GetComponent(sliceSelect).enabled = true;
GetComponent(sliceSelectHorizontalScript).enabled = false;
rubixVert = true;
Debug.Log ("rubixVert");
break;
case powerName.rubixHori:
GameObject.Find("TestCube").GetComponent(TaggTestWrk).enabled = false;
GetComponent(sliceSelect).enabled = false;
GetComponent(sliceSelectHorizontalScript).enabled = true;
rubixHori = true;
Debug.Log ("rubixHori");
break;
}
}
Comment