diff --git a/Assets/ArtRes/Sprite/提醒动画@2x.png b/Assets/ArtRes/Sprite/提醒动画@2x.png new file mode 100644 index 0000000..b9f9f35 Binary files /dev/null and b/Assets/ArtRes/Sprite/提醒动画@2x.png differ diff --git a/Assets/ArtRes/Sprite/提醒动画@2x.png.meta b/Assets/ArtRes/Sprite/提醒动画@2x.png.meta new file mode 100644 index 0000000..14ffcf7 --- /dev/null +++ b/Assets/ArtRes/Sprite/提醒动画@2x.png.meta @@ -0,0 +1,159 @@ +fileFormatVersion: 2 +guid: b016a99828899c04ebb587e9007ffbdd +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 12 + 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 + ignoreMasterTextureLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 2 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + 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 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + 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: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: iPhone + maxTextureSize: 8192 + 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: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Windows Store Apps + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UI/UI_Tip/ImageTips.prefab b/Assets/Resources/UI/UI_Tip/ImageTips.prefab new file mode 100644 index 0000000..cc8cd34 --- /dev/null +++ b/Assets/Resources/UI/UI_Tip/ImageTips.prefab @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6838249975052947045 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6838249975052946970} + - component: {fileID: 6838249975052946968} + - component: {fileID: 6838249975052946971} + - component: {fileID: 6838249975052946969} + m_Layer: 5 + m_Name: ImageTips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6838249975052946970 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6838249975052947045} + 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_ConstrainProportionsScale: 0 + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6838249975052946968 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6838249975052947045} + m_CullTransparentMesh: 1 +--- !u!114 &6838249975052946971 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6838249975052947045} + 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: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b016a99828899c04ebb587e9007ffbdd, 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 &6838249975052946969 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6838249975052947045} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc7cb287bfb0040499852e4ba0fbedbd, type: 3} + m_Name: + m_EditorClassIdentifier: + fadeDuration: 1 + sizeOffset: {x: 100, y: 100} diff --git a/Assets/Resources/UI/UI_Tip/ImageTips.prefab.meta b/Assets/Resources/UI/UI_Tip/ImageTips.prefab.meta new file mode 100644 index 0000000..9c4121d --- /dev/null +++ b/Assets/Resources/UI/UI_Tip/ImageTips.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eea425a83a1a48947b235057533ca3c0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/03_OfficeScene.unity b/Assets/Scenes/03_OfficeScene.unity index 1af8a58..9c8f5a5 100644 --- a/Assets/Scenes/03_OfficeScene.unity +++ b/Assets/Scenes/03_OfficeScene.unity @@ -736,6 +736,74 @@ MonoBehaviour: currentSubProcessStepID: 0 currentSubProcessStepTriggerID: 0 mobileController: {fileID: 919132148358585193} +--- !u!1 &2055950227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2055950230} + - component: {fileID: 2055950229} + - component: {fileID: 2055950228} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2055950228 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055950227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &2055950229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055950227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &2055950230 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2055950227} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2077977345 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Project/Manager/GameManager.cs b/Assets/Scripts/Project/Manager/GameManager.cs index d9815a7..e8835af 100644 --- a/Assets/Scripts/Project/Manager/GameManager.cs +++ b/Assets/Scripts/Project/Manager/GameManager.cs @@ -122,8 +122,8 @@ public class GameManager : SingletonAutoMono ToolAndmaterialMgr = ToolAndmaterialMgr.Instance; PacksackBagMgr = PacksackBagMgr.Instance; DataMgr.Init(); - //ToolAndmaterialMgr.Init(); InitData(); + } private void InitData() @@ -163,7 +163,7 @@ public class GameManager : SingletonAutoMono private void ShowUIPanelAndLoadScene() { UIMgr.ShowPanel(E_UI_Layer.Bot); - UIMgr.ShowPanel(E_UI_Layer.Bot,(panel)=>{panel.Init();}); + UIMgr.ShowPanel(E_UI_Layer.Bot, (panel) => { panel.Init(); }); //显示UI菜单列表 UIMgr.ShowPanel(E_UI_Layer.Mid, panel => { panel.Init(); }); //加载场景 /显示UI diff --git a/Assets/Scripts/Project/Manager/OfficeManager.cs b/Assets/Scripts/Project/Manager/OfficeManager.cs index c1a9b23..9d06c3d 100644 --- a/Assets/Scripts/Project/Manager/OfficeManager.cs +++ b/Assets/Scripts/Project/Manager/OfficeManager.cs @@ -12,7 +12,8 @@ public class OfficeManager : SingletonMono public int currentSubProcessID; public int currentSubProcessStepID; public int currentSubProcessStepTriggerID; - + + /// /// ֻ /// @@ -22,6 +23,7 @@ public class OfficeManager : SingletonMono GameManager.EventMgr.AddEventListener(Enum_EventType.OfficeTimeLineOver, OfficeTimeLineOver); GameManager.EventMgr.AddEventListener(Enum_EventType.InitializationUI, InitializationUI); GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchSubProcess, SwitchSubProcess); + } private void SwitchSubProcess(int subProcess) diff --git a/Assets/Scripts/Project/Objects/Other/ImageTips.cs b/Assets/Scripts/Project/Objects/Other/ImageTips.cs new file mode 100644 index 0000000..f7f039d --- /dev/null +++ b/Assets/Scripts/Project/Objects/Other/ImageTips.cs @@ -0,0 +1,63 @@ + +using UnityEngine; +using UnityEngine.UI; +using System.Collections; +/// +/// UIʾ +/// +public class ImageTips : MonoBehaviour +{ + private Image image; // UI Image + public float fadeDuration = 1.0f; // ÿε뵭ijʱ + private RectTransform selfRect; + public Vector2 sizeOffset = new Vector2(100, 100); + + public void ShowTips(RectTransform target) + { + gameObject.SetActive(true); + selfRect = GetComponent(); + image = GetComponent(); + selfRect.SetParent(target); + selfRect.anchorMin = Vector2.zero; + selfRect.anchorMax = new Vector2(1, 1); + selfRect.offsetMax = Vector2.zero; + selfRect.offsetMin = Vector2.zero; + //selfRect.sizeDelta = target.sizeDelta + sizeOffset; + StartCoroutine(FlashRoutine()); + } + + public void HideTips() + { + StopCoroutine(FlashRoutine()); + gameObject.SetActive(false); + } + private IEnumerator FlashRoutine() + { + while (true) + { + yield return StartCoroutine(Fade(1.0f, fadeDuration)); + yield return StartCoroutine(Fade(0.0f, fadeDuration)); + } + } + + private IEnumerator Fade(float targetAlpha, float duration) + { + float startAlpha = image.color.a; + float elapsed = 0.0f; + + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float newAlpha = Mathf.Lerp(startAlpha, targetAlpha, elapsed / duration); + Color color = image.color; + color.a = newAlpha; + image.color = color; + yield return null; + } + + // ȷֵ׼ȷ + Color finalColor = image.color; + finalColor.a = targetAlpha; + image.color = finalColor; + } +} diff --git a/Assets/Scripts/Project/Objects/Other/ImageTips.cs.meta b/Assets/Scripts/Project/Objects/Other/ImageTips.cs.meta new file mode 100644 index 0000000..066a4c5 --- /dev/null +++ b/Assets/Scripts/Project/Objects/Other/ImageTips.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dc7cb287bfb0040499852e4ba0fbedbd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs index 5c0f58d..609b97e 100644 --- a/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs +++ b/Assets/Scripts/Project/UI/UI_Panel/UI_MenuBar.cs @@ -56,12 +56,38 @@ public class UI_MenuBar : BasePanel { if (triggerID == workOrderName) { + GameManager.UIMgr.imageTips.ShowTips(workOrderBtn.GetComponent()); Debug.Log("ʾ"); } - if (triggerID == disassemblyAssemblyWorkOrderName) + else if (triggerID == disassemblyAssemblyWorkOrderName) { + GameManager.UIMgr.imageTips.ShowTips(disassemblyAssemblyWorkOrderBtn.GetComponent()); Debug.Log("װʾ"); } + else if (triggerID == toolKitName) + { + GameManager.UIMgr.imageTips.ShowTips(toolKitBtn.GetComponent()); + Debug.Log("ťʾ"); + } + else if (triggerID == siteName) + { + GameManager.UIMgr.imageTips.ShowTips(siteBtn.GetComponent()); + Debug.Log("ֳťʾ"); + } + else if (triggerID == officeName) + { + GameManager.UIMgr.imageTips.ShowTips(officeBtn.GetComponent()); + Debug.Log("칫Ұťʾ"); + } + else if (triggerID == toolRoomName) + { + GameManager.UIMgr.imageTips.ShowTips(toolRoomBtn.GetComponent()); + Debug.Log("߼䰴ťʾ"); + } + else + { + GameManager.UIMgr.imageTips.HideTips(); + } } public override void HideMe() diff --git a/Assets/Scripts/ProjectBase/UIManager/UIManager.cs b/Assets/Scripts/ProjectBase/UIManager/UIManager.cs index 04295d4..02272db 100644 --- a/Assets/Scripts/ProjectBase/UIManager/UIManager.cs +++ b/Assets/Scripts/ProjectBase/UIManager/UIManager.cs @@ -52,6 +52,12 @@ public class UIManager : BaseManager /// private readonly Dictionary panelDic = new Dictionary(); + /// + /// 提示ui预制体和实列化 + /// + public ImageTips imageTipsPrefab; + public ImageTips imageTips; + /// /// 构造函数 /// @@ -63,6 +69,9 @@ public class UIManager : BaseManager mid = canvas.transform.Find("Mid"); top = canvas.transform.Find("Top"); system = canvas.transform.Find("System"); + imageTipsPrefab = ResourcesManager.Instance.Load ("UI/UI_Tip/ImageTips"); + imageTips = GameObject.Instantiate(imageTipsPrefab, canvas); + imageTips.HideTips(); } ///