添加TapTap登录

This commit is contained in:
2026-06-15 14:54:30 +08:00
parent 69ce880d05
commit 1d6d908a2b
211 changed files with 181954 additions and 345 deletions

View File

@@ -18,6 +18,7 @@ namespace Ichni
public static MenuManager instance;
public StartUIPage startUIPage;
public LoginPage loginPage;
public ChapterSelectionUIPage chapterSelectionUIPage;
public StoryUIPage storyUIPage;
public DialogUIPage dialogUIPage;

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 42d766f6ac317ba4c95fa7b2cfd5a234
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,20 @@
{
"name": "IchniOnline.Editor",
"rootNamespace": "IchniOnline.Editor",
"references": [
"GUID:4c28cc81f4cf77b4281433b444fd27db",
"GUID:cfcd2ce455f8d1944942cdd919ecaa60",
"GUID:eb59b970a7d779141b50532b8cafd00f"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 77df99c74524abf4d92ef9dd1d9bb89c
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,54 @@
using IchniOnline.Online.Logic;
using IchniOnline.Online.Models;
using UnityEditor;
using UnityEngine;
namespace IchniOnline.Editor
{
public static class LoginCacheEditor
{
private const string MENU_PATH = "Ichni/Login Cache";
[MenuItem(MENU_PATH + "/Generate Mock Data")]
public static void GenerateMockData()
{
LoginCacheManager.SaveMockData();
var data = LoginCacheManager.CachedData;
Debug.Log($"[LoginCacheEditor] 模拟缓存已写入: openId={data.openId}, name={data.name}");
}
[MenuItem(MENU_PATH + "/Clear Cached Data")]
public static void ClearCachedData()
{
LoginCacheManager.Clear();
Debug.Log("[LoginCacheEditor] 登录缓存已清除");
}
[MenuItem(MENU_PATH + "/Show Cached Data", false, 200)]
public static void ShowCachedData()
{
if (LoginCacheManager.HasCachedLogin)
{
var data = LoginCacheManager.CachedData;
Debug.Log($"[LoginCacheEditor] 当前缓存:\n" +
$" openId: {data.openId}\n" +
$" unionId: {data.unionId}\n" +
$" name: {data.name}\n" +
$" email: {data.email}\n" +
$" timestamp: {data.cacheTimestamp}");
}
else
{
Debug.Log("[LoginCacheEditor] 无登录缓存");
}
}
// 动态禁用:没有缓存时灰显 Clear/Show
[MenuItem(MENU_PATH + "/Clear Cached Data", true)]
[MenuItem(MENU_PATH + "/Show Cached Data", true)]
public static bool ValidateHasCache()
{
return LoginCacheManager.HasCachedLogin;
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: d14e73d4506078644a51a3a72cf0c4da

View File

@@ -0,0 +1,28 @@
{
"name": "IchniOnline",
"rootNamespace": "IchniOnline",
"references": [
"GUID:56f3da7a178484843974054bafe77e73",
"GUID:4f379049292174fb88b6a19b4c7fc83b",
"GUID:10560023d8780423cb943c7a324b69f2",
"GUID:7d5ef2062f3704e1ab74aac0e4d5a1a7",
"GUID:223f7c51738354e2cb8b4cb571f7caab",
"GUID:cdf1346592073467a860c3effd9679d4",
"GUID:60aa8897230d6419da34689f63383ebd",
"GUID:6ff51c32c188e424b97bac52a5cb5184",
"GUID:e8754b6153389406c963cd52996cc80f",
"GUID:ff2731b992f0b4736afeff3719a96ad4",
"GUID:7a400ff9720ed4ff3ab2d2ef3c6b8a86",
"GUID:d9925423e828d479c9063ea882f31e06",
"GUID:cfcd2ce455f8d1944942cdd919ecaa60"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [],
"noEngineReferences": false
}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4c28cc81f4cf77b4281433b444fd27db
AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,92 @@
using IchniOnline.Online.Models;
using TapSDK.Login;
using UnityEngine;
namespace IchniOnline.Online.Logic
{
/// <summary>
/// 登录缓存的读写管理器。所有方法均为静态,可在任意位置调用。
/// 使用 ES3 进行本地持久化。
/// </summary>
public static class LoginCacheManager
{
private const string ES3_KEY = "Ichni_LoginCache";
/// <summary>
/// 本地是否存在有效的登录缓存
/// </summary>
public static bool HasCachedLogin
{
get
{
if (!ES3.KeyExists(ES3_KEY)) return false;
var data = ES3.Load<LoginCacheData>(ES3_KEY);
return data != null && data.IsValid;
}
}
/// <summary>
/// 获取缓存的登录数据,无缓存返回 null
/// </summary>
public static LoginCacheData CachedData
{
get
{
if (!ES3.KeyExists(ES3_KEY)) return null;
return ES3.Load<LoginCacheData>(ES3_KEY);
}
}
/// <summary>
/// 将 TapTap 登录结果写入本地缓存
/// </summary>
public static void SaveFromTapTapAccount(TapTapAccount account)
{
if (account == null)
{
Debug.LogWarning("[LoginCacheManager] account 为 null跳过缓存");
return;
}
var data = new LoginCacheData(
account.openId,
account.unionId,
account.name,
account.avatar,
account.email
);
ES3.Save(ES3_KEY, data);
Debug.Log($"[LoginCacheManager] 已缓存登录数据openId={data.openId}");
}
/// <summary>
/// 写入模拟数据(供编辑器工具使用)
/// </summary>
public static void SaveMockData()
{
var data = new LoginCacheData(
"mock_openid_001",
"mock_unionid_001",
"MockUser",
"",
"mock@test.com"
);
ES3.Save(ES3_KEY, data);
Debug.Log($"[LoginCacheManager] 已写入模拟缓存数据");
}
/// <summary>
/// 清除本地登录缓存
/// </summary>
public static void Clear()
{
if (ES3.KeyExists(ES3_KEY))
{
ES3.DeleteKey(ES3_KEY);
Debug.Log("[LoginCacheManager] 已清除登录缓存");
}
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: e7ca7506cce807c47b5a4b482eaa36a4

View File

@@ -1,18 +1,34 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Ichni.RhythmGame;
using Sirenix.OdinInspector;
using TapSDK.Core;
using TapSDK.Login;
using UnityEngine;
namespace Online.Logic
namespace IchniOnline.Online.Logic
{
public class ThirdPartyServiceManager:SerializedMonoBehaviour
{
public static ThirdPartyServiceManager Instance { get; private set; } = null!;
/// <summary>
/// TapTap 登录成功时触发,参数为登录获得的 TapTapAccount
/// </summary>
public event Action<TapTapAccount> OnLoginSuccess;
/// <summary>
/// TapTap 登录被用户取消时触发
/// </summary>
public event Action OnLoginCanceled;
/// <summary>
/// TapTap 登录失败时触发,参数为异常信息
/// </summary>
public event Action<string> OnLoginFailed;
private bool _initialized;
private void Awake()
{
if (Instance != null)
@@ -27,6 +43,13 @@ namespace Online.Logic
private void Start()
{
InitializeTapTapSDK();
}
private void InitializeTapTapSDK()
{
if (_initialized) return;
// 核心配置 详细参数见 [TapTapSDK]
TapTapSdkOptions coreOptions = new TapTapSdkOptions()
{
@@ -37,12 +60,22 @@ namespace Online.Logic
enableLog = true
};
// TapSDK 初始化
TapTapSDK.Init(coreOptions);
TapTapLoginTest();
TapTapSDK.Init(coreOptions);
_initialized = true;
}
async Task TapTapLoginTest()
/// <summary>
/// 发起 TapTap 登录,由 UI 按钮调用。
/// 登录结果通过事件 OnLoginSuccess / OnLoginCanceled / OnLoginFailed 通知。
/// </summary>
public async void StartTapTapLogin()
{
// 确保 SDK 已初始化
if (!_initialized)
{
InitializeTapTapSDK();
}
try
{
// 定义授权范围
@@ -52,17 +85,30 @@ namespace Online.Logic
TapTapLogin.TAP_LOGIN_SCOPE_EMAIL
};
// 发起 Tap 登录
var userInfo = await TapTapLogin.Instance.LoginWithScopes(scopes.ToArray());
Debug.Log($"登录成功,当前用户 ID{JsonUtility.ToJson(userInfo.accessToken)}");
var account = await TapTapLogin.Instance.LoginWithScopes(scopes.ToArray());
Debug.Log($"TapTap 登录成功,用户 ID{account.openId}name{account.name}");
LoginCacheManager.SaveFromTapTapAccount(account);
OnLoginSuccess?.Invoke(account);
}
catch (TaskCanceledException)
{
Debug.Log("用户取消登录");
Debug.Log("用户取消 TapTap 登录");
OnLoginCanceled?.Invoke();
}
catch (Exception exception)
{
Debug.Log($"登录失败,出现异常{exception}");
Debug.LogError($"TapTap 登录失败:{exception}");
OnLoginFailed?.Invoke(exception.Message);
}
}
/// <summary>
/// 登出 TapTap
/// </summary>
public void Logout()
{
TapTapLogin.Instance.Logout();
Debug.Log("TapTap 已登出");
}
}
}

View File

@@ -0,0 +1,33 @@
using System;
using UnityEngine;
namespace IchniOnline.Online.Models
{
/// <summary>
/// 登录缓存数据,使用 ES3 持久化
/// </summary>
[Serializable]
public class LoginCacheData
{
public string openId;
public string unionId;
public string name;
public string avatar;
public string email;
public long cacheTimestamp;
public LoginCacheData() { }
public LoginCacheData(string openId, string unionId, string name, string avatar, string email)
{
this.openId = openId;
this.unionId = unionId;
this.name = name;
this.avatar = avatar;
this.email = email;
this.cacheTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
}
public bool IsValid => !string.IsNullOrEmpty(openId);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9ee42a7bb6e8fed448dea34e8644a944

View File

@@ -1,4 +1,4 @@
namespace Online.Models
namespace IchniOnline.Online.Models
{
public enum UserPermission
{

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1af1b433ca97460b803aa5658aa1f1f6
timeCreated: 1781501555

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 38532fdeece04bc180921356b4bea5c8
timeCreated: 1781501559

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: acde2daeb66741b6b94635fbef0d80b9
timeCreated: 1781501559

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 6300c2d780b541158fe56ce0601ef1c7
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: a8361ec40c814530ae5ff39e03f76516
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: cfc4642aa0e549dc8a7d110a4337fff1
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 07a89cb2a92e48e989add694e3bc931c
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 5d57409f20c74890a700ef93e9923a23
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 5ec6312f47974bed920837df74c11be3
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 7d99c006d69a45e094de8039050e41fe
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: e1ff906c787a4179a37d90112a348e70
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: cd72ca1300b24e66839cf5a6cb328a4f
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d0d0f6478a17495cb5a4bb51f2fe9e20
timeCreated: 1781501559

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6754)">
<path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="#12D181"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#080808"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#080808"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#080808"/>
</g>
<defs>
<clipPath id="clip0_11430_6754">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 4536ca718ed84ca1807c6adc4b3cb617
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6749)">
<path d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40Z" fill="white"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#12D181"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#12D181"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#12D181"/>
</g>
<defs>
<clipPath id="clip0_11430_6749">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: 07e5e247a59947d685903e7e1b742993
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6744)">
<path d="M32 0H8C3.58172 0 0 3.58172 0 8V32C0 36.4183 3.58172 40 8 40H32C36.4183 40 40 36.4183 40 32V8C40 3.58172 36.4183 0 32 0Z" fill="#12D181"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#080808"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#080808"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#080808"/>
</g>
<defs>
<clipPath id="clip0_11430_6744">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: faeea8bba17f41cdbea314164452624a
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6739)">
<path d="M32 0H8C3.58172 0 0 3.58172 0 8V32C0 36.4183 3.58172 40 8 40H32C36.4183 40 40 36.4183 40 32V8C40 3.58172 36.4183 0 32 0Z" fill="white"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#12D181"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#12D181"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#12D181"/>
</g>
<defs>
<clipPath id="clip0_11430_6739">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: c769594e18844c87acb1be467c7ea327
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6734)">
<path d="M40 0H0V40H40V0Z" fill="#12D181"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#080808"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#080808"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#080808"/>
</g>
<defs>
<clipPath id="clip0_11430_6734">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: fa4e5a1519574f5a9822c437a8db2e23
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,13 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_11430_6729)">
<path d="M40 0H0V40H40V0Z" fill="white"/>
<path d="M23.8567 23.6599C23.6653 23.4715 23.5794 23.0917 23.5794 22.4271V16.8884C23.5794 16.2766 23.1227 15.8682 22.1823 15.6406C21.581 15.4959 20.8545 15.3813 20.0558 15.3813C18.9179 15.3813 17.6339 15.6119 16.3559 16.3143C15.0808 17.0151 14.1419 18.2027 13.7817 19.5726C13.631 20.1468 13.2467 22.1407 14.6272 23.7066C15.3611 24.54 16.4809 25.0253 17.6263 25.0042C18.835 24.9816 19.8599 24.3848 20.3195 23.9296C20.731 24.3531 21.3157 24.5325 22.0828 24.5325C22.85 24.5325 23.5688 24.2687 23.9562 23.9613C24.036 23.898 24.0225 23.7759 23.9366 23.7217C23.9079 23.7036 23.8823 23.6825 23.8567 23.6584V23.6599ZM19.8282 20.7798C19.8282 21.6102 19.4364 21.9945 19.1063 22.1724C18.927 22.2688 18.7416 22.302 18.5758 22.302C18.3739 22.302 18.202 22.2522 18.1071 22.2085C17.7198 22.0262 17.5103 21.6961 17.4455 21.1701C17.3957 20.7662 17.3566 19.7278 18.0604 18.7889C18.4809 18.2283 19.0988 17.8545 19.572 17.8786C19.7137 17.8862 19.8282 18.0067 19.8282 18.1469V20.7813V20.7798Z" fill="#12D181"/>
<path d="M30.9663 14.7153C29.7576 14.7379 28.7327 15.3347 28.2731 15.7899C27.8631 15.3664 27.2769 15.187 26.5113 15.187C25.7457 15.187 25.0268 15.4508 24.638 15.7582C24.5581 15.8215 24.5716 15.9436 24.6575 15.9978C24.6862 16.0159 24.7118 16.037 24.7374 16.0611C24.9288 16.2495 25.0132 16.6293 25.0132 17.2924V22.831C25.0132 22.8401 25.0132 22.8506 25.0132 22.8597V27.2137C25.0132 27.5618 25.3131 27.8331 25.6598 27.7969L27.4457 27.6161C28.1947 27.5407 28.7644 26.9093 28.7644 26.1557V23.996C29.6867 24.3125 31.3913 24.2221 32.6542 23.4761C33.7363 22.8371 34.5321 21.764 34.8802 20.284C35.0159 19.7068 35.3459 17.5788 33.9654 16.0114C33.2315 15.178 32.1117 14.6927 30.9663 14.7138V14.7153ZM30.5322 20.9351C30.1117 21.4942 29.4938 21.8695 29.0206 21.8454C28.8789 21.8379 28.7644 21.7173 28.7644 21.5771V18.9427C28.7644 18.1123 29.1562 17.728 29.4863 17.5502C29.6657 17.4537 29.851 17.4205 30.0168 17.4205C30.2187 17.4205 30.3905 17.4703 30.4855 17.514C30.8728 17.6963 31.0823 18.0264 31.1471 18.5524C31.1969 18.9563 31.236 19.9947 30.5322 20.9336V20.9351Z" fill="#12D181"/>
<path d="M15.7317 14.474V12.8841C15.7317 12.5374 15.4318 12.2661 15.0866 12.3008L8.72516 12.9398C8.72516 12.9398 8.39358 12.97 8.06955 12.9926C7.49233 13.0333 7.05678 13.0453 6.73275 12.9037C6.54437 12.8208 6.29119 12.6369 6.16459 12.352C6.12239 12.2586 5.9988 12.2375 5.92797 12.3114C5.55571 12.7032 5.18647 13.294 5.04179 13.8426C4.88354 14.4409 4.83984 15.2321 5.32814 15.8229C5.68231 16.2524 6.30172 16.6202 7.63551 16.486C7.952 16.4544 8.28659 16.4197 8.47799 16.4001C8.5639 16.3911 8.63773 16.4589 8.63773 16.5448V24.754C8.63773 25.1021 8.93765 25.3734 9.28429 25.3372L11.2676 25.1368C12.0167 25.0614 12.5864 24.43 12.5864 23.6764V16.1168C12.5864 16.0414 12.6436 15.9796 12.7175 15.9721L14.5456 15.7882C15.2208 15.7204 15.7332 15.1522 15.7332 14.474H15.7317Z" fill="#12D181"/>
</g>
<defs>
<clipPath id="clip0_11430_6729">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,53 @@
fileFormatVersion: 2
guid: a9707e38158345ab89f57a1b46f15687
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
svgType: 3
texturedSpriteMeshType: 0
svgPixelsPerUnit: 100
gradientResolution: 64
alignment: 0
customPivot: {x: 0, y: 0}
generatePhysicsShape: 0
viewportOptions: 0
preserveViewport: 0
advancedMode: 0
tessellationMode: 1
predefinedResolutionIndex: 1
targetResolution: 1080
resolutionMultiplier: 1
stepDistance: 10
samplingStepDistance: 100
maxCordDeviationEnabled: 0
maxCordDeviation: 1
maxTangentAngleEnabled: 0
maxTangentAngle: 5
keepTextureAspectRatio: 1
textureSize: 256
textureWidth: 256
textureHeight: 256
wrapMode: 0
filterMode: 1
sampleCount: 4
preserveSVGImageAspect: 0
useSVGPixelsPerUnit: 0
spriteData:
TessellationDetail: 0
SpriteName:
SpritePivot: {x: 0, y: 0}
SpriteAlignment: 0
SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
SpriteRect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
SpriteID:
PhysicsOutlines: []

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 33c3daa5f2744b61a3fb6d74d467b9cb
timeCreated: 1781501559

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 0634775a461445b6a5354ce2006ac0d2
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 2aa8952c0952465dbc91b5be2bed66bf
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: cf62ed01ef964a8eaa85704cbd546025
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 43b63f4acd1d4058803dfecae17fef46
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 82828e1797144ccbba0296ec6cce12b6
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: cfe3e652ebb947218e90451c8c98812b
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: b0bbbf3d88134717953db702d681779b
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 0b6e3d98cf4a43fbbb0c377ba3863c2b
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 34fe674a0e5f4b6ab0d631a506c0ea0a
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: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 3
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 13, y: 34, z: 10, w: 34}
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: 1
swizzle: 50462976
cookieLightType: 2
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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: 1537655665
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0a7898e788484c3ea6a73702bc75bfcc
timeCreated: 1781501969

View File

@@ -0,0 +1,176 @@
using System;
using IchniOnline.Online.Logic;
using TapSDK.Login;
using UnityEngine;
using UnityEngine.UI;
namespace Ichni.UI
{
public class LoginPage : UIPageBase
{
[Header("Button References")]
public Button closeButton;
public Button tapTapButton;
[Header("Page References")]
public StartUIPage startUIPage;
private bool _isLoggingIn;
protected override void Awake()
{
base.Awake();
// 如果 mainCanvasGroup 没有在 Inspector 中赋值,递归查找子物体
if (mainCanvasGroup == null)
{
mainCanvasGroup = GetComponentInChildren<CanvasGroup>(true);
}
}
private void Start()
{
// 确保初始状态alpha=0, 不可交互, 不可射线检测
// Canvas 处于 inactive 状态,这些值在激活后生效)
if (mainCanvasGroup != null)
{
mainCanvasGroup.alpha = 0f;
mainCanvasGroup.interactable = false;
mainCanvasGroup.blocksRaycasts = false;
}
// 在 Start 中绑定按钮事件(确保序列化引用已就绪)
if (closeButton != null)
{
closeButton.onClick.AddListener(OnCloseClicked);
}
else
{
Debug.LogWarning("[LoginPage] closeButton 未赋值");
}
if (tapTapButton != null)
{
tapTapButton.onClick.AddListener(OnTapTapClicked);
}
else
{
Debug.LogWarning("[LoginPage] tapTapButton 未赋值");
}
// 在 Start 中订阅事件(确保 ThirdPartyServiceManager.Instance 已初始化)
SubscribeThirdPartyEvents();
}
private void OnDestroy()
{
UnsubscribeThirdPartyEvents();
}
private void OnEnable()
{
// 每次启用时重新订阅(处理 DontDestroyOnLoad 场景切换等情况)
SubscribeThirdPartyEvents();
}
private void OnDisable()
{
UnsubscribeThirdPartyEvents();
}
#region ThirdPartyServiceManager Event Subscription
private void SubscribeThirdPartyEvents()
{
if (ThirdPartyServiceManager.Instance == null) return;
ThirdPartyServiceManager.Instance.OnLoginSuccess -= OnTapTapLoginSuccess;
ThirdPartyServiceManager.Instance.OnLoginCanceled -= OnTapTapLoginCanceled;
ThirdPartyServiceManager.Instance.OnLoginFailed -= OnTapTapLoginFailed;
ThirdPartyServiceManager.Instance.OnLoginSuccess += OnTapTapLoginSuccess;
ThirdPartyServiceManager.Instance.OnLoginCanceled += OnTapTapLoginCanceled;
ThirdPartyServiceManager.Instance.OnLoginFailed += OnTapTapLoginFailed;
}
private void UnsubscribeThirdPartyEvents()
{
if (ThirdPartyServiceManager.Instance == null) return;
ThirdPartyServiceManager.Instance.OnLoginSuccess -= OnTapTapLoginSuccess;
ThirdPartyServiceManager.Instance.OnLoginCanceled -= OnTapTapLoginCanceled;
ThirdPartyServiceManager.Instance.OnLoginFailed -= OnTapTapLoginFailed;
}
#endregion
/// <summary>
/// 点击 Close 按钮:淡出登录页,恢复 StartPage 交互
/// </summary>
private void OnCloseClicked()
{
FadeOut(0.5f, false, RestoreStartPage);
}
/// <summary>
/// 点击 TapTap 按钮:发起 TapTap 登录
/// </summary>
private void OnTapTapClicked()
{
if (_isLoggingIn) return;
_isLoggingIn = true;
tapTapButton.interactable = false;
if (closeButton != null) closeButton.interactable = false;
ThirdPartyServiceManager.Instance?.StartTapTapLogin();
}
/// <summary>
/// TapTap 登录成功回调
/// </summary>
private void OnTapTapLoginSuccess(TapTapAccount account)
{
_isLoggingIn = false;
Debug.Log($"[LoginPage] TapTap 登录成功,用户:{account.name}");
// 登录成功后淡出登录页
FadeOut(0.5f, false, RestoreStartPage);
}
/// <summary>
/// TapTap 登录取消回调
/// </summary>
private void OnTapTapLoginCanceled()
{
_isLoggingIn = false;
RestoreButtons();
Debug.Log("[LoginPage] 用户取消了 TapTap 登录");
}
/// <summary>
/// TapTap 登录失败回调
/// </summary>
private void OnTapTapLoginFailed(string error)
{
_isLoggingIn = false;
RestoreButtons();
Debug.LogError($"[LoginPage] TapTap 登录失败:{error}");
}
private void RestoreButtons()
{
if (tapTapButton != null) tapTapButton.interactable = true;
if (closeButton != null) closeButton.interactable = true;
}
/// <summary>
/// 恢复 StartPage 的交互能力
/// </summary>
private void RestoreStartPage()
{
if (startUIPage != null)
{
startUIPage.RestoreInteraction();
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 653bdc256f8f4a17b6ecd4997a5f92e1
timeCreated: 1781501982

View File

@@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using IchniOnline.Online.Logic;
using SLSUtilities.WwiseAssistance;
using UnityEngine;
using UnityEngine.Serialization;
@@ -15,6 +16,10 @@ namespace Ichni.UI
public GameObject peWarningWindow;
public GameObject contentWindow;
[Header("Login")]
public LoginPage loginPage;
protected override void Awake()
{
base.Awake();
@@ -37,12 +42,33 @@ namespace Ichni.UI
public void TouchToStart()
{
AudioManager.Post(AK.EVENTS.TOUCHTOSTART);
FadeOut();
floatingParticles.GetComponent<Renderer>().material.DOColor(Color.clear, "_BaseColor", 0.5f).Play();
ChapterSelectionManager.instance.chapterSelectionUIPage.FadeIn();
// 已有登录缓存 → 跳过 LoginPage直接进入章节选择
if (LoginCacheManager.HasCachedLogin)
{
FadeOut();
floatingParticles.GetComponent<Renderer>().material.DOColor(Color.clear, "_BaseColor", 0.5f).Play();
ChapterSelectionManager.instance.chapterSelectionUIPage.FadeIn();
return;
}
// 未登录 → 禁用 StartPage 交互,显示 LoginPage 覆盖层
mainCanvasGroup.interactable = false;
mainCanvasGroup.blocksRaycasts = false;
if (loginPage != null)
{
loginPage.FadeIn();
}
}
/// <summary>
/// LoginPage 关闭后调用,恢复 StartPage 的交互
/// </summary>
public void RestoreInteraction()
{
mainCanvasGroup.interactable = true;
mainCanvasGroup.blocksRaycasts = true;
}
}
}
}