void CheckInputForAdd() { if (Input.GetMouseButton(0)) { if (EventSystem.current.IsPointerOverGameObject()) { return; } RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { if (hit.collider.tag == "BuildingBase") { BuildingBaseBehaviour buildBase = hit.collider.GetComponent <BuildingBaseBehaviour>(); if (buildBase.IsAvailable()) { GameObject go = Instantiate(placeBuildings[m_curBuildingIndex], buildBase.transform.position, placeBuildings[m_curBuildingIndex].transform.rotation) as GameObject; BuildingDefaultBehaviour building = go.GetComponent <BuildingDefaultBehaviour>(); if (building.CheckForBuild(buildBase.GetPosition(0), buildBase.GetPosition(1)) && m_player.PayForBuilding(building.GetCost)) { building.TakeBuildingBase(buildBase.GetPosition(0), buildBase.GetPosition(1)); } else { Destroy(go); } } } } } }
// Use this for initialization void Start() { m_curBuildingIndex = 0; m_curOperationState = OperationState.None; m_curSelectedBuilding = null; m_buildField = GetComponent <GameFieldInitialization>(); trainMenu = trainingMenu; }
void OnCollisionEnter(Collision col) { if (col.collider.tag == "Building") { BuildingDefaultBehaviour build = col.collider.transform.GetComponentInParent <BuildingDefaultBehaviour>(); if (build) { build.Damage(damage); } } Death(); }
void CheckInputForNone() { if (Input.GetMouseButton(0)) { if (EventSystem.current.IsPointerOverGameObject()) { return; } RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { if (hit.collider.tag == "Building") { BuildingDefaultBehaviour build = hit.collider.GetComponent <BuildingDefaultBehaviour>(); if (build) { if (m_curSelectedBuilding != null) { m_curSelectedBuilding.Select(false); } m_curSelectedBuilding = build; build.Select(true); } } else { if (m_curSelectedBuilding != null) { m_curSelectedBuilding.Select(false); m_curSelectedBuilding = null; } } } } }
void CheckInputForDelete() { if (Input.GetMouseButton(0)) { if (EventSystem.current.IsPointerOverGameObject()) { return; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.collider.tag == "Building") { BuildingDefaultBehaviour building = hit.collider.GetComponent <BuildingDefaultBehaviour>(); if (!building) { building = hit.collider.GetComponentInParent <BuildingDefaultBehaviour>(); } building.Sell(); } } } }