Hi guys. I’m making Tower Defence game and i stuck in scrip which i translated from java to c#. I have 3 errors and i can’t solve them
-
Assets/Skrypty/InGAmeGUI.cs(64,53): error CS0266: Cannot implicitly convert type
UnityEngine.Object' to
UnityEngine.GameObject’. An explicit conversion exists (are you missing a cast?) -
Assets/Skrypty/InGAmeGUI.cs(66,64): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.localEulerAngles’. Consider storing the value in a temporary variable
-
Assets/Skrypty/InGAmeGUI.cs(95,25): error CS0103: The name `buildPanelTweener’ does not exist in the current context
using UnityEngine;
using System.Collections;public class InGAmeGUI : MonoBehaviour {
//NGU items public bool buildPanelOpen = false; public TweenPosition BuildPanelTweener; public TweenRotation BuildPanelArrowTweener; //Placement Plane Items public Transform placementPlanesRoot; // attach the placement plane root public Material hoverMat; // attach the hover material to this slot public LayerMask placementLayerMask; // calls up the layer mask selection private Material originalMat; private GameObject lastHitObj; //Build Selection Items public Color onColor; public Color offColor; public GameObject[] allStructures; public UISlicedSprite[] buildBtnGraphics; private int structureIndex = 0; void Start () { //reset the structure index, refresh the GUI structureIndex = 0; UpdateGUI(); } void Update () { if ( buildPanelOpen ) { var ray = Camera.main.ScreenPointToRay ( Input.mousePosition ); RaycastHit hit; if ( Physics.Raycast ( ray,out hit, 1000, placementLayerMask ) ) { if ( lastHitObj ) { lastHitObj.renderer.material = originalMat; } lastHitObj = hit.collider.gameObject; originalMat = lastHitObj.renderer.material; lastHitObj.renderer.material = hoverMat; // sets the planes material to the highlighted material } else // if the raycast didn’t hit anything { if ( lastHitObj ) // if we had previously hit something { lastHitObj.renderer.material = originalMat; // visually de select that object lastHitObj = null; // nullify the plane selection } } // drops a turrent on click if ( Input.GetMouseButtonDown(0) && lastHitObj ) //left mouse button was clicked and there is a last hitObject // if left mouse button (0) is clicked and we have something selected { if(lastHitObj.tag =="PlacementPlane_Open") { // drop the chosen structure exactly at the tile’s position and rotation of Zero. See how the “index” comes into play here? GameObject newStructure = Instantiate( allStructures[structureIndex], lastHitObj.transform.position, Quaternion.identity ); // set the new structure to have a random rotation. just for looks newStructure.transform.localEulerAngles.y = (Random.Range(0, 360)); //newStructure.transform.localEulerAngles.y = ( Random.Range ( 0, 360 ) ); // set this tile’s tag to “Taken” so we can’t double place a structure lastHitObj.tag = "PlacementPlane_Taken"; } } } } void UpdateGUI () { //Go through all structure buttons (buttons in the build panel). and set them to “off” foreach(UISlicedSprite theBtnGraphic in buildBtnGraphics )//in buildBtnGraphics { theBtnGraphic.color = offColor; } //set the selected build button to “on” buildBtnGraphics[structureIndex].color = onColor; } // this happens whenever the build arrow is clicked void ToggleBuildPanel () { if ( buildPanelOpen ) { // hide all build tiles foreach(Transform thePlane in placementPlanesRoot) { thePlane.gameObject.renderer.enabled =false; } // plays the build panel tweener script backward ( false ) buildPanelTweener.Play ( false ); // sets the boolean to false ( closed ) buildPanelOpen = false; } else // the build panel was closed, so instead do this… { BuildPanelTweener.Play(true); BuildPanelArrowTweener.Play(true); foreach ( Transform thePlane in placementPlanesRoot ) { thePlane.gameObject.renderer.enabled = true; } } } // Called whenever a structure choice is clicked ( the button in the build panel ) void SetBuildChoice ( GameObject btnObj ) { string btnName = btnObj.name; if ( btnName == "Btn_Farmer") { structureIndex = 0; } else if ( btnName == "Btn_Cow" ) { structureIndex = 1; } else if ( btnName == "Btn_Alien") { structureIndex = 2; } UpdateGUI (); }
}