public void Update(float elapseSeconds, float realElapseSeconds) { if (level == null) { return; } if (dataLevel.LevelState != EnumLevelState.Prepare && dataLevel.LevelState != EnumLevelState.Normal) { return; } if (!level.Finish) { level.ProcessLevel(elapseSeconds, realElapseSeconds); } if (isBuilding) { if (Input.GetMouseButtonDown(0) && previewTowerEntityLogic != null && previewTowerEntityLogic.CanPlace) { previewTowerEntityLogic.TryBuildTower(); } if (Input.GetMouseButtonDown(1)) { HidePreviewTower(); } } else { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit raycastHit; if (Physics.Raycast(ray, out raycastHit, float.MaxValue, LayerMask.GetMask("Towers"))) { if (raycastHit.collider != null) { EntityTowerBase entityTowerBase = raycastHit.collider.gameObject.GetComponent <EntityTowerBase>(); if (entityTowerBase != null) { entityTowerBase.ShowControlForm(); } } } } } }