提交 5514d977 编写于 作者: L linxinfa

新增新手引导遮罩

上级 d3961d1b
......@@ -293,6 +293,10 @@
<Compile Include="Assets\Scripts\Framework\HotUpdate\HotUpdater.cs" />
<Compile Include="Assets\LuaFramework\ToLua\BaseType\UnityEngine_LightWrap.cs" />
<Compile Include="Assets\LuaFramework\ToLua\Reflection\LuaField.cs" />
<Compile Include="Assets\Scripts\Framework\UGUIExpand\GuideMask\EventPermeate.cs" />
<Compile Include="Assets\Scripts\Framework\UGUIExpand\GuideMask\GuideMaskBhv.cs" />
<Compile Include="Assets\LuaFramework\ToLua\Source\Generate\GuideMaskBhvWrap.cs" />
<None Include="Assets\RawAssets\GuideMask\Shader\GuideMask.shader" />
<None Include="Assets\output_log.txt" />
<None Include="Assets\Scripts\代码目录说明.txt" />
<None Include="Assets\LuaFramework\ToLua\readme.txt" />
......
......@@ -9,4 +9,5 @@
<item id="8" editorPath="BaseRes/TestPanel.prefab" version="2021/10/15" desc="测试界面" />
<item id="9" editorPath="UIPrefabs/Common/FlyTips.prefab" version="2021/11/4" desc="冒提示语" />
<item id="10" editorPath="UIPrefabs/GameHall/GameHallPanel.prefab" version="2021/11/4" desc="大厅界面" />
<item id="11" editorPath="UIPrefabs/Common/GuideMask.prefab" version="2021/11/5" desc="新手引导遮罩" />
</items>
\ No newline at end of file
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2162494397414256647
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5552615612215026026}
- component: {fileID: 9195679714398219270}
- component: {fileID: 512967158105840465}
- component: {fileID: 807894673985577488}
- component: {fileID: 4842335458045897248}
m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5552615612215026026
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2162494397414256647}
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: 4302005683019282573}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9195679714398219270
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2162494397414256647}
m_CullTransparentMesh: 1
--- !u!114 &512967158105840465
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2162494397414256647}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: e133bcb22461d4946bddc6ea7aaae46c, type: 2}
m_Color: {r: 0, g: 0, b: 0, a: 0.56078434}
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: 0}
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 &807894673985577488
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2162494397414256647}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 04618d7046ac3b94490d49c69ba54838, type: 3}
m_Name:
m_EditorClassIdentifier:
target: {fileID: 0}
--- !u!114 &4842335458045897248
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2162494397414256647}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7213b8809b50755439cc1d92d3cec9f2, type: 3}
m_Name:
m_EditorClassIdentifier:
target: {fileID: 0}
--- !u!1 &2697205155284556111
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4302005683019282573}
- component: {fileID: 8684409604961081912}
- component: {fileID: 3926923257023691447}
- component: {fileID: 5948590293282263273}
m_Layer: 5
m_Name: GuideMask
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4302005683019282573
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2697205155284556111}
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: 5552615612215026026}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8684409604961081912
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2697205155284556111}
m_CullTransparentMesh: 1
--- !u!114 &3926923257023691447
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2697205155284556111}
m_Enabled: 0
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: 0.392}
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: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
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 &5948590293282263273
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2697205155284556111}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: acd3f39482acb1f4db75f9d522711e68, type: 3}
m_Name:
m_EditorClassIdentifier:
items:
- name: mask
obj: {fileID: 4842335458045897248}
fileFormatVersion: 2
guid: f56033bbcd9254343b7abbc36f8aaf13
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -2439,6 +2439,8 @@ MonoBehaviour:
obj: {fileID: 1379999617935055205}
- name: languageDropdown
obj: {fileID: 8064066043860710197}
- name: guideMask
obj: {fileID: 0}
--- !u!1 &8384778433073756124
GameObject:
m_ObjectHideFlags: 0
......
......@@ -182,6 +182,7 @@ namespace LuaFramework
_GT(typeof(AnimationEventTrigger)),
_GT(typeof(I18N)),
_GT(typeof(LanguageMgr)),
_GT(typeof(GuideMaskBhv)),
};
private static Type NonEdtType(string className)
......
......@@ -34,7 +34,7 @@ end
function LoginLogic.CheckAccount(account)
if LuaUtil.IsStrNullOrEmpty(account) then
-- 请输入账号
FlyTips.Show(I18N.GetStr(2))
FlyTips.Create(I18N.GetStr(2))
return false
end
return true
......@@ -44,7 +44,7 @@ end
function LoginLogic.CheckPwd(pwd)
if LuaUtil.IsStrNullOrEmpty(pwd) then
-- 请输入账号
FlyTips.Show(I18N.GetStr(3))
FlyTips.Create(I18N.GetStr(3))
return false
end
return true
......
......@@ -16,6 +16,8 @@ Network/Network.lua
-- 冒提示语
View/Common/FlyTips.lua
-- 新手引导遮罩
View/Common/GuideMask.lua
-- 登录
Logic/Login/LoginLogic.lua
......
......@@ -3,7 +3,7 @@
FlyTips = FlyTips or {}
FlyTips.__index = FlyTips
function FlyTips.Show(contentText)
function FlyTips.Create(contentText)
local self = {}
self.gameObject = UITool.Instantiate(GlobalObjs.s_topPanel, 9)
setmetatable(self, FlyTips)
......
GuideMask = GuideMask or {}
GuideMask.__index = GuideMask
function GuideMask.Create(target)
if LuaUtil.IsNilOrNull(target) then
logError("GuideMask Error, null == target")
return nil
end
local self = {}
self.gameObject = UITool.Instantiate(GlobalObjs.s_topPanel, 11)
setmetatable(self, GuideMask)
local binder = self.gameObject:GetComponent("PrefabBinder")
self.mask = binder:GetObj("mask")
self.mask:DoGuide(target.gameObject)
return self
end
function GuideMask:Destroy()
LuaUtil.SafeDestroyObj(self.gameObject)
end
fileFormatVersion: 2
guid: 123228e04c588494a992383aba5d859f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -59,6 +59,8 @@ function LoginPanel:SetUi(binder)
LanguageMgr:ChangeLanguageType(v)
end)
language.value = LanguageMgr.languageIndex
end
function LoginPanel:OnHide()
......
......@@ -9,6 +9,7 @@ public class GlobalObjsWrap
L.BeginClass(typeof(GlobalObjs), typeof(System.Object));
L.RegFunction("New", _CreateGlobalObjs);
L.RegFunction("__tostring", ToLua.op_ToString);
L.RegVar("s_canvas", get_s_canvas, set_s_canvas);
L.RegVar("s_topPanel", get_s_topPanel, set_s_topPanel);
L.RegVar("s_windowPanel", get_s_windowPanel, set_s_windowPanel);
L.RegVar("s_gamePanel", get_s_gamePanel, set_s_gamePanel);
......@@ -40,6 +41,20 @@ public class GlobalObjsWrap
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_s_canvas(IntPtr L)
{
try
{
ToLua.Push(L, GlobalObjs.s_canvas);
return 1;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_s_topPanel(IntPtr L)
{
......@@ -96,6 +111,21 @@ public class GlobalObjsWrap
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int set_s_canvas(IntPtr L)
{
try
{
UnityEngine.Canvas arg0 = (UnityEngine.Canvas)ToLua.CheckUnityObject(L, 2, typeof(UnityEngine.Canvas));
GlobalObjs.s_canvas = arg0;
return 0;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int set_s_topPanel(IntPtr L)
{
......
//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;
public class GuideMaskBhvWrap
{
public static void Register(LuaState L)
{
L.BeginClass(typeof(GuideMaskBhv), typeof(UnityEngine.MonoBehaviour));
L.RegFunction("DoGuide", DoGuide);
L.RegFunction("__eq", op_Equality);
L.RegFunction("__tostring", ToLua.op_ToString);
L.RegVar("target", get_target, set_target);
L.EndClass();
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int DoGuide(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
GuideMaskBhv obj = (GuideMaskBhv)ToLua.CheckObject(L, 1, typeof(GuideMaskBhv));
UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 2, typeof(UnityEngine.GameObject));
obj.DoGuide(arg0);
return 0;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int op_Equality(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.ToObject(L, 1);
UnityEngine.Object arg1 = (UnityEngine.Object)ToLua.ToObject(L, 2);
bool o = arg0 == arg1;
LuaDLL.lua_pushboolean(L, o);
return 1;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_target(IntPtr L)
{
object o = null;
try
{
o = ToLua.ToObject(L, 1);
GuideMaskBhv obj = (GuideMaskBhv)o;
UnityEngine.GameObject ret = obj.target;
ToLua.Push(L, ret);
return 1;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index target on a nil value" : e.Message);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int set_target(IntPtr L)
{
object o = null;
try
{
o = ToLua.ToObject(L, 1);
GuideMaskBhv obj = (GuideMaskBhv)o;
UnityEngine.GameObject arg0 = (UnityEngine.GameObject)ToLua.CheckUnityObject(L, 2, typeof(UnityEngine.GameObject));
obj.target = arg0;
return 0;
}
catch(Exception e)
{
return LuaDLL.toluaL_exception(L, e, o == null ? "attempt to index target on a nil value" : e.Message);
}
}
}
fileFormatVersion: 2
guid: 6ded397f61bfcad49944d6e3018753ad
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -24,6 +24,7 @@ public static class LuaBinder
AnimationEventTriggerWrap.Register(L);
I18NWrap.Register(L);
LanguageMgrWrap.Register(L);
GuideMaskBhvWrap.Register(L);
L.RegFunction("MyEventHandler", MyEventHandler);
L.BeginModule("UnityEngine");
UnityEngine_ComponentWrap.Register(L);
......
fileFormatVersion: 2
guid: 34632e2a83f7d7441a2487bc6cb4596c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: b6dc4d1cd3b46eb44b4691ab7eb26807
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GuideMask
m_Shader: {fileID: 4800000, guid: c0210e2ac51aa804ebdb0a9143f732b8, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _ColorMask: 15
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Silder: 83.81709
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UVSec: 0
- _UseUIAlphaClip: 0
- _ZWrite: 1
m_Colors:
- _Center: {r: 508.19995, g: 277.80994, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
fileFormatVersion: 2
guid: e133bcb22461d4946bddc6ea7aaae46c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d208c851370b3274489ed63f52e974ac
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Shader "UI/GuideMask"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
//-------------------add----------------------
_Center("Center", vector) = (0, 0, 0, 0)
_Silder ("_Silder", Range (0,1000)) = 1000 // sliders
//-------------------add----------------------
}
SubShader
{
Tags
{
"Queue"="Transparent"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
Cull Off
Lighting Off
ZWrite Off
ZTest [unity_GUIZTestMode]
Blend SrcAlpha OneMinusSrcAlpha
ColorMask [_ColorMask]
Pass
{
Name "Default"
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#include "UnityCG.cginc"
#include "UnityUI.cginc"
#pragma multi_compile __ UNITY_UI_ALPHACLIP
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
float2 texcoord : TEXCOORD0;
float4 worldPosition : TEXCOORD1;
UNITY_VERTEX_OUTPUT_STEREO
};
fixed4 _Color;
fixed4 _TextureSampleAdd;
float4 _ClipRect;
//-------------------add----------------------
float _Silder;
float2 _Center;
//-------------------add----------------------
v2f vert(appdata_t IN)
{
v2f OUT;
UNITY_SETUP_INSTANCE_ID(IN);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
OUT.worldPosition = IN.vertex;
OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
OUT.texcoord = IN.texcoord;
OUT.color = IN.color * _Color;
return OUT;
}
sampler2D _MainTex;
fixed4 frag(v2f IN) : SV_Target
{
half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
#ifdef UNITY_UI_ALPHACLIP
clip (color.a - 0.001);
#endif
//-------------------add----------------------
color.a*=(distance(IN.worldPosition.xy,_Center.xy) > _Silder);
color.rgb*= color.a;
//-------------------add----------------------
return color;
}
ENDCG
}
}
}
fileFormatVersion: 2
guid: c0210e2ac51aa804ebdb0a9143f732b8
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant:
......@@ -5,7 +5,7 @@
/// </summary>
public class GlobalObjs
{
public static Canvas s_canvas;
public static Transform s_topPanel;
public static Transform s_windowPanel;
public static Transform s_gamePanel;
......
......@@ -8,6 +8,7 @@ public class PanelMgr
{
public void Init()
{
GlobalObjs.s_canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
GlobalObjs.s_topPanel = GameObject.Find("TopPanel").transform;
GlobalObjs.s_windowPanel = GameObject.Find("WindowPanel").transform;
GlobalObjs.s_gamePanel = GameObject.Find("GamePanel").transform;
......
fileFormatVersion: 2
guid: afbdbde398b58f348b24d0d8ffe61551
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections.Generic;
public class EventPermeate: MonoBehaviour, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler
{
// 事件穿透对象
[HideInInspector]
public GameObject target;
// 监听按下
public void OnPointerDown(PointerEventData eventData)
{
PassEvent(eventData,ExecuteEvents.pointerDownHandler);
}
// 监听抬起
public void OnPointerUp(PointerEventData eventData)
{
PassEvent(eventData,ExecuteEvents.pointerUpHandler);
}
// 监听点击
public void OnPointerClick(PointerEventData eventData)
{
PassEvent(eventData,ExecuteEvents.submitHandler);
PassEvent(eventData,ExecuteEvents.pointerClickHandler);
}
// 把事件透下去
public void PassEvent<T>(PointerEventData data,ExecuteEvents.EventFunction<T> function)
where T : IEventSystemHandler
{
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(data, results);
GameObject current = data.pointerCurrentRaycast.gameObject ;
for(int i =0; i< results.Count;i++)
{
if(target == results[i].gameObject)
{
// 如果是目标物体,则把事件透传下去,然后break
ExecuteEvents.Execute(results[i].gameObject, data,function);
break;
}
}
}
}
fileFormatVersion: 2
guid: 04618d7046ac3b94490d49c69ba54838
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 新手引导动画
/// </summary>
[RequireComponent(typeof(EventPermeate))]
public class GuideMaskBhv : MonoBehaviour
{
public GameObject target;
private Material material;
private float diameter; // 直径
private float current = 0f;
Vector3[] corners = new Vector3[4];
float yVelocity = 0f;
public void DoGuide(GameObject target)
{
if(null != target)
this.target = target;
// 设置事件透传对象
gameObject.GetComponent<EventPermeate>().target = this.target.gameObject;
var canvas = GlobalObjs.s_canvas;
target.GetComponent<RectTransform>().GetWorldCorners(corners);
diameter = Vector2.Distance(WordToCanvasPos(canvas, corners[0]), WordToCanvasPos(canvas, corners[2])) / 2f;
float x = corners[0].x + ((corners[3].x - corners[0].x) / 2f);
float y = corners[0].y + ((corners[1].y - corners[0].y) / 2f);
Vector3 center = new Vector3(x, y, 0f);
Vector2 position = Vector2.zero;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, center, canvas.GetComponent<Camera>(), out position);
center = new Vector4(position.x, position.y, 0f, 0f);
material = GetComponent<Image>().material;
material.SetVector("_Center", center);
(canvas.transform as RectTransform).GetWorldCorners(corners);
for (int i = 0; i < corners.Length; i++)
{
current = Mathf.Max(Vector3.Distance(WordToCanvasPos(canvas, corners[i]), center), current);
}
material.SetFloat("_Silder", current);
}
void Update()
{
float value = Mathf.SmoothDamp(current, diameter, ref yVelocity, 0.3f);
if (!Mathf.Approximately(value, current))
{
current = value;
material.SetFloat("_Silder", current);
}
}
Vector2 WordToCanvasPos(Canvas canvas, Vector3 world)
{
Vector2 position = Vector2.zero;
RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, world, canvas.GetComponent<Camera>(), out position);
return position;
}
}
fileFormatVersion: 2
guid: 7213b8809b50755439cc1d92d3cec9f2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -87,7 +87,7 @@ public class UGUITool
if (null != onValueChanged)
onValueChanged(v);
});
return dropdown;
}
......
......@@ -4,13 +4,12 @@
EditorSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_ExternalVersionControlSupport: Visible Meta Files
m_SerializationMode: 2
m_LineEndingsForNewScripts: 0
m_DefaultBehaviorMode: 0
m_PrefabRegularEnvironment: {fileID: 0}
m_PrefabUIEnvironment: {fileID: 0}
m_SpritePackerMode: 0
m_SpritePackerMode: 4
m_SpritePackerPaddingPower: 1
m_EtcTextureCompressorBehavior: 1
m_EtcTextureFastCompressor: 1
......@@ -18,13 +17,24 @@ EditorSettings:
m_EtcTextureBestCompressor: 4
m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
m_ProjectGenerationRootNamespace:
m_CollabEditorSettings:
inProgressEnabled: 1
m_EnableTextureStreamingInEditMode: 1
m_EnableTextureStreamingInPlayMode: 1
m_AsyncShaderCompilation: 1
m_CachingShaderPreprocessor: 1
m_PrefabModeAllowAutoSave: 1
m_EnterPlayModeOptionsEnabled: 0
m_EnterPlayModeOptions: 3
m_ShowLightmapResolutionOverlay: 1
m_GameObjectNamingDigits: 1
m_GameObjectNamingScheme: 0
m_AssetNamingUsesSpace: 1
m_UseLegacyProbeSampleCount: 0
m_SerializeInlineMappingsOnOneLine: 1
\ No newline at end of file
m_SerializeInlineMappingsOnOneLine: 1
m_DisableCookiesInLightmapper: 0
m_AssetPipelineMode: 1
m_CacheServerMode: 0
m_CacheServerEndpoint:
m_CacheServerNamespacePrefix: default
m_CacheServerEnableDownload: 1
m_CacheServerEnableUpload: 1
m_CacheServerEnableAuth: 0
m_CacheServerEnableTls: 0
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册