chenxin
2020-11-25 4e582c6a8eaf19976b93314ba896e542d7c732dd
Merge commit '8681be3c80a3b6837e578290fd2fef5bf6b14a14' into master

# Conflicts:
# Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
4 files added
4 files modified
400 ■■■■■ changed files
Assets/Materials/UI/tileTowerVSMat.mat 2 ●●● patch | view | raw | blame | history
Assets/Resources/Prefabs/DropGold.prefab 305 ●●●●● patch | view | raw | blame | history
Assets/Resources/Prefabs/DropGold.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Scenes/Levels/Battle/Endless2D.unity 7 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Economy/LootDrop.cs 44 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/DropGold.cs 22 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/DropGold.cs.meta 11 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs 2 ●●● patch | view | raw | blame | history
Assets/Materials/UI/tileTowerVSMat.mat
@@ -40,7 +40,7 @@
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MainTex:
        m_Texture: {fileID: 2800000, guid: 8c9a3d26120e78f40aa4ef9ed23d573c, type: 3}
        m_Texture: {fileID: 2800000, guid: ea2ffef66c52dd14fbd46187be79f107, type: 3}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MetallicGlossMap:
Assets/Resources/Prefabs/DropGold.prefab
New file
@@ -0,0 +1,305 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5908441539477700656
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 5908441539477700659}
  - component: {fileID: 5908441539477700661}
  - component: {fileID: 5348798515462251581}
  - component: {fileID: 518042419}
  m_Layer: 5
  m_Name: DropGold
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &5908441539477700659
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539477700656}
  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: 5908441540679907750}
  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: 50, y: 50}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!225 &5908441539477700661
CanvasGroup:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539477700656}
  m_Enabled: 1
  m_Alpha: 1
  m_Interactable: 1
  m_BlocksRaycasts: 1
  m_IgnoreParentGroups: 0
--- !u!114 &5348798515462251581
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539477700656}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 59d007c1fe5e41c1888e4af3392f8676, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  initialPoolCapacity: 0
--- !u!114 &518042419
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539477700656}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 785c25df06e1e7342827afb523dc6aef, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  GoldText: {fileID: 5908441540679907753}
--- !u!1 &5908441539751368294
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 5908441539751368297}
  - component: {fileID: 5908441539751368298}
  - component: {fileID: 5908441539751368299}
  - component: {fileID: 5908441539751368296}
  m_Layer: 5
  m_Name: Image
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &5908441539751368297
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539751368294}
  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
  m_LocalPosition: {x: 0, y: 0, z: 0}
  m_LocalScale: {x: 0.8, y: 0.8, z: 0.8}
  m_Children: []
  m_Father: {fileID: 5908441540679907750}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
  m_AnchorMin: {x: 0, y: 0.5}
  m_AnchorMax: {x: 0, y: 0.5}
  m_AnchoredPosition: {x: -29.400024, y: -3.0999756}
  m_SizeDelta: {x: 0, y: 58}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5908441539751368298
CanvasRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539751368294}
  m_CullTransparentMesh: 0
--- !u!114 &5908441539751368299
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539751368294}
  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: f95a7e975f487ac4b932bea4f52cc966, 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 &5908441539751368296
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441539751368294}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  m_HorizontalFit: 2
  m_VerticalFit: 0
--- !u!1 &5908441540679907751
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 5908441540679907750}
  - component: {fileID: 5908441540679907752}
  - component: {fileID: 5908441540679907753}
  m_Layer: 5
  m_Name: Text (TMP)
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &5908441540679907750
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441540679907751}
  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: 5908441539751368297}
  m_Father: {fileID: 5908441539477700659}
  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: 49.2, y: 0}
  m_SizeDelta: {x: 100, y: 60}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5908441540679907752
CanvasRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441540679907751}
  m_CullTransparentMesh: 0
--- !u!114 &5908441540679907753
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 5908441540679907751}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: +3
  m_isRightToLeft: 0
  m_fontAsset: {fileID: 11400000, guid: 572adb1c73f88e441a1bf998ca9f4ea5, type: 2}
  m_sharedMaterial: {fileID: -3548855653558765056, guid: 572adb1c73f88e441a1bf998ca9f4ea5,
    type: 2}
  m_fontSharedMaterials: []
  m_fontMaterial: {fileID: 0}
  m_fontMaterials: []
  m_fontColor32:
    serializedVersion: 2
    rgba: 4294967295
  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
  m_enableVertexGradient: 0
  m_colorMode: 3
  m_fontColorGradient:
    topLeft: {r: 1, g: 1, b: 1, a: 1}
    topRight: {r: 1, g: 1, b: 1, a: 1}
    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
    bottomRight: {r: 1, g: 1, b: 1, a: 1}
  m_fontColorGradientPreset: {fileID: 0}
  m_spriteAsset: {fileID: 0}
  m_tintAllSprites: 0
  m_StyleSheet: {fileID: 0}
  m_TextStyleHashCode: -1183493901
  m_overrideHtmlColors: 0
  m_faceColor:
    serializedVersion: 2
    rgba: 4294967295
  m_fontSize: 50
  m_fontSizeBase: 50
  m_fontWeight: 400
  m_enableAutoSizing: 0
  m_fontSizeMin: 18
  m_fontSizeMax: 72
  m_fontStyle: 0
  m_HorizontalAlignment: 1
  m_VerticalAlignment: 512
  m_textAlignment: 65535
  m_characterSpacing: 0
  m_wordSpacing: 0
  m_lineSpacing: 0
  m_lineSpacingMax: 0
  m_paragraphSpacing: 0
  m_charWidthMaxAdj: 0
  m_enableWordWrapping: 0
  m_wordWrappingRatios: 0.4
  m_overflowMode: 0
  m_linkedTextComponent: {fileID: 0}
  parentLinkedComponent: {fileID: 0}
  m_enableKerning: 1
  m_enableExtraPadding: 0
  checkPaddingRequired: 0
  m_isRichText: 1
  m_parseCtrlCharacters: 1
  m_isOrthographic: 1
  m_isCullingEnabled: 0
  m_horizontalMapping: 0
  m_verticalMapping: 0
  m_uvLineOffset: 0
  m_geometrySortingOrder: 0
  m_IsTextObjectScaleStatic: 0
  m_VertexBufferAutoSizeReduction: 1
  m_useMaxVisibleDescender: 1
  m_pageToDisplay: 1
  m_margin: {x: 0, y: 0, z: 0, w: 0}
  m_isUsingLegacyAnimationComponent: 0
  m_isVolumetricText: 0
  m_hasFontAssetChanged: 0
  m_baseMaterial: {fileID: 0}
  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
Assets/Resources/Prefabs/DropGold.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 1c72d417a2d8bf642a1c87412c606a2c
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Scenes/Levels/Battle/Endless2D.unity
@@ -3995,7 +3995,7 @@
  m_BlockingObjects: 0
  m_BlockingMask:
    serializedVersion: 2
    m_Bits: 4294967295
    m_Bits: 524087
--- !u!114 &849284129
MonoBehaviour:
  m_ObjectHideFlags: 0
@@ -4070,6 +4070,11 @@
      propertyPath: m_Name
      value: BottomCanvas
      objectReference: {fileID: 0}
    - target: {fileID: 4623057512704841786, guid: 29da21b318f42054db30c52123aa4dbf,
        type: 3}
      propertyPath: m_IsActive
      value: 1
      objectReference: {fileID: 0}
    - target: {fileID: 4623057512704841790, guid: 29da21b318f42054db30c52123aa4dbf,
        type: 3}
      propertyPath: m_LocalPosition.x
Assets/Scripts/TowerDefense/Economy/LootDrop.cs
@@ -4,6 +4,8 @@
using UnityEngine;
using KTGMGemClient;
using System.Collections.Generic;
using Core.Utilities;
using DG.Tweening;
namespace TowerDefense.Economy
{
@@ -96,6 +98,8 @@
                if (agent != null)
                {
                    EndlessLevelManager.instance.Currency.AddCurrency(lootDropped);
                    PlayDropGold(lootDropped, agent.position);
                    // 处理掉落
                    int tunel = agent.waveLineID + 1;
@@ -107,5 +111,45 @@
                }
            }
        }
        private void PlayDropGold(int lootDropped, Vector3 worldPos)
        {
            GameObject mainUI = GameObject.Find("MainUI");
            GameObject dropGoldPrefab = Resources.Load<GameObject>("Prefabs/DropGold");
            GameObject obj = Poolable.TryGetPoolable(dropGoldPrefab);
            DropGold dropGold = obj.GetComponent<DropGold>();
            dropGold.SetDrop(lootDropped);
            obj.GetComponent<Transform>().SetParent(GameObject.Find("MainUI").GetComponent<Transform>(), false);
            Camera camera = GameObject.Find("SceneCamera3D").GetComponent<Camera>();
            Vector3 screenPos = camera.WorldToScreenPoint(worldPos);
            screenPos.z = 0;
            obj.transform.position = screenPos;
            float preY = obj.transform.position.y;
            CanvasGroup canvasGroup = obj.GetComponent<CanvasGroup>();
            Sequence sequence = DOTween.Sequence();
            sequence.Append(DOTween.To(
                () => obj.transform.position.y,
                (float v) =>
                {
                    Vector3 pos = obj.transform.position;
                    pos.y = v;
                    obj.transform.position = pos;
                }, preY + 45, 0.2f)
                .SetEase(Ease.OutCubic));
            sequence.Append(DOTween.To(
                () => canvasGroup.alpha,
                (float v) =>
                {
                    canvasGroup.alpha = v;
                }, 0, 0.8f).SetDelay(0.5f));
            sequence.AppendCallback(() =>
                {
                    canvasGroup.alpha = 1;
                    Poolable.TryPool(obj);
                });
        }
    }
}
Assets/Scripts/TowerDefense/UI/DropGold.cs
New file
@@ -0,0 +1,22 @@
using UnityEngine;
using TMPro;
/**
 * 击杀小怪掉落
 * @Author: chenxin
 * @Date: 2020-11-25 11:20:49
 */
namespace KTGMGemClient
{
    public class DropGold : MonoBehaviour
    {
        public TextMeshProUGUI GoldText;
        public void SetDrop(int drop)
        {
            if (GoldText == null) return;
            GoldText.text = $"+{drop}";
        }
    }
}
Assets/Scripts/TowerDefense/UI/DropGold.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 785c25df06e1e7342827afb523dc6aef
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Scripts/TowerDefense/UI/EndlessUIStart.cs
@@ -122,7 +122,7 @@
        //查询是否已经做过了新手引导
        // cx test
        //GameConfig.IsNewbie = false;
        GameConfig.IsNewbie = false;
        if (GameConfig.IsNewbie)
        {
            Debug.Log("开始新手引导");