Hi guys. I'm making Tower Defence game and i stuck in scrip which i translated from java to c#. i dont know how to do for loops could you help me? (and also i use ngui free)
using UnityEngine;
using System.Collections;
public class INGAme : MonoBehaviour {
//GUI
public bool buildPanelOpen =false;
public TweenPosition BuildPanelTweener;
public TweenRotation BuildPanelArrowTweener;
//Placement
public Transform placementPlanesRoot;
public Material hoverMat;
public LayerMask placementLayrerMask;
private Material originalMat;
public GameObject lastHitObj;
// build
public Color onColor;
public Color offColor;
public GameObject[] allStructures;
public UISlicedSprite[] buildBtnGraphics;
private int structureIndex = 0;
void Start()
{
structureIndex = 0;
ApdateGUI();
}
void ToggleBuildPanel() {
if(buildPanelOpen)
{
//ray
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast(ray, hit, 1000, placementLayerMask));
{
if(lastHitObj)
{
lastHitObj.renderer.material = originalMat;
}
lastHitObj = hit.collider.gameObject;
originalMat = lastHitObj.renderer.material;
lastHitObj.renderer.material = hoverMat;
}
BuildPanelTweener.Play(false);
BuildPanelArrowTweener.Play(false);
buildPanelOpen = false;
}
else
{
if(lastHitObj);
{
lastHitObj.renderer.material = originalMat;
lastHitObj = null;
}
BuildPanelTweener.Play(true);
BuildPanelArrowTweener.Play(true);
buildPanelOpen = true;
}
if(Input.GetMouseButtonDown(0) && lastHitObj)
{
if(lastHitObj.tag == "PlacementPlane_Open")
{
GameObject newStructure = instantiane(allStructures[structureIndex], lasHitObj.transform.position, Quaternion.identity);
newStructure.transform.localEulerAngles.y = ( Random.Range ( 0, 360 ) );
lastHitObj.tag = "PlacementPlane_Taken";
}
}
}
void UpdateGUI () {
//Go through all structure buttons (buttons in the build panel). and set them to “off”
for(UISlicedSprite theBtnGraphic )//in buildBtnGraphics
{
theBtnGraphic.color = offColor;
}
//set the selected build button to “on”
buildBtnGraphics[structureIndex].color = onColor;
}
void SetBuildChoice ( GameObject btnObj )
{
string btnName = btnObj.name;
if ( btnName == "Btn_Canoon")
{
structureIndex = 0;
}
else if ( btnName == "Btn_Missle" )
{
structureIndex = 1;
}
UpdateGUI ();
}
}
↧