update: Optmize debugger and root view logic. And Compatible with AdStatus. --story=1019746 --user=yufei.hu

deeplink
胡宇飞 2024-05-07 11:48:14 +08:00
parent 252de80d7d
commit 0fd037d1ae
17 changed files with 841 additions and 422 deletions

View File

@ -182,7 +182,7 @@ namespace Guru
{
_radsLoadStartTime = Time.realtimeSinceStartup; // 更新计时器
_chanelMax.LoadRewardAD();
OnRewardStartLoad?.Invoke(_chanelMax.MaxRADSSlotID);
OnRewardedStartLoad?.Invoke(_chanelMax.MaxRADSSlotID);
}

View File

@ -33,7 +33,7 @@ namespace Guru
public static Action OnInterstitialLoaded;
public static Action OnInterstitialFailed;
public static Action<string> OnRewardStartLoad;
public static Action<string> OnRewardedStartLoad;
public static Action OnRewardLoaded;
public static Action OnRewardFailed;

View File

@ -5,6 +5,9 @@ namespace Guru
public const string ADSERVICE_READY = "evt_adservice_ready";
public const string BADS_LOAD_START = "evt_bads_load_start";
public const string IADS_LOAD_START = "evt_iads_load_start";
public const string RADS_LOAD_START = "evt_rads_load_start";
public const string BADS_LOADED = "evt_bads_loaded";
public const string BADS_LOAD_FAILED = "evt_bads_load_failed";
public const string BADS_IMP = "evt_bads_imp";

View File

@ -44,7 +44,6 @@ namespace Guru
#region Banner
private Color _backColor = Color.clear;
public bool IsBannerRequestOver => true;
public void LoadBannerAD()
{
// Banners are automatically sized to 320x50 on phones and 728x90 on tablets

View File

@ -1,5 +1,9 @@
namespace Guru.Debugger
{
using System;
public class AdStatus
{
@ -8,16 +12,14 @@ namespace Guru.Debugger
private static bool _inited;
public static void Install()
public static void Install(AdStatusMonitorView view = null, Action onMonitorClicked = null)
{
if (_inited) return;
_inited = true;
_adp = new AdStatusPresenter();
_adp.Init();
_adp.Init(view, onMonitorClicked);
}
public static void ShowMonitor()
{
if(!_inited) Install();

View File

@ -39,6 +39,7 @@ namespace Guru.Debugger
public Action OnClickHandler;
public Action OnDestryHandler;
public Action<bool> OnEnableHandler;
// Start is called before the first frame update
@ -47,7 +48,21 @@ namespace Guru.Debugger
Alpha = Consts.MonitorStartAlpha;
}
private void OnDestroy()
{
OnDestryHandler?.Invoke();
}
private void OnEnable()
{
OnEnableHandler?.Invoke(true);
}
private void OnDisable()
{
OnEnableHandler?.Invoke(false);
}
public void OnDrag(PointerEventData eventData)

View File

@ -109,7 +109,7 @@ namespace Guru.Debugger
StringBuilder sb = new StringBuilder();
if (GuruSDK.IsAdsReady)
if (!ADService.Instance.IsInitialized)
{
msg = ColoredText("AdService not initialized...", Consts.ColorRed);
return msg;
@ -230,31 +230,28 @@ namespace Guru.Debugger
#endregion
#region AppLovin
private void InitAdsCallbacks()
private void InitAdsAssets()
{
RemoveCallbacks();
AddCallbacks();
_bannerInfos = new Queue<AdStatusInfo>(AdStatusConsts.MaxInfoCount);
_interInfos = new Queue<AdStatusInfo>(AdStatusConsts.MaxInfoCount);
_rewardInfos = new Queue<AdStatusInfo>(AdStatusConsts.MaxInfoCount);
}
private void AddCallbacks()
{
//----------------- Banner -----------------
GuruSDK.Callbacks.Ads.OnBannerADStartLoad += OnBannerAdLoadEvent;
ADService.OnBannerStartLoad += OnBannerStartLoadEvent;
MaxSdkCallbacks.Banner.OnAdLoadedEvent += OnBannerAdLoadedEvent;
MaxSdkCallbacks.Banner.OnAdLoadFailedEvent += OnBannerAdLoadFailEvent;
MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent += OnBannerAdRevenuePaidEvent;
MaxSdkCallbacks.Banner.OnAdClickedEvent += OnBannerAdClickedEvent;
//----------------- Interstitials -----------------
GuruSDK.Callbacks.Ads.OnInterstitialADStartLoad += OnInterAdLoadEvent;
ADService.OnInterstitialStartLoad += OnInterStartLoadEvent;
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterAdLoadedEvent;
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterAdLoadFailEvent;
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterAdDisplayFailEvent;
@ -262,22 +259,43 @@ namespace Guru.Debugger
MaxSdkCallbacks.Interstitial.OnAdClickedEvent += OnInterAdClickedEvent;
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterAdHiddenEvent;
//----------------- Reward -----------------
Guru.GuruSDK.Callbacks.Ads.OnRewardedADStartLoad += OnRewardedStartLoad;
ADService.OnRewardedStartLoad += OnRewardedStartLoad;
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardAdLoadedEvent;
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardAdLoadFailEvent;
MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardAdDisplayFailEvent;
MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent += OnRewardAdRevenuePaidEvent;
MaxSdkCallbacks.Rewarded.OnAdClickedEvent += OnRewardAdClickedEvent;
MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardAdHiddenEvent;
}
private void RemoveCallbacks()
{
//----------------- Banner -----------------
ADService.OnBannerStartLoad -= OnBannerStartLoadEvent;
MaxSdkCallbacks.Banner.OnAdLoadedEvent -= OnBannerAdLoadedEvent;
MaxSdkCallbacks.Banner.OnAdLoadFailedEvent -= OnBannerAdLoadFailEvent;
MaxSdkCallbacks.Banner.OnAdRevenuePaidEvent -= OnBannerAdRevenuePaidEvent;
MaxSdkCallbacks.Banner.OnAdClickedEvent -= OnBannerAdClickedEvent;
//----------------- Interstitials -----------------
ADService.OnInterstitialStartLoad -= OnInterStartLoadEvent;
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent -= OnInterAdLoadedEvent;
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent -= OnInterAdLoadFailEvent;
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent -= OnInterAdDisplayFailEvent;
MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent -= OnInterAdRevenuePaidEvent;
MaxSdkCallbacks.Interstitial.OnAdClickedEvent -= OnInterAdClickedEvent;
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent -= OnInterAdHiddenEvent;
//----------------- Reward -----------------
ADService.OnRewardedStartLoad -= OnRewardedStartLoad;
MaxSdkCallbacks.Rewarded.OnAdLoadedEvent -= OnRewardAdLoadedEvent;
MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent -= OnRewardAdLoadFailEvent;
MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent -= OnRewardAdDisplayFailEvent;
MaxSdkCallbacks.Rewarded.OnAdRevenuePaidEvent -= OnRewardAdRevenuePaidEvent;
MaxSdkCallbacks.Rewarded.OnAdClickedEvent -= OnRewardAdClickedEvent;
MaxSdkCallbacks.Rewarded.OnAdHiddenEvent -= OnRewardAdHiddenEvent;
}
//-------------- Banner ------------------
private void OnBannerAdLoadEvent(string adUnitId)
private void OnBannerStartLoadEvent(string adUnitId)
{
AddBannerInfo(CreateLoadingInfo(adUnitId, AdType.Banner));
}
@ -311,7 +329,7 @@ namespace Guru.Debugger
//----------------- Interstitial -----------------
private void OnInterAdLoadEvent(string adUnitId)
private void OnInterStartLoadEvent(string adUnitId)
{
AddInterInfo(CreateLoadingInfo(adUnitId, AdType.Interstitial));
}
@ -406,11 +424,9 @@ namespace Guru.Debugger
AddRewardInfo(CreateLoadedInfo(adUnitId, AdType.Rewarded, adInfo.NetworkName, adInfo.AdFormat, waterfall));
}
#endregion
}
}

View File

@ -1,54 +1,60 @@
using UnityEngine;
namespace Guru.Debugger
{
using System;
using UnityEngine;
public partial class AdStatusPresenter
{
const string K_DEBUGGER_ROOT = "ui/debugger_root";
const string K_DEBUGGER_ROOT = "ui/debugger_adstatus";
private AdStatusMonitorView _monitor;
private AdStatusModel _model;
public void Init()
private Action _onMonitorClickedHandler;
/// <summary>
/// Initiallize
/// </summary>
/// <param name="monitorView"></param>
public void Init(AdStatusMonitorView monitorView = null, Action onClicked = null)
{
_onMonitorClickedHandler = onClicked;
_model = new AdStatusModel();
_monitor = monitorView;
if (_monitor == null) _monitor = LoadDebuggerRoot();
if (_monitor != null)
{
_monitor.OnUpdateInfo("ads is on loading...");
_monitor.Active = false;
}
LoadDebuggerRoot();
InitAdsCallbacks();
_monitor.OnEnableHandler = OnMonitorEnableEvent;
_monitor.OnClickHandler = OnMonitorClickEvent;
InitAdsAssets();
}
/// <summary>
/// Debugger Root
/// </summary>
private void LoadDebuggerRoot()
private AdStatusMonitorView LoadDebuggerRoot()
{
var prefab = Resources.Load<GameObject>(K_DEBUGGER_ROOT);
if (prefab != null)
{
var go = GameObject.Instantiate(prefab);
go.name = "__debugger_root__";
go.name = "__debugger__";
var t = go.transform.Find("root/ads_status_monitor");
if (t != null)
{
_monitor = t.GetComponent<AdStatusMonitorView>();
if (_monitor != null)
{
_monitor.OnUpdateInfo("ads is on loading...");
_monitor.Active = false;
}
return _monitor;
}
}
return null;
}
@ -56,7 +62,6 @@ namespace Guru.Debugger
private void UpdateView()
{
if (_model == null) return;
_monitor.OnUpdateInfo(_model.monitorInfo);
}
@ -71,6 +76,35 @@ namespace Guru.Debugger
if (_monitor == null) return;
_monitor.Active = false;
}
private void OnMonitorEnableEvent(bool enabled)
{
if (enabled)
{
RemoveCallbacks();
AddCallbacks();
}
else
{
RemoveCallbacks();
}
}
#region Click
private void OnMonitorClickEvent()
{
_onMonitorClickedHandler?.Invoke();
}
#endregion
}
}

View File

@ -0,0 +1,243 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5150702560827386885
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702560827386906}
m_Layer: 5
m_Name: root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702560827386906
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702560827386885}
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:
- {fileID: 5150702562168738941}
m_Father: {fileID: 5150702561338006477}
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!1 &5150702561338006473
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702561338006477}
- component: {fileID: 5150702561338006476}
- component: {fileID: 5150702561338006479}
- component: {fileID: 5150702561338006478}
m_Layer: 5
m_Name: debugger_adstatus
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702561338006477
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5150702560827386906}
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, y: 0}
--- !u!223 &5150702561338006476
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 2000
m_TargetDisplay: 0
--- !u!114 &5150702561338006479
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1080, y: 2048}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!114 &5150702561338006478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1001 &1799243657204254593
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5150702560827386906}
m_Modifications:
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_SizeDelta.x
value: 480
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_SizeDelta.y
value: 320
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchoredPosition.x
value: -249
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchoredPosition.y
value: 378
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135357, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Name
value: ads_status_monitor
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
--- !u!224 &5150702562168738941 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
m_PrefabInstance: {fileID: 1799243657204254593}
m_PrefabAsset: {fileID: 0}

View File

@ -1,331 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5150702560827386885
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702560827386906}
m_Layer: 5
m_Name: root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702560827386906
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702560827386885}
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: 5150702562168738941}
m_Father: {fileID: 5150702561338006477}
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!1 &5150702561338006473
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702561338006477}
- component: {fileID: 5150702561338006476}
- component: {fileID: 5150702561338006479}
- component: {fileID: 5150702561338006478}
m_Layer: 5
m_Name: debugger_root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702561338006477
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 5150702560827386906}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!223 &5150702561338006476
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 2000
m_TargetDisplay: 0
--- !u!114 &5150702561338006479
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1080, y: 2048}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!114 &5150702561338006478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702561338006473}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!1 &5150702562168738940
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702562168738941}
- component: {fileID: 5150702562168738931}
- component: {fileID: 5150702562168738930}
- component: {fileID: 6987031650776014463}
- component: {fileID: 5150702562168738928}
m_Layer: 5
m_Name: ads_status_monitor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702562168738941
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562168738940}
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: 5150702562590427462}
m_Father: {fileID: 5150702560827386906}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -249, y: 378}
m_SizeDelta: {x: 480, y: 320}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5150702562168738931
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562168738940}
m_CullTransparentMesh: 1
--- !u!114 &5150702562168738930
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562168738940}
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: 0, g: 0, b: 0, a: 0.8627451}
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!225 &6987031650776014463
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562168738940}
m_Enabled: 1
m_Alpha: 0.8
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &5150702562168738928
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562168738940}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ed7d7e0d6ce2048c1bacbd901b97c752, type: 3}
m_Name:
m_EditorClassIdentifier:
_canvasGroup: {fileID: 6987031650776014463}
_txtInfo: {fileID: 5150702562590427463}
--- !u!1 &5150702562590427457
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5150702562590427462}
- component: {fileID: 5150702562590427460}
- component: {fileID: 5150702562590427463}
m_Layer: 5
m_Name: txt_info
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5150702562590427462
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562590427457}
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: 5150702562168738941}
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: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5150702562590427460
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562590427457}
m_CullTransparentMesh: 1
--- !u!114 &5150702562590427463
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5150702562590427457}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: '11111
22222
33333
44444
55555
66666'

View File

@ -29,25 +29,8 @@ namespace Guru.Debugger
public static event Action OnClosed
{
add
{
if (_onViewClosed == null)
{
_onViewClosed = value;
}
else
{
_onViewClosed += value;
}
}
remove
{
if (_onViewClosed != null)
{
_onViewClosed -= value;
}
}
add => _onViewClosed += value;
remove => _onViewClosed -= value;
}
private static Action _onViewClosed;
@ -71,9 +54,15 @@ namespace Guru.Debugger
_viewRoot = DebuggerViewRoot.Instance;
optionDicts = new Dictionary<string, List<OptionLayout>>(5);
G.Events.OnUIEvent += OnUIEvent;
AdStatus.Install(_viewRoot.AdStatusMonitor, OnMonitorClicked);
}
private void OnUIEvent(string evt, object data)
#region UIEvent
private void OnUIEvent(string evt, object data = null)
{
switch (evt)
{
@ -81,13 +70,26 @@ namespace Guru.Debugger
OnSelectTab(data.ToString());
break;
case G.Events.EventViewClosed:
optionDicts?.Clear();
// optionDicts?.Clear();
_onViewClosed?.Invoke();
ShowAdStatus();
break;
case G.Events.EventMonitorClicked:
HideAdStatus();
ShowPage();
break;
}
}
private void OnMonitorClicked()
{
OnUIEvent(G.Events.EventMonitorClicked);
}
#endregion
#region UI Layout
public OptionLayout AddOption(string uri, string content = "", Action clickHandler = null)
@ -121,13 +123,40 @@ namespace Guru.Debugger
}
private void AddOptionLayout(string tabName, OptionLayout layout)
{
TryToAddOption(tabName, layout);
}
private bool TryToAddOption(string tabName, OptionLayout opt)
{
if (!optionDicts.ContainsKey(tabName))
{
optionDicts[tabName] = new List<OptionLayout>(20);
optionDicts[tabName].Add(opt);
return true;
}
optionDicts[tabName].Add(layout);
var options = optionDicts[tabName];
var oldOpt = options.FirstOrDefault(c => c.IsEqual(opt));
if (oldOpt == null)
{
options.Add(opt);
return true;
}
return false;
}
public void ShowAdStatus()
{
_viewRoot.ShowAdStatusMonitor();
}
public void HideAdStatus()
{
_viewRoot.HideAdStatusMonitor();
}
@ -143,6 +172,8 @@ namespace Guru.Debugger
{
RenderPage(tabName);
}
}
/// <summary>
@ -153,7 +184,7 @@ namespace Guru.Debugger
{
if (string.IsNullOrEmpty(tabName)) return;
_viewRoot.Show();
_viewRoot.ShowOptions();
_viewRoot.RefreshTabs(tabName, optionDicts.Keys.ToList());
_viewRoot.CleanOptions();
if (optionDicts.TryGetValue(tabName, out var opts))
@ -193,7 +224,7 @@ namespace Guru.Debugger
}
else
{
Debug.LogError($"{tabName} not found!");
Debug.LogError($"Tab [{tabName}] not found!");
}
}
@ -214,7 +245,10 @@ namespace Guru.Debugger
Instance.ShowPage(tabName);
}
public static void Hide() => Instance._viewRoot.Hide();
public static void Hide()
{
Instance._viewRoot.HideOptions();
}
#endregion
@ -256,8 +290,43 @@ namespace Guru.Debugger
});
return this;
}
public bool IsEqual(OptionLayout other)
{
var res = other.tabName == tabName
&& other.optName == optName
// && other.content == content
&& IsItemsEqual(other);
return res;
}
private bool IsItemsEqual(OptionLayout other)
{
if (items == null && other.items == null) return true;
if (items != null && other.items == null || items == null && other.items != null) return false;
if (items != null && other.items != null)
{
if (items.Count != other.items.Count)
{
return false;
}
for (int i = 0; i < items.Count; i++)
{
if (!items[i].IsEqual(other.items[i]))
{
return false;
}
}
}
return true;
}
}
internal class OptionItemLayout
{
public string type;
@ -266,6 +335,14 @@ namespace Guru.Debugger
public string content;
public TextAnchor align = TextAnchor.MiddleCenter;
public Vector2 size = Vector2.zero;
public bool IsEqual(OptionItemLayout other)
{
return other.type == type
&& other.name == name;
// && other.content == content;
}
}
#endregion

View File

@ -12,6 +12,7 @@ namespace Guru.Debugger
{
public const string EventTabClicked = "evt_tab_clicked";
public const string EventViewClosed = "evt_view_closed";
public const string EventMonitorClicked = "evt_monitor_clicked";
public static Action<string, object> OnUIEvent = (e, o) => { };
}

View File

@ -16,12 +16,14 @@ namespace Guru.Debugger
[SerializeField] private Canvas _canvas;
[SerializeField] private CanvasGroup _canvasGroup;
[SerializeField] private RectTransform _options;
[SerializeField] private RectTransform _tabContent;
[SerializeField] private RectTransform _optContent;
[SerializeField] private RectTransform _binNode;
[SerializeField] private Button _btnClose;
[SerializeField] private AdStatusMonitorView _adStatusMoniter;
private const string PrefabPath = "ui/debugger_root";
private const string InstanceName = "__debugger__";
@ -37,8 +39,8 @@ namespace Guru.Debugger
}
private EventSystem _eventSystem;
public AdStatusMonitorView AdStatusMonitor => _adStatusMoniter;
public RectTransform Options => _options;
#region Static Calls
@ -83,7 +85,7 @@ namespace Guru.Debugger
_eventSystem = EventSystem.current;
}
Hide();
HideOptions();
}
private void SetupEventSystem()
@ -98,7 +100,7 @@ namespace Guru.Debugger
private void OnCloseBtnEvent()
{
Hide();
HideOptions();
OnSelfClosed();
}
@ -106,8 +108,19 @@ namespace Guru.Debugger
#region Display
public void Show() => Active = true;
public void Hide() => Active = false;
public void ShowOptions()
{
_options.gameObject.SetActive(true);
if(_adStatusMoniter != null)
_adStatusMoniter.Active = false;
}
public void HideOptions()
{
_options.gameObject.SetActive(false);
if(_adStatusMoniter != null)
_adStatusMoniter.Active = true;
}
#endregion
@ -136,16 +149,38 @@ namespace Guru.Debugger
#endregion
#region Dispos
#region Dispose
private void OnSelfClosed()
{
G.Events.OnUIEvent?.Invoke(G.Events.EventViewClosed, null);
}
/// <summary>
/// 回收资源
/// </summary>
public void Dispose()
{
CleanTabs();
CleanOptions();
G.Events.OnUIEvent?.Invoke(G.Events.EventViewClosed, null);
}
#endregion
#region ADStauts
public void ShowAdStatusMonitor()
{
HideOptions();
}
public void HideAdStatusMonitor()
{
ShowOptions();
}
#endregion
}
}

View File

@ -0,0 +1,197 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6882285428453135357
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6882285428453135356}
- component: {fileID: 6882285428453135346}
- component: {fileID: 6882285428453135347}
- component: {fileID: 8651096947997972990}
- component: {fileID: 6882285428453135345}
m_Layer: 5
m_Name: ads_status_monitor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6882285428453135356
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428453135357}
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:
- {fileID: 6882285428606324423}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: -249, y: 378}
m_SizeDelta: {x: 480, y: 320}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6882285428453135346
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428453135357}
m_CullTransparentMesh: 1
--- !u!114 &6882285428453135347
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428453135357}
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: 0, g: 0, b: 0, a: 0.8627451}
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!225 &8651096947997972990
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428453135357}
m_Enabled: 1
m_Alpha: 0.8
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &6882285428453135345
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428453135357}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ed7d7e0d6ce2048c1bacbd901b97c752, type: 3}
m_Name:
m_EditorClassIdentifier:
_canvasGroup: {fileID: 8651096947997972990}
_txtInfo: {fileID: 6882285428606324422}
--- !u!1 &6882285428606324416
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6882285428606324423}
- component: {fileID: 6882285428606324421}
- component: {fileID: 6882285428606324422}
m_Layer: 5
m_Name: txt_info
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6882285428606324423
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428606324416}
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: 6882285428453135356}
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: -20, y: -20}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6882285428606324421
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428606324416}
m_CullTransparentMesh: 1
--- !u!114 &6882285428606324422
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6882285428606324416}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: '11111
22222
33333
44444
55555
66666'

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3d4690136aed1437d84dad04ab8cb331
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -36,7 +36,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -659.9998, y: 0}
m_AnchoredPosition: {x: -480.00003, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &5678077650178334410
@ -326,7 +326,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 1389.9999}
m_AnchoredPosition: {x: 0, y: 870.0002}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &5678077650315353684
@ -404,6 +404,7 @@ RectTransform:
m_Children:
- {fileID: 4157740473186689210}
- {fileID: 5678077651094479703}
- {fileID: 8127378833627144401}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -429,6 +430,7 @@ Canvas:
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 1001
@ -499,10 +501,12 @@ MonoBehaviour:
m_EditorClassIdentifier:
_canvas: {fileID: 5678077650595346845}
_canvasGroup: {fileID: 1672044669829354977}
_options: {fileID: 5678077651094479703}
_tabContent: {fileID: 5678077650178334411}
_optContent: {fileID: 5678077650315353685}
_binNode: {fileID: 4157740473186689210}
_btnClose: {fileID: 5678077651910291720}
_adStatusMoniter: {fileID: 8127378833627144412}
_tabPrefab: {fileID: 1285608918186647737}
_optPrefab: {fileID: 3327545592706632832}
_btnPrefab: {fileID: 3738088849103178904}
@ -1211,6 +1215,123 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 7844578585297590382, guid: e22e7dc3c05a644c08c833a3a2f42a16, type: 3}
m_PrefabInstance: {fileID: 2454777507547019034}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &3407243456510440237
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 5678077650595346844}
m_Modifications:
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMin.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_SizeDelta.x
value: 480
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_SizeDelta.y
value: 320
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchoredPosition.x
value: -249
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_AnchoredPosition.y
value: 378
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135357, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_Name
value: ads_status
objectReference: {fileID: 0}
- target: {fileID: 6882285428453135357, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
--- !u!224 &8127378833627144401 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6882285428453135356, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
m_PrefabInstance: {fileID: 3407243456510440237}
m_PrefabAsset: {fileID: 0}
--- !u!114 &8127378833627144412 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6882285428453135345, guid: 3d4690136aed1437d84dad04ab8cb331, type: 3}
m_PrefabInstance: {fileID: 3407243456510440237}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ed7d7e0d6ce2048c1bacbd901b97c752, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &6068955105058075581
PrefabInstance:
m_ObjectHideFlags: 0