미니 게임, 가챠 확인 등 여러 가지

This commit is contained in:
Ino 2025-12-16 16:43:10 +09:00
parent be43b86000
commit 9801e07e3e
14 changed files with 248 additions and 68 deletions

File diff suppressed because one or more lines are too long

View File

@ -64,9 +64,10 @@ public class table_album : table_base
if (index <= 0) return null;
return tableDatas
.GetRange(0, index)
.AsEnumerable()
.Reverse()
.Take(index) // data 이전만
.Where(t => t.e_CollectionMethod == eCollectionMethod.Normal)
.Reverse() // 가장 가까운 것부터
.ToList();
}
public albumtabledata Get_Data(int index) { return Get_DataList().Find(f => f.n_Index == index); }
}

View File

@ -2943,6 +2943,7 @@ MonoBehaviour:
texts_money:
- {fileID: 3197225484109123094}
- {fileID: 6159781323281063641}
- {fileID: 3003440591937821467}
_timer: {fileID: 8533009102604222213}
_fillImage: {fileID: 6137833702473882125}
_rushTimeText: {fileID: 5330343615741654754}
@ -3021,7 +3022,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &2936462688356794030
RectTransform:
m_ObjectHideFlags: 0
@ -3040,7 +3041,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: 0, y: -25.8}
m_AnchoredPosition: {x: -150, y: -25.8}
m_SizeDelta: {x: 246, y: 68}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2002731133134941671
@ -3400,7 +3401,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &8543697093956919703
RectTransform:
m_ObjectHideFlags: 0
@ -3419,7 +3420,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: 1.36, y: 61}
m_AnchoredPosition: {x: 1.36, y: 30}
m_SizeDelta: {x: 372.98, y: 110}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3966599381436452019
@ -3688,7 +3689,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &7240167138773547920
RectTransform:
m_ObjectHideFlags: 0
@ -4314,7 +4315,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &6448055094607218252
RectTransform:
m_ObjectHideFlags: 0
@ -6052,6 +6053,7 @@ MonoBehaviour:
- {fileID: 9061021693576280242}
- {fileID: 3739445889265963103}
- {fileID: 9110653302595014617}
- {fileID: 2601511065732257526}
--- !u!1 &9124151103754399212
GameObject:
m_ObjectHideFlags: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: ab88155167ad6d84db3e0673c24f6345
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
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
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -1,9 +1,12 @@
fileFormatVersion: 2
guid: ab88155167ad6d84db3e0673c24f6345
guid: c0d98ed4704705647ac97af9ee881a04
TextureImporter:
internalIDToNameTable: []
internalIDToNameTable:
- first:
213: 7700500376927275911
second: Bubble_GoldedCarrot_0
externalObjects: {}
serializedVersion: 12
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
@ -67,7 +70,7 @@ TextureImporter:
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@ -80,7 +83,7 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
@ -93,20 +96,7 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
@ -119,23 +109,33 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
sprites:
- serializedVersion: 2
name: Bubble_GoldedCarrot_0
rect:
serializedVersion: 2
x: 56
y: 57
width: 327
height: 327
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 78b03873b4cadda60800000000000000
internalID: 7700500376927275911
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
@ -145,6 +145,8 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0

View File

@ -145,7 +145,7 @@ public class HorseRushManager : MonoBehaviour
// CurrencyManager.Instance.AddGoods(103, heartAmount);
SaveMgr.Ins.Add_Money(eMoney.Gacha, (int)coinAmount);
SaveMgr.Ins.Add_Money(eMoney.Chat, rubyAmount);
SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, rubyAmount);
SaveMgr.Ins.Save();
m_MiniGameResult.Set(coinAmount, bonuscoin, rubyAmount, maxCombo, maxFeverStreak, missionSuccessPhotoID,
() => { _horseRushPanel.gameObject.SetActive(false); });

View File

@ -16,7 +16,7 @@ public class HorseRushPanel : MonoBehaviour
[SerializeField] Button _rightButton;
[SerializeField] GameObject _leftEffect;
[SerializeField] GameObject _rightEffect;
public TextMeshProUGUI[] texts_money; // 0 채팅 코인, 1 골드
public TextMeshProUGUI[] texts_money; // 0 채팅 코인, 1 골드, 2 하트
#region TEST
@ -335,6 +335,7 @@ public class HorseRushPanel : MonoBehaviour
_bottomSlider.value = 1;
texts_money[0].text = SaveMgr.Ins.Get_Money(eMoney.Chat).ToString();
texts_money[1].text = SaveMgr.Ins.Get_Money(eMoney.Gacha).ToString();
texts_money[2].text = SaveMgr.Ins.Get_Money(eMoney.AlbumOpen).ToString();
// 시간 텍스트 초기화
TimeSpan timeSpan = TimeSpan.FromSeconds(_limitTime);

View File

@ -50175,6 +50175,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3574105332676644573, guid: b92c7bec9741ee44b897051958ae6f1b, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5075662245161426955, guid: b92c7bec9741ee44b897051958ae6f1b, type: 3}
propertyPath: m_Name
value: GameBG_Girls

View File

@ -224,20 +224,24 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
{
int girl = girllst[i].n_GirlID;
if (!IsObtainGirl(girl))
continue;
//if (!IsObtainGirl(girl))
// continue;
var newlst = new List<AlbumSaveData>();
for (int j = 0; j < m_SaveData.dic_albumOpen[girl].Count; j++)
{
var id = m_SaveData.dic_albumOpen[girl][j].ID;
if (table_album.Ins.Get_Data(id).e_CollectionMethod == eCollectionMethod.Normal)
newlst.Add(new AlbumSaveData { ID = id });
}
var albums = table_album.Ins.Get_AlbumDataList(girl);
if (!m_SaveData.dic_albumOpen.TryGetValue(girl, out var openedAlbums))
openedAlbums = new List<AlbumSaveData>();
if (openedAlbums.Count >= albums.Count)
if (newlst.Count >= albums.Count)
continue; // 전부 획득함
// 이미 획득한 앨범 ID
HashSet<int> openedSet = new HashSet<int>(
openedAlbums.Select(x => x.ID)
newlst.Select(x => x.ID)
);
// 미획득 앨범
@ -247,6 +251,10 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
if (noobtainalbums.Count > 0)
{
if (albums.Count - newlst.Count == 1)
{ // 마지막 앨범 획득이므로 스페셜 앨범 지급
Open_Album(table_album.Ins.Get_SpecialAlbum(girl, eCollectionMethod.FullCollection));
}
// 여기서 랜덤 1개 리턴
return noobtainalbums[UnityEngine.Random.Range(0, noobtainalbums.Count)];
}
@ -272,13 +280,8 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
}
public bool IsObtainGirl(int id)
{
var pregirl = id - 1;
if (pregirl > 0)
{
var lst = table_album.Ins.Get_AlbumDataList(pregirl);
return lst.Count == Get_NormalImageCount(pregirl) && Get_NormalImageCount(id) > 0;
}
return true;
var tdata = table_album.Ins.Get_SpecialAlbum(id, eCollectionMethod.Default);
return IsOpenAlbum(tdata);
}
public bool IsOpenAlbum(albumtabledata data)
{

View File

@ -172,7 +172,9 @@ public class GachaUI : uScrollViewMgr
// 기존 럭키 게임 (old)
//LobbyUI.Ins.m_Game_Lucky.Set();
//Set_UI(false);
Set_UI(false);
LobbyUI.Ins.m_LobbyCenterProfileUI.Set(false);
}
}

View File

@ -5,7 +5,7 @@ using UnityEngine;
public class MiniGameResult : MonoBehaviour
{
public TextMeshProUGUI[] texts; // 0 최대 콤보, 1 콤보 보너스, 2 획득 채팅 코인, 3 획득 가챠 코인, 4 추가 획득량
public TextMeshProUGUI[] texts; // 0 최대 콤보, 1 콤보 보너스, 2 획득 채팅 코인, 3 획득 가챠 코인, 4 추가 획득량, 5 획득 하트 코인
ProtectedInt32 m_coinAmount, m_rubyAmount;
Action act_off;
@ -23,7 +23,8 @@ public class MiniGameResult : MonoBehaviour
texts[0].text = maxCombo.ToString();
texts[1].text = ((int)(maxCombo / 10f)).ToString() + "%";
texts[2].text = rubyAmount.ToString();
//texts[2].text = "";
texts[5].text = rubyAmount.ToString();
texts[3].text = coinAmount.ToString();
texts[4].text = $"+{bonuscoin}";
}
@ -33,7 +34,7 @@ public class MiniGameResult : MonoBehaviour
ADInfo.Ins.Show_AD(false, () =>
{
SaveMgr.Ins.Add_Money(eMoney.Gacha, m_coinAmount);
SaveMgr.Ins.Add_Money(eMoney.Chat, m_rubyAmount);
SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, m_rubyAmount);
SaveMgr.Ins.Save();
gameObject.SetActive(false);

View File

@ -1,11 +1,19 @@
Default : 기본 앨범 (1번 캐릭터는 열린 상태이고, 2번 캐릭터부터는 이전 캐릭터의 스페셜 앨범을 제외하고
//Default : 기본 앨범 (1번 캐릭터는 열린 상태이고, 2번 캐릭터부터는 이전 캐릭터의 스페셜 앨범을 제외하고
모두 열린 상태의 게임 로비에서 "캐릭터 열기" 를 할 때 기본 제공될 이미지
Mission : 피버 3회 달성 시 획득 / 또는 설정 된 가격으로 즉시 개방 가능
FullCollection : 스페셜을 제외한 모든 앨범 획득 시 개방 / 또는 설정 된 가격으로 즉시 개방 가능
//FullCollection : 스페셜을 제외한 모든 앨범 획득 시 개방 / 또는 설정 된 가격으로 즉시 개방 가능
Gacha : 가챠 등급9 발생 시 개방 / 또는 설정 된 가격으로 즉시 개방 가능
Normal : 구매로 열기 또는 럭키 보너스를 통해 획득 가능
//Normal : 구매로 열기 또는 럭키 보너스를 통해 획득 가능
인게임 앨범 이미지 컨셉은 다음과 같습니다.
1. 인게임 기본 배경 : Album 테이블의 e_CollectionMethod가 Default 인 이미지
2. 인게임 피버모드 배경 : Album 테이블의 e_CollectionMethod가 Mission 인 이미지
3. 인게임 섹시 배경(시작할 때 섹시 이미지로 변경하고 진입한 경우) : Album 테이블의 e_CollectionMethod가 FullCollection 인 이미지
3. 인게임 섹시 배경(시작할 때 섹시 이미지로 변경하고 진입한 경우) : Album 테이블의 e_CollectionMethod가 FullCollection 인 이미지
캐릭터 변경 안됨
미니게임 카운트 안 까임
스페셜 앨범 획득 조건 적용
미니게임 배경 설정
사운드
확률 url
앱 아이콘