| | |
| | | using UnityEngine; |
| | | using TowerDefense.Level; |
| | | using UnityEditor; |
| | | using KTGMGemClient; |
| | | |
| | | namespace TowerDefense.UI.HUD |
| | | { |
| | |
| | | public Material destroyedMat; |
| | | |
| | | /// <summary> |
| | | /// 可以放置的塔位 |
| | | /// </summary> |
| | | public Renderer canPlaceRenderer; |
| | | |
| | | /// <summary> |
| | | /// 可以放置的 |
| | | /// </summary> |
| | | public Material canPlaceMat; |
| | | |
| | | /// <summary> |
| | | /// 放置在当前位置 |
| | | /// </summary> |
| | | public Material selectMat; |
| | | |
| | | //public ParticleSystem myPS;//可以升级的特效 |
| | | |
| | | |
| | | /// <summary> |
| | | /// Update the state of this placement tile |
| | | /// </summary> |
| | | public void SetState(PlacementTileState newState) |
| | |
| | | } |
| | | } |
| | | |
| | | // public void SetParticleSystem(bool isOn) |
| | | // { |
| | | // if (isOn) |
| | | // { |
| | | // if (myPS.gameObject.activeSelf != isOn) myPS.gameObject.SetActive(isOn); |
| | | // myPS.Play(); |
| | | |
| | | // } |
| | | // else |
| | | // { |
| | | // myPS.Stop(); |
| | | // if (myPS.gameObject.activeSelf != isOn) myPS.gameObject.SetActive(isOn); |
| | | |
| | | // } |
| | | // } |
| | | |
| | | /// <summary> |
| | | /// 设置是否可以放置 |
| | | /// </summary> |
| | | /// <param name="canPlace"></param> |
| | | public void CheckCanPlace(bool canPlace) |
| | | { |
| | | if (canPlaceRenderer) |
| | | { |
| | | if (canPlaceRenderer.enabled != canPlace) |
| | | canPlaceRenderer.enabled = canPlace; |
| | | if (canPlace) |
| | | { |
| | | SetSelect(false); |
| | | } |
| | | else if (towerVSRenderer.enabled) |
| | | { |
| | | towerVSRenderer.enabled = false; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置当前材质 |
| | | /// </summary> |
| | | /// <param name="isSelect"></param> |
| | | /// <param name="isEmpty"></param> |
| | | public void SetSelect(bool isSelect) |
| | | { |
| | | if (isSelect) |
| | | { |
| | | if (canPlaceRenderer.material != selectMat) |
| | | { |
| | | canPlaceRenderer.material = selectMat; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (canPlaceRenderer.material != canPlaceMat) |
| | | { |
| | | canPlaceRenderer.material = canPlaceMat; |
| | | } |
| | | if (towerVSRenderer.enabled) |
| | | towerVSRenderer.enabled = false; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 塔的虚影 |
| | | /// </summary> |
| | | public Renderer towerVSRenderer; |
| | | |
| | | /// <summary> |
| | | /// 塔的虚影 |
| | | /// </summary> |
| | | public Material towerVSMat; |
| | | |
| | | public Texture fire, wood; |
| | | |
| | | |
| | | private Vector3 fireScale = new Vector3(1.02f, 0.926f, 1f); |
| | | private Vector3 woodScale = new Vector3(0.82f, 1.03f, 1f); |
| | | private Vector3 waterScale = new Vector3(1.0f, 1.0f, 1.88f); |
| | | |
| | | private Vector3 fireOffectp = new Vector3(-0.05f, 0f, 0f); |
| | | private Vector3 woodOffectp = new Vector3(0.0f, 0f, 0.19f); |
| | | public void SetTowerVirtualshadow(string towerName) |
| | | { |
| | | |
| | | if (towerName.StartsWith("GrowUpTower")) |
| | | { |
| | | if (!towerVSRenderer.enabled) towerVSRenderer.enabled = true; |
| | | |
| | | //火元素 |
| | | towerVSMat.SetTexture(shaderPropertyName, fire); |
| | | towerVSRenderer.transform.localScale = fireScale; |
| | | towerVSRenderer.transform.localPosition = fireOffectp; |
| | | |
| | | } |
| | | else if (towerName.StartsWith("BlinkTower")) |
| | | { |
| | | if (!towerVSRenderer.enabled) towerVSRenderer.enabled = true; |
| | | |
| | | //木元素 |
| | | towerVSMat.SetTexture(shaderPropertyName, wood); |
| | | //木元素 |
| | | towerVSRenderer.transform.localScale = woodScale; |
| | | towerVSRenderer.transform.localPosition = woodOffectp; |
| | | |
| | | } |
| | | else if (towerName.StartsWith("CopyCatTower")) |
| | | { |
| | | //水元素 |
| | | |
| | | } |
| | | } |
| | | string shaderPropertyName; |
| | | |
| | | /// <summary> |
| | | /// Start is called on the frame when a script is enabled just before |
| | | /// any of the Update methods is called the first time. |
| | | /// </summary> |
| | | void Start() |
| | | { |
| | | // shaderPropertyName = ShaderUtil.GetPropertyName(towerVSMat.shader, 0); |
| | | shaderPropertyName = "_MainTex"; |
| | | //Debug.Log("获取到了Shader的名字" + shaderPropertyName); |
| | | towerVSRenderer.enabled = false; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据传入的参数来设置当前Grid对应的显示信息 |