Compare commits
6 Commits
pc-migrati
...
main
| Author | SHA1 | Date |
|---|---|---|
|
|
901be0521f | |
|
|
5bd20349c1 | |
|
|
56da5f6c38 | |
|
|
9fd6077672 | |
|
|
3960cbc84a | |
|
|
8b4df58198 |
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
19
|
||||
27
|
||||
|
|
@ -2861,7 +2861,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: 2756, y: -25}
|
||||
m_AnchoredPosition: {x: 2756, y: -25.000015}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!61 &85415561
|
||||
|
|
@ -16389,7 +16389,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: -2756, y: -25}
|
||||
m_AnchoredPosition: {x: -2756, y: -25.000015}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!61 &420248622
|
||||
|
|
@ -19712,6 +19712,7 @@ GameObject:
|
|||
- component: {fileID: 500962030}
|
||||
- component: {fileID: 500962029}
|
||||
- component: {fileID: 500962031}
|
||||
- component: {fileID: 500962032}
|
||||
m_Layer: 0
|
||||
m_Name: Infos
|
||||
m_TagString: Untagged
|
||||
|
|
@ -19871,6 +19872,19 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 4177bc10460c0264eb933d4c43a6f313, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!114 &500962032
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 500962021}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a6217070f548560469157a6f26c22065, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
webhookUrl: https://discord.com/api/webhooks/1458685956029939905/mjzyM7JuC7KWIjR4INNpGNCUK2EKanBace1nuwd114E5VIicTvrB3IKHSuI22ID0AtlP
|
||||
--- !u!1 &503960960
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -24582,6 +24596,153 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 607705654}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &608223683
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 608223684}
|
||||
- component: {fileID: 608223688}
|
||||
- component: {fileID: 608223687}
|
||||
- component: {fileID: 608223686}
|
||||
- component: {fileID: 608223685}
|
||||
m_Layer: 5
|
||||
m_Name: btn_1 (2)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &608223684
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 608223683}
|
||||
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: 1483257111}
|
||||
m_Father: {fileID: 1873956282}
|
||||
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: 225, y: -16.04}
|
||||
m_SizeDelta: {x: 200, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &608223685
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 608223683}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Sound: 0
|
||||
--- !u!114 &608223686
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 608223683}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 608223687}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: 2034573240}
|
||||
m_TargetAssemblyTypeName: OptionUI, Assembly-CSharp
|
||||
m_MethodName: OnClick_OtherGame
|
||||
m_Mode: 5
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument: https://m.onestore.co.kr/v2/ko-kr/app/0001003603
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &608223687
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 608223683}
|
||||
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: 05df83961ccc0f642bb4626bcf01d4cf, 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!222 &608223688
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 608223683}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &610293026
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -54612,7 +54773,7 @@ RectTransform:
|
|||
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: 125, y: -16.04}
|
||||
m_AnchoredPosition: {x: 0, y: -16.04}
|
||||
m_SizeDelta: {x: 200, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1370974289
|
||||
|
|
@ -58690,6 +58851,142 @@ CanvasRenderer:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1483186138}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1483257110
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1483257111}
|
||||
- component: {fileID: 1483257113}
|
||||
- component: {fileID: 1483257112}
|
||||
m_Layer: 5
|
||||
m_Name: New TMP
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1483257111
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1483257110}
|
||||
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: 608223684}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: -23.61}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1483257112
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1483257110}
|
||||
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: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: "\uC57C\uC2EC\uD55C \uBCD1\uB3D9"
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 3055b5c28f94e6c4ea6b9a379bb315a5, type: 2}
|
||||
m_sharedMaterial: {fileID: -3574565475228871172, guid: 3055b5c28f94e6c4ea6b9a379bb315a5, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4293256191
|
||||
m_fontColor: {r: 1, g: 0.8901961, b: 0.8980392, 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: 36
|
||||
m_fontSizeBase: 36
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 25
|
||||
m_fontSizeMax: 100
|
||||
m_fontStyle: 0
|
||||
m_HorizontalAlignment: 2
|
||||
m_VerticalAlignment: 4096
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: -10
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_TextWrappingMode: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 0
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 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: 0
|
||||
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}
|
||||
--- !u!222 &1483257113
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1483257110}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!224 &1483615884 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 2198343314357404905, guid: 9df5d1d82e35edb4e98c606d7d69f8f4, type: 3}
|
||||
|
|
@ -64746,7 +65043,7 @@ RectTransform:
|
|||
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: -55.772705}
|
||||
m_AnchoredPosition: {x: 0, y: -55.77272}
|
||||
m_SizeDelta: {x: 0, y: -111.5455}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &1630921640
|
||||
|
|
@ -67225,7 +67522,7 @@ RectTransform:
|
|||
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: -125, y: -16.04}
|
||||
m_AnchoredPosition: {x: -225, y: -16.04}
|
||||
m_SizeDelta: {x: 200, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1695390285
|
||||
|
|
@ -75141,6 +75438,7 @@ RectTransform:
|
|||
- {fileID: 1678358371}
|
||||
- {fileID: 1695390284}
|
||||
- {fileID: 1370974288}
|
||||
- {fileID: 608223684}
|
||||
m_Father: {fileID: 770900677}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
|
|
|
|||
|
|
@ -7,15 +7,22 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
{
|
||||
#if UNITY_ANDROID
|
||||
string gameId = "5947579";
|
||||
string placement_Interstitial = "Interstitial_Android";
|
||||
string placement_Rewarded = "Rewarded_Android";
|
||||
string placement_Banner = "Banner_Android";
|
||||
#elif UNITY_IOS
|
||||
string gameId = "5947578";
|
||||
string placement_Interstitial = "Interstitial_iOS";
|
||||
string placement_Rewarded = "Rewarded_iOS";
|
||||
string placement_Banner = "Banner_iOS";
|
||||
#endif
|
||||
|
||||
bool testMode = false;
|
||||
|
||||
string placement_Interstitial = "Interstitial_Android";
|
||||
string placement_Rewarded = "Rewarded_Android";
|
||||
string placement_Banner = "Banner_Android";
|
||||
bool interstitialReady = false;
|
||||
bool rewardedReady = false;
|
||||
bool bannerLoaded = false;
|
||||
bool bannerVisible = false;
|
||||
|
||||
byte GetReward = 0;
|
||||
Action Action_success, Action_fail;
|
||||
|
|
@ -26,6 +33,9 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
Advertisement.Initialize(gameId, testMode, this);
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
// 광고 시청 요청
|
||||
// ===========================================================
|
||||
public void Show_AD(bool bshort, Action _success, Action _fail = null)
|
||||
{
|
||||
Stop_Game();
|
||||
|
|
@ -41,43 +51,119 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
return;
|
||||
}
|
||||
|
||||
Advertisement.Load(placement_Interstitial, this);
|
||||
}
|
||||
else
|
||||
{
|
||||
Advertisement.Load(placement_Rewarded, this);
|
||||
}
|
||||
}
|
||||
|
||||
public void Set_Banner(bool active)
|
||||
{
|
||||
return;
|
||||
|
||||
if (active)
|
||||
{
|
||||
if (!SaveMgr.Ins.Get_ShopNoAD())
|
||||
if (interstitialReady)
|
||||
{
|
||||
Advertisement.Banner.Load(placement_Banner, new BannerLoadOptions
|
||||
{
|
||||
loadCallback = () =>
|
||||
{
|
||||
Debug.Log("Banner Load Success");
|
||||
Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER);
|
||||
Advertisement.Banner.Show(placement_Banner);
|
||||
},
|
||||
errorCallback = (err) =>
|
||||
{
|
||||
Debug.Log("Banner Load Fail: " + err);
|
||||
}
|
||||
});
|
||||
Advertisement.Show(placement_Interstitial, this);
|
||||
interstitialReady = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
LobbyUI.Ins.m_ToastUI.Set("광고를 준비 중입니다.\n잠시 후 다시 시도해주세요.");
|
||||
GetReward = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Advertisement.Banner.Hide();
|
||||
if (rewardedReady)
|
||||
{
|
||||
Advertisement.Show(placement_Rewarded, this);
|
||||
rewardedReady = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
LobbyUI.Ins.m_ToastUI.Set("광고를 준비 중입니다.\n잠시 후 다시 시도해주세요.");
|
||||
GetReward = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
// 배너 광고 제어
|
||||
// ===========================================================
|
||||
// 외부에서 배너를 켜거나 끌 때 호출
|
||||
public void Set_Banner(bool active)
|
||||
{
|
||||
return; // 일단 비활성화
|
||||
|
||||
if (SaveMgr.Ins.Get_ShopNoAD())
|
||||
{
|
||||
// No-AD 유저면 항상 숨김
|
||||
if (bannerVisible)
|
||||
{
|
||||
HideBanner();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (active)
|
||||
{
|
||||
ShowBanner();
|
||||
}
|
||||
else
|
||||
{
|
||||
HideBanner();
|
||||
}
|
||||
}
|
||||
|
||||
void LoadBanner()
|
||||
{
|
||||
if (bannerLoaded) return;
|
||||
|
||||
var options = new BannerLoadOptions
|
||||
{
|
||||
loadCallback = () =>
|
||||
{
|
||||
Debug.Log("Banner Load Success");
|
||||
bannerLoaded = true;
|
||||
// 자동으로 보이게 하려면 아래 호출
|
||||
// Advertisement.Banner.Show(placement_Banner);
|
||||
},
|
||||
errorCallback = (err) =>
|
||||
{
|
||||
Debug.LogWarning("Banner Load Fail: " + err);
|
||||
bannerLoaded = false;
|
||||
// 필요시 재시도 로직 (예: 일정 시간 후 다시 Load)
|
||||
// StartCoroutine(RetryLoadBannerCoroutine());
|
||||
}
|
||||
};
|
||||
|
||||
Advertisement.Banner.SetPosition(BannerPosition.BOTTOM_CENTER);
|
||||
Advertisement.Banner.Load(placement_Banner, options);
|
||||
}
|
||||
|
||||
void ShowBanner()
|
||||
{
|
||||
if (SaveMgr.Ins.Get_ShopNoAD()) return;
|
||||
|
||||
if (!bannerLoaded)
|
||||
{
|
||||
// 로드가 안 되어 있으면 우선 로드하고, 로드시 자동으로 보여주게 처리
|
||||
LoadBanner();
|
||||
// 간단 처리: 로드 완료 콜백에서 실제로 보여주도록 하거나 즉시 안내 메시지
|
||||
LobbyUI.Ins.m_ToastUI.Set("배너 광고 준비 중입니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
var showOptions = new BannerOptions
|
||||
{
|
||||
clickCallback = () => Debug.Log("Banner clicked"),
|
||||
hideCallback = () => Debug.Log("Banner hidden"),
|
||||
showCallback = () => Debug.Log("Banner shown")
|
||||
};
|
||||
|
||||
Advertisement.Banner.Show(placement_Banner, showOptions);
|
||||
bannerVisible = true;
|
||||
}
|
||||
|
||||
void HideBanner()
|
||||
{
|
||||
Advertisement.Banner.Hide(false); // true면 destroy
|
||||
bannerVisible = false;
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
// 업데이트 - 광고 결과 처리
|
||||
// ===========================================================
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
|
|
@ -88,11 +174,11 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
Play_Game();
|
||||
Action_success?.Invoke();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case 3:
|
||||
GetReward = 0;
|
||||
Play_Game();
|
||||
LobbyUI.Ins.m_ToastUI.Set("준비된 광고가 없습니다.\n나중에 다시 시도해 주세요.");
|
||||
Action_fail?.Invoke();
|
||||
break;
|
||||
}
|
||||
|
|
@ -114,12 +200,19 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
// ===========================================================
|
||||
public void OnInitializationComplete()
|
||||
{
|
||||
Debug.Log("Unity Ads Initialization Complete");
|
||||
Debug.Log("✅ Unity Ads Initialized");
|
||||
|
||||
// 초기화 완료 후 광고 미리 로드 (인터스티셜 + 리워드)
|
||||
Advertisement.Load(placement_Interstitial, this);
|
||||
Advertisement.Load(placement_Rewarded, this);
|
||||
|
||||
// 배너도 미리 로드하되, 자동 노출은 하지 않음
|
||||
LoadBanner();
|
||||
}
|
||||
|
||||
public void OnInitializationFailed(UnityAdsInitializationError error, string message)
|
||||
{
|
||||
Debug.LogError($"Unity Ads Init Failed: {error} - {message}");
|
||||
Debug.LogError($"❌ Unity Ads Init Failed: {error} - {message}");
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
|
|
@ -128,13 +221,17 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
public void OnUnityAdsAdLoaded(string placementId)
|
||||
{
|
||||
Debug.Log("Ad Loaded: " + placementId);
|
||||
Advertisement.Show(placementId, this);
|
||||
if (placementId == placement_Interstitial)
|
||||
interstitialReady = true;
|
||||
else if (placementId == placement_Rewarded)
|
||||
rewardedReady = true;
|
||||
}
|
||||
|
||||
public void OnUnityAdsFailedToLoad(string placementId, UnityAdsLoadError error, string message)
|
||||
{
|
||||
Debug.LogError($"Failed to load Ad {placementId}: {error} - {message}");
|
||||
GetReward = 2;
|
||||
Debug.LogError($"❌ Failed to load Ad {placementId}: {error} - {message}");
|
||||
if (placementId == placement_Interstitial) interstitialReady = false;
|
||||
else if (placementId == placement_Rewarded) rewardedReady = false;
|
||||
}
|
||||
|
||||
// ===========================================================
|
||||
|
|
@ -146,12 +243,18 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>,
|
|||
GetReward = 1;
|
||||
else
|
||||
GetReward = 2;
|
||||
|
||||
// 광고 시청 후 즉시 다음 광고 미리 로드
|
||||
Advertisement.Load(placementId, this);
|
||||
}
|
||||
|
||||
public void OnUnityAdsShowFailure(string placementId, UnityAdsShowError error, string message)
|
||||
{
|
||||
Debug.LogError($"Show failed {placementId}: {error} - {message}");
|
||||
Debug.LogError($"❌ Show failed {placementId}: {error} - {message}");
|
||||
GetReward = 2;
|
||||
|
||||
// 실패했어도 다음 광고 미리 로드 시도
|
||||
Advertisement.Load(placementId, this);
|
||||
}
|
||||
|
||||
public void OnUnityAdsShowStart(string placementId) { }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.Networking;
|
||||
using System.Collections;
|
||||
|
||||
public class DiscordWebhookSender : MonoBehaviourSingletonTemplate<DiscordWebhookSender>
|
||||
{
|
||||
[SerializeField] private string webhookUrl;
|
||||
|
||||
public void Send_Message(string message)
|
||||
{
|
||||
StartCoroutine(SendCoroutine(message));
|
||||
}
|
||||
|
||||
IEnumerator SendCoroutine(string message)
|
||||
{
|
||||
string json = "{\"content\":\"" + message + "\"}";
|
||||
//Debug.Log("DiscordWebhookSender : " + json);
|
||||
|
||||
using (UnityWebRequest request = new UnityWebRequest(webhookUrl, "POST"))
|
||||
{
|
||||
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(json);
|
||||
request.uploadHandler = new UploadHandlerRaw(bodyRaw);
|
||||
request.downloadHandler = new DownloadHandlerBuffer();
|
||||
request.SetRequestHeader("Content-Type", "application/json");
|
||||
|
||||
yield return request.SendWebRequest();
|
||||
|
||||
//Debug.Log("DiscordWebhookSender Result : " + request.result);
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
Debug.LogError("Discord Error: " + request.error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a6217070f548560469157a6f26c22065
|
||||
|
|
@ -167,6 +167,9 @@ public class InappInfo : MonoBehaviourSingletonTemplate<InappInfo>
|
|||
act_success?.Invoke();
|
||||
//GameManager.IAP.AddProductItem(purchase.ProductId);
|
||||
//GameManager.UI.ShowNStackPopup(EPopupType.SuccessIAPPopup);
|
||||
|
||||
var pinfo = Get_ProductDetail(purchase.ProductId);
|
||||
DiscordWebhookSender.Ins.Send_Message($"[OneStore]{Application.productName}, {pinfo.title} / {pinfo.price}원");
|
||||
}
|
||||
|
||||
public void OnManageRecurringProduct(IapResult iapResult, PurchaseData purchase, RecurringAction action)
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ public static class AutoBuild
|
|||
//PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel23;
|
||||
|
||||
EditorUserBuildSettings.buildAppBundle = false;
|
||||
BuildStart("AndroidData/SheGotWet_Test_OneStore_" + Application.version + "_(" + PlayerSettings.Android.bundleVersionCode + ").apk", BuildTarget.Android);
|
||||
BuildStart("AndroidData/SheGotWet_OneStore_Test_" + Application.version + "_(" + PlayerSettings.Android.bundleVersionCode + ").apk", BuildTarget.Android);
|
||||
EmptySymbol();
|
||||
}
|
||||
[MenuItem("AutoBuild/Build Live AAB")]
|
||||
|
|
|
|||
|
|
@ -171,6 +171,7 @@ public class GachaUI : uScrollViewMgr
|
|||
ADInfo.Ins.Show_AD(false, () =>
|
||||
{
|
||||
SaveMgr.Ins.Add_Money(eMoney.Gacha, table_GlobalValue.Ins.Get_Int("GachaAD_Reward"));
|
||||
SaveMgr.Ins.Save();
|
||||
LobbyUI.Ins.m_ToastUI.Set($"뽑기 재화 {table_GlobalValue.Ins.Get_Int("GachaAD_Reward")}개를 획득했습니다.", ToastY);
|
||||
Set_Money();
|
||||
});
|
||||
|
|
@ -304,6 +305,8 @@ public class GachaUI : uScrollViewMgr
|
|||
|
||||
public void OnClick_GachaRate()
|
||||
{
|
||||
Application.OpenURL("https://mergehero.notion.site/2a7e9deec1718038bae6dbce1a91f4c4");
|
||||
//Application.OpenURL("https://mergehero.notion.site/2a7e9deec1718038bae6dbce1a91f4c4");
|
||||
// 주소가 변경됐네?
|
||||
Application.OpenURL("https://mergehero.notion.site/2bce9deec1718116a3aef132af4c9cfd");
|
||||
}
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@ PlayerSettings:
|
|||
loadStoreDebugModeEnabled: 0
|
||||
visionOSBundleVersion: 1.0
|
||||
tvOSBundleVersion: 1.0
|
||||
bundleVersion: 1.0.1
|
||||
bundleVersion: 1.0.5
|
||||
preloadedAssets:
|
||||
- {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
|
||||
metroInputSource: 0
|
||||
|
|
@ -173,7 +173,7 @@ PlayerSettings:
|
|||
iPhone: 0
|
||||
tvOS: 0
|
||||
overrideDefaultApplicationIdentifier: 1
|
||||
AndroidBundleVersionCode: 19
|
||||
AndroidBundleVersionCode: 27
|
||||
AndroidMinSdkVersion: 24
|
||||
AndroidTargetSdkVersion: 35
|
||||
AndroidPreferredInstallLocation: 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue