River Jiang
2020-10-22 01fe52bc3f5df9924b26426c27a4277f4848f071
加入Energy底板,修改火塔不变动画
4 files added
6 files modified
281 ■■■■■ changed files
Assets/Prefabs/Towers/Fire/GrowUpTower.prefab 12 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/UI/EnergyUI.prefab 167 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/UI/EnergyUI.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/GemBattle.unity 4 ●●●● patch | view | raw | blame | history
Assets/Scripts/ActionGameFramework/Health/Damager.cs 3 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGrid.cs 31 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/Tower.cs 3 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/BulletUICtl.cs 2 ●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EnergyUICtl.cs 41 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EnergyUICtl.cs.meta 11 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/Towers/Fire/GrowUpTower.prefab
@@ -110,17 +110,19 @@
  poisonTex: {fileID: 0}
  frozenTex: {fileID: 0}
  commonTex: {fileID: 0}
  PoisonParticle: {fileID: 0}
  PoisonEndParticle: {fileID: 0}
  towerName: GrowUpTower
  dimensions:
    x: 1
    y: 1
  towerFeature: 0
  materialMonsterSelf: {fileID: 2100000, guid: 65706b9ab6be2dc45bde7720914dd662, type: 2}
  materialMonsterSelf: {fileID: 2100000, guid: e4a344b484251ce4e8b5f18e0618e647, type: 2}
  materialMonsterOppo: {fileID: 2100000, guid: 005b2213e521ef04a9f51bde68b9735f, type: 2}
  materialTowerAttackSelf: {fileID: 2100000, guid: 56734acd3a9832f458892e0ba6f1901b,
    type: 2}
  materialTowerWaitSelf: {fileID: 2100000, guid: 492ec3bf4cc3d7c4ca1649716bf69377,
    type: 2}
  materialTowerAttackSelf: {fileID: 0}
  materialTowerWaitSelf: {fileID: 0}
  materialTowerAttackOppo: {fileID: 0}
  materialTowerWaitOppo: {fileID: 0}
  eTowerFuntion: 0
  bulletCtl: {fileID: 0}
  levels:
Assets/Prefabs/UI/EnergyUI.prefab
New file
@@ -0,0 +1,167 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4636030447447409971
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 4636030447447409970}
  - component: {fileID: 4636030447447409972}
  - component: {fileID: 4636030447447409973}
  - component: {fileID: -9145516343146749478}
  m_Layer: 5
  m_Name: EnergyUI
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &4636030447447409970
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447447409971}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children:
  - {fileID: 4636030447972189692}
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0.5}
  m_AnchorMax: {x: 0.5, y: 0.5}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 21, y: 90}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4636030447447409972
CanvasRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447447409971}
  m_CullTransparentMesh: 0
--- !u!114 &4636030447447409973
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447447409971}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  m_Material: {fileID: 0}
  m_Color: {r: 1, g: 1, b: 1, a: 1}
  m_RaycastTarget: 1
  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
  m_Maskable: 1
  m_OnCullStateChanged:
    m_PersistentCalls:
      m_Calls: []
  m_Sprite: {fileID: 21300000, guid: 257d2719341218740b740683c3aa8355, type: 3}
  m_Type: 0
  m_PreserveAspect: 0
  m_FillCenter: 1
  m_FillMethod: 4
  m_FillAmount: 1
  m_FillClockwise: 1
  m_FillOrigin: 0
  m_UseSpriteMesh: 0
  m_PixelsPerUnitMultiplier: 1
--- !u!114 &-9145516343146749478
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447447409971}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 739451dc4b5ded044ae7641fcb531e35, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  energyScaleMask: {fileID: 4636030447972189695}
--- !u!1 &4636030447972189693
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 4636030447972189692}
  - component: {fileID: 4636030447972189694}
  - component: {fileID: 4636030447972189695}
  m_Layer: 5
  m_Name: EnergyProgress
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &4636030447972189692
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447972189693}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 1, y: 0, z: 1}
  m_Children: []
  m_Father: {fileID: 4636030447447409970}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0.5, y: 0}
  m_AnchorMax: {x: 0.5, y: 0}
  m_AnchoredPosition: {x: 0, y: 0}
  m_SizeDelta: {x: 21, y: 90}
  m_Pivot: {x: 0.5, y: 0}
--- !u!222 &4636030447972189694
CanvasRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447972189693}
  m_CullTransparentMesh: 0
--- !u!114 &4636030447972189695
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 4636030447972189693}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  m_Material: {fileID: 0}
  m_Color: {r: 1, g: 1, b: 1, a: 1}
  m_RaycastTarget: 1
  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
  m_Maskable: 1
  m_OnCullStateChanged:
    m_PersistentCalls:
      m_Calls: []
  m_Sprite: {fileID: 21300000, guid: 747f83368dfba694c89bc6908324bb94, type: 3}
  m_Type: 0
  m_PreserveAspect: 0
  m_FillCenter: 1
  m_FillMethod: 4
  m_FillAmount: 1
  m_FillClockwise: 1
  m_FillOrigin: 0
  m_UseSpriteMesh: 0
  m_PixelsPerUnitMultiplier: 1
Assets/Prefabs/UI/EnergyUI.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0d97566feabc1d644862df3fb52071a3
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Scenes/Levels/Battle/GemBattle.unity
@@ -5269,6 +5269,8 @@
    type: 3}
  towerBulletUIPrefab: {fileID: 4636030447447409971, guid: f6edf4c41f0dac54d94e67945bca23f0,
    type: 3}
  towerEnergyUIPrefab: {fileID: 4636030447447409971, guid: 0d97566feabc1d644862df3fb52071a3,
    type: 3}
  waitBuyBtnPrefab: {fileID: 1470395276146401766, guid: c05f40848dbdf1a4da8b4e45d7b9f1e3,
    type: 3}
  TestParticle: {fileID: 0}
@@ -13999,6 +14001,8 @@
    type: 3}
  towerBulletUIPrefab: {fileID: 4636030447447409971, guid: f6edf4c41f0dac54d94e67945bca23f0,
    type: 3}
  towerEnergyUIPrefab: {fileID: 4636030447447409971, guid: 0d97566feabc1d644862df3fb52071a3,
    type: 3}
  waitBuyBtnPrefab: {fileID: 1470395276146401766, guid: c05f40848dbdf1a4da8b4e45d7b9f1e3,
    type: 3}
  TestParticle: {fileID: 312346380397794538, guid: bd7af3572d4954542a9b552ea0736ac6,
Assets/Scripts/ActionGameFramework/Health/Damager.cs
@@ -115,9 +115,6 @@
            
            get {
                float fd = damage * damageMulti;
                if (damageMulti > 1.0f)
                    Debug.Log("hello,world:" + damageMulti.ToString() );
                damageMulti = 1.0f;
                return fd + inSceneUpGradeDamage; 
            }
Assets/Scripts/TowerDefense/Towers/Placement/TowerPlacementGrid.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using Core.Utilities;
using KTGMGemClient;
using Microsoft.VisualBasic;
@@ -43,6 +44,10 @@
        /// 相应的界面指针传到塔防的数据结构内。
        /// </summary>
        public GameObject towerBulletUIPrefab;
        /// <summary>
        /// 充能条对应的界面
        /// </summary>
        public GameObject towerEnergyUIPrefab;
        /// <summary>
        /// 等待购买开启对应按钮.
@@ -115,6 +120,7 @@
        /// </summary>
        Vector2[] m_arrTowerBulletUIPos;
        BulletUICtl[] arrTowerBulletUi;
        EnergyUICtl[] arrTowerEnergyUi;
        /// <summary>
@@ -402,6 +408,9 @@
            if (arrTowerBulletUi[x] != null)
                arrTowerBulletUi[x].gameObject.SetActive(false);
            if (arrTowerEnergyUi[x] != null)
                arrTowerEnergyUi[x].gameObject.SetActive(false);
            m_Tiles[x, y].SetTileType(PlacementGridType.EGridDestroyed);
@@ -711,15 +720,21 @@
            // 处理攻击塔位对应的血条
            m_arrTowerBulletUIPos = new Vector2[dimensions.x];
            arrTowerBulletUi = new BulletUICtl[dimensions.x];
            arrTowerEnergyUi = new EnergyUICtl[dimensions.x];
            for (int x = 0; x < dimensions.x; x++)
            {
                m_arrTowerBulletUIPos[x].x = m_arrGridCentUIPos[x, dy].x + m_fGridUISize/2.0f - 10;
                m_arrTowerBulletUIPos[x].y = m_arrGridCentUIPos[x, dy].y;
                GameObject img = Instantiate(towerBulletUIPrefab);
                GameObject go = GameObject.Find("BattleMainUI");
                if (!go) continue;
                Transform tp = go.GetComponent<Transform>();
                GameObject img;
                img = Instantiate(towerBulletUIPrefab);
                img.GetComponent<Transform>().SetParent(tp, true);
                Vector3 tpos = img.transform.position;
                tpos.x = m_arrTowerBulletUIPos[x].x;
@@ -731,6 +746,20 @@
                BulletUICtl buc = img.GetComponent<BulletUICtl>();
                arrTowerBulletUi[x] = buc;
                buc.gameObject.SetActive(false);
                // 把充能条也创建出来了.
                img = Instantiate(towerEnergyUIPrefab);
                img.GetComponent<Transform>().SetParent(tp, true);
                tpos = img.transform.position;
                tpos.x = m_arrTowerBulletUIPos[x].x;
                tpos.y = m_arrTowerBulletUIPos[x].y;
                img.transform.position = tpos;
                img.transform.SetAsFirstSibling();
                EnergyUICtl euc = img.GetComponent<EnergyUICtl>();
                arrTowerEnergyUi[x] = euc;
                euc.gameObject.SetActive(false);
            }
            return;
Assets/Scripts/TowerDefense/Towers/Tower.cs
@@ -218,7 +218,6 @@
                    // 
                    // 根据是否是子弹塔防来决定是否显示相应的界面
                    BulletUICtl buc = this.placementArea.GetBulletUICtl(gridPosition.x);
                    /*
                    if ( (this.eTowerFuntion == ETowerFuntion.BULLET) && (buc != null ) )
                    {
                        // 设置数据
@@ -231,7 +230,7 @@
                        // 清空数据
                        buc.gameObject.SetActive(false);
                        this.bulletCtl = null;
                    }*/
                    }
                }
            }
Assets/Scripts/TowerDefense/UI/BulletUICtl.cs
@@ -59,7 +59,7 @@
    {
        if (bulletScaleMask == null) return;
        float scaleY = 1.0f - curBNum / (float)totalBNum - fAdjValue;
        bulletScaleMask.rectTransform.DOScaleY( scaleY, 0.1f);
        bulletScaleMask.rectTransform.DOScaleY( scaleY, 0.0f);
    }
    // Update is called once per frame
Assets/Scripts/TowerDefense/UI/EnergyUICtl.cs
New file
@@ -0,0 +1,41 @@
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EnergyUICtl : MonoBehaviour
{
    /// <summary>
    /// 用于显示能量条进度
    /// </summary>
    public Image energyScaleMask;
    /// <summary>
    /// 当前的能量条进度.
    /// </summary>
    protected float currentProgress;
    // Start is called before the first frame update
    void Start()
    {
        currentProgress = 0;
        //this.SetEnergyProgress(0);
    }
    /// <summary>
    /// 显示并更新能量条进度.
    /// </summary>
    /// <param name="pro"></param>
    public void SetEnergyProgress(float pro)
    {
        energyScaleMask.rectTransform.DOScaleY( pro, 0.3f );
        currentProgress = pro;
    }
    // Update is called once per frame
    void Update()
    {
    }
}
Assets/Scripts/TowerDefense/UI/EnergyUICtl.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 739451dc4b5ded044ae7641fcb531e35
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: