chenxin
2020-12-09 a284495813ac59bf191d5ef7351f21b4d26fd6a2
克制飘字
4 files added
4 files modified
258 ■■■■■ changed files
Assets/Materials/UI/tileTowerVSMat.mat 2 ●●● patch | view | raw | blame | history
Assets/Prefabs/UI/RestrainWord.prefab 95 ●●●●● patch | view | raw | blame | history
Assets/Prefabs/UI/RestrainWord.prefab.meta 7 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs 3 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs 14 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs 19 ●●●●● patch | view | raw | blame | history
Assets/UI/Restrain.png patch | view | raw | blame | history
Assets/UI/Restrain.png.meta 118 ●●●●● 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: ea2ffef66c52dd14fbd46187be79f107, type: 3}
        m_Texture: {fileID: 2800000, guid: 8c9a3d26120e78f40aa4ef9ed23d573c, type: 3}
        m_Scale: {x: 1, y: 1}
        m_Offset: {x: 0, y: 0}
    - _MetallicGlossMap:
Assets/Prefabs/UI/RestrainWord.prefab
New file
@@ -0,0 +1,95 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3257525538472116254
GameObject:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  serializedVersion: 6
  m_Component:
  - component: {fileID: 3059469595041567074}
  - component: {fileID: 598523906858100597}
  - component: {fileID: 8715720225615642531}
  - component: {fileID: 8223785166565473932}
  m_Layer: 5
  m_Name: RestrainWord
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!224 &3059469595041567074
RectTransform:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3257525538472116254}
  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: []
  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: 86, y: 38}
  m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &598523906858100597
CanvasRenderer:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3257525538472116254}
  m_CullTransparentMesh: 0
--- !u!114 &8715720225615642531
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3257525538472116254}
  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: b26b491ae07be3c4694a74a85d9c173a, 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 &8223785166565473932
MonoBehaviour:
  m_ObjectHideFlags: 0
  m_CorrespondingSourceObject: {fileID: 0}
  m_PrefabInstance: {fileID: 0}
  m_PrefabAsset: {fileID: 0}
  m_GameObject: {fileID: 3257525538472116254}
  m_Enabled: 1
  m_EditorHideFlags: 0
  m_Script: {fileID: 11500000, guid: f34b2e8d82a07c541958be6bda6fd604, type: 3}
  m_Name:
  m_EditorClassIdentifier:
  bloodText: {fileID: 0}
  SlowDownWord: {fileID: 0}
  CritWord: {fileID: 0}
  FrostWord: {fileID: 0}
  RestrainWord: {fileID: 8715720225615642531}
Assets/Prefabs/UI/RestrainWord.prefab.meta
New file
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 11985134da4f97348a03527616f512a4
PrefabImporter:
  externalObjects: {}
  userData:
  assetBundleName:
  assetBundleVariant:
Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
@@ -63,6 +63,9 @@
            // 这里也可以把碰撞点传进来
            enemy.TakeDamage(basicDamage, enemy.position, damager.alignmentProvider);
            if (TowerPtr.ElfId == 301)
                EndlessGameUI.instance.FloatRestrainWord(enemy.position);
        }
        /// <summary>
Assets/Scripts/TowerDefense/UI/HUD/EndlessGameUI.cs
@@ -137,6 +137,8 @@
        /// </summary>
        public Image FrostWord;
        public Image RestrainWord;
        /// <summary>
        /// 购买塔防按钮上的Text.
        /// </summary>
@@ -2106,6 +2108,18 @@
            obj.GetComponent<TextMoveDoTween>().FloatFrostWord(screenPos.x, screenPos.y);
        }
        /// <summary>
        /// 克制飘字
        /// </summary>
        /// <param name="worldPos"></param>
        public void FloatRestrainWord(Vector3 worldPos)
        {
            Vector3 screenPos = m_Camera.WorldToScreenPoint(worldPos);
            GameObject obj = Instantiate(RestrainWord.gameObject);
            obj.GetComponent<Transform>().SetParent(GameObject.Find("MainUI/TextPanel").GetComponent<Transform>(), false);
            obj.GetComponent<TextMoveDoTween>().FloatRestrainWord(screenPos.x, screenPos.y);
        }
        private void Start()
        {
            // 获取相应的放置区域。
Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs
@@ -14,6 +14,8 @@
    public Image FrostWord;
    public Image RestrainWord;
    private float scaleOffect = 1.5f;
    /// <summary>
@@ -111,6 +113,23 @@
        sequence.AppendCallback(() => { DestroyWord(); });
    }
    public void FloatRestrainWord(float x, float y)
    {
        Vector3 pos = RestrainWord.transform.position;
        pos.x = x;
        pos.y = y;
        pos.z = 0;
        RestrainWord.transform.position = pos;
        Sequence sequence = DOTween.Sequence();
        RestrainWord.color = new Color(1f, 1f, 1f, 0.8f);
        sequence.Join(DOTween.To(() => RestrainWord.transform.position, (Vector3 v) => RestrainWord.transform.position = v,
            new Vector3(RestrainWord.transform.position.x - 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.y + 50 + UnityEngine.Random.Range(-15, 15), RestrainWord.transform.position.z), 0.2f));
        sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
        sequence.Append(DOTween.To(() => RestrainWord.color, (Color v) => RestrainWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(1f));
        sequence.AppendCallback(() => { DestroyWord(); });
    }
    private void WordMove(Graphic graphic, bool crit = false)
    {
        //获得Text的rectTransform,和颜色,并设置颜色微透明
Assets/UI/Restrain.png
Assets/UI/Restrain.png.meta
New file
@@ -0,0 +1,118 @@
fileFormatVersion: 2
guid: b26b491ae07be3c4694a74a85d9c173a
TextureImporter:
  internalIDToNameTable: []
  externalObjects: {}
  serializedVersion: 11
  mipmaps:
    mipMapMode: 0
    enableMipMap: 0
    sRGBTexture: 1
    linearTexture: 0
    fadeOut: 0
    borderMipMap: 0
    mipMapsPreserveCoverage: 0
    alphaTestReferenceValue: 0.5
    mipMapFadeDistanceStart: 1
    mipMapFadeDistanceEnd: 3
  bumpmap:
    convertToNormalMap: 0
    externalNormalMap: 0
    heightScale: 0.25
    normalMapFilter: 0
  isReadable: 0
  streamingMipmaps: 0
  streamingMipmapsPriority: 0
  vTOnly: 0
  grayScaleToAlpha: 0
  generateCubemap: 6
  cubemapConvolution: 0
  seamlessCubemap: 0
  textureFormat: 1
  maxTextureSize: 2048
  textureSettings:
    serializedVersion: 2
    filterMode: -1
    aniso: -1
    mipBias: -100
    wrapU: 1
    wrapV: 1
    wrapW: -1
  nPOTScale: 0
  lightmap: 0
  compressionQuality: 50
  spriteMode: 1
  spriteExtrude: 1
  spriteMeshType: 1
  alignment: 0
  spritePivot: {x: 0.5, y: 0.5}
  spritePixelsToUnits: 100
  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
  spriteGenerateFallbackPhysicsShape: 1
  alphaUsage: 1
  alphaIsTransparency: 1
  spriteTessellationDetail: -1
  textureType: 8
  textureShape: 1
  singleChannelComponent: 0
  maxTextureSizeSet: 0
  compressionQualitySet: 0
  textureFormatSet: 0
  ignorePngGamma: 0
  applyGammaDecoding: 0
  platformSettings:
  - serializedVersion: 3
    buildTarget: DefaultTexturePlatform
    maxTextureSize: 2048
    resizeAlgorithm: 0
    textureFormat: -1
    textureCompression: 1
    compressionQuality: 50
    crunchedCompression: 0
    allowsAlphaSplitting: 0
    overridden: 0
    androidETC2FallbackOverride: 0
    forceMaximumCompressionQuality_BC6H_BC7: 0
  - serializedVersion: 3
    buildTarget: Standalone
    maxTextureSize: 2048
    resizeAlgorithm: 0
    textureFormat: -1
    textureCompression: 1
    compressionQuality: 50
    crunchedCompression: 0
    allowsAlphaSplitting: 0
    overridden: 0
    androidETC2FallbackOverride: 0
    forceMaximumCompressionQuality_BC6H_BC7: 0
  - serializedVersion: 3
    buildTarget: Android
    maxTextureSize: 2048
    resizeAlgorithm: 0
    textureFormat: 4
    textureCompression: 1
    compressionQuality: 50
    crunchedCompression: 0
    allowsAlphaSplitting: 0
    overridden: 1
    androidETC2FallbackOverride: 0
    forceMaximumCompressionQuality_BC6H_BC7: 0
  spriteSheet:
    serializedVersion: 2
    sprites: []
    outline: []
    physicsShape: []
    bones: []
    spriteID: 5e97eb03825dee720800000000000000
    internalID: 0
    vertices: []
    indices:
    edges: []
    weights: []
    secondaryTextures: []
  spritePackingTag:
  pSDRemoveMatte: 0
  pSDShowRemoveMatteOption: 0
  userData:
  assetBundleName:
  assetBundleVariant: