更新,spine和很多优化
@@ -0,0 +1,75 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class BootLoader : MonoBehaviour
|
||||
{
|
||||
[Header("Settings")]
|
||||
[Tooltip("The name of the main scene to load asynchronously.")]
|
||||
[SerializeField] private string mainSceneName = "Main_main";
|
||||
|
||||
[Tooltip("Minimum time to show the splash screen (in seconds).")]
|
||||
[SerializeField] private float minSplashTime = 2.0f;
|
||||
|
||||
[Header("UI References")]
|
||||
[Tooltip("Optional Slider to show loading progress.")]
|
||||
[SerializeField] private Slider progressSlider;
|
||||
|
||||
[Tooltip("Optional Text to show loading percentage.")]
|
||||
[SerializeField] private Text progressText;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
// Start the asynchronous loading process
|
||||
StartCoroutine(LoadMainSceneAsync());
|
||||
}
|
||||
|
||||
private IEnumerator LoadMainSceneAsync()
|
||||
{
|
||||
// Prevent the screen from sleeping during loading
|
||||
Screen.sleepTimeout = SleepTimeout.NeverSleep;
|
||||
|
||||
float startTime = Time.time;
|
||||
|
||||
// Start loading the scene asynchronously
|
||||
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(mainSceneName);
|
||||
|
||||
// Prevent the scene from activating immediately
|
||||
asyncLoad.allowSceneActivation = false;
|
||||
|
||||
while (!asyncLoad.isDone)
|
||||
{
|
||||
// Calculate progress (0.0 to 0.9)
|
||||
float progress = Mathf.Clamp01(asyncLoad.progress / 0.9f);
|
||||
|
||||
// Update UI if references are assigned
|
||||
if (progressSlider != null)
|
||||
{
|
||||
progressSlider.value = progress;
|
||||
}
|
||||
|
||||
if (progressText != null)
|
||||
{
|
||||
progressText.text = $"{(progress * 100):0}%";
|
||||
}
|
||||
|
||||
// Check if loading is complete (progress >= 0.9) and minimum time has passed
|
||||
if (asyncLoad.progress >= 0.9f)
|
||||
{
|
||||
// Wait for the minimum splash time
|
||||
float elapsedTime = Time.time - startTime;
|
||||
if (elapsedTime >= minSplashTime)
|
||||
{
|
||||
// Allow the scene to activate
|
||||
asyncLoad.allowSceneActivation = true;
|
||||
}
|
||||
}
|
||||
|
||||
yield return null;
|
||||
}
|
||||
|
||||
// Restore screen sleep timeout
|
||||
Screen.sleepTimeout = SleepTimeout.SystemSetting;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99c9802260efed4478cbef270d7bdfc7
|
||||
@@ -1,5 +1,6 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
using Spine.Unity;
|
||||
|
||||
[CreateAssetMenu(fileName = "NewEnemyData", menuName = "SO_Data/EnemyData")]
|
||||
public class EnemyData_SO : ScriptableObject
|
||||
@@ -8,6 +9,35 @@ public class EnemyData_SO : ScriptableObject
|
||||
[Tooltip("Documentation text normalized.")]
|
||||
public string enemyName;
|
||||
public Sprite enemy_Image;
|
||||
|
||||
[Header("Spine Settings")]
|
||||
[Tooltip("Assign the SkeletonDataAsset for the Spine animation here")]
|
||||
public SkeletonDataAsset skeletonDataAsset;
|
||||
[SerializeField] private float xOffset = 0f;
|
||||
[SerializeField] private float yOffset = -400f;
|
||||
[SerializeField] private float scaleRatio = 1f;
|
||||
[SerializeField] private bool flipX = false;
|
||||
public float XOffset
|
||||
{
|
||||
get => xOffset;
|
||||
set => xOffset = value;
|
||||
}
|
||||
public float YOffset
|
||||
{
|
||||
get => yOffset;
|
||||
set => yOffset = value;
|
||||
}
|
||||
public float ScaleRatio
|
||||
{
|
||||
get => scaleRatio;
|
||||
set => scaleRatio = value;
|
||||
}
|
||||
public bool FlipX
|
||||
{
|
||||
get => flipX;
|
||||
set => flipX = value;
|
||||
}
|
||||
|
||||
public Sprite enemy_Profile;
|
||||
|
||||
[Tooltip("Documentation text normalized.")]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
* FancyScrollView (https://github.com/setchi/FancyScrollView)
|
||||
* Copyright (c) 2020 setchi
|
||||
* Licensed under MIT (https://github.com/setchi/FancyScrollView/blob/master/LICENSE)
|
||||
@@ -22,6 +22,14 @@ class UI_Panel_Character : MonoBehaviour
|
||||
[SerializeField] Image Image_Character_Illustration;
|
||||
[SerializeField] Image Image_Character_Illustration_BG;
|
||||
|
||||
[Header("Data Paths")]
|
||||
[Tooltip("Path relative to Resources folder for Editor mode")]
|
||||
public string editorResourcePath = "so/ally";
|
||||
[Tooltip("Path relative to Resources folder for Runtime mode")]
|
||||
public string runtimeResourcePath = "so/ally";
|
||||
|
||||
private List<AllyHero_SO> allyHeroList = new List<AllyHero_SO>();
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.Escape))
|
||||
@@ -46,15 +54,24 @@ class UI_Panel_Character : MonoBehaviour
|
||||
item.speed = Anim_Speed;
|
||||
}
|
||||
content_Character_Slot.Get_Childrens_Component<UI_Button_Character_Head_Slot>(true, true);
|
||||
for (int i = 0; i < UI_Panel_Main.Singleton.Data_List.Count; i++)
|
||||
|
||||
// Load AllyHero_SO data
|
||||
string path = Application.isEditor ? editorResourcePath : runtimeResourcePath;
|
||||
var loadedData = Resources.LoadAll<AllyHero_SO>(path);
|
||||
allyHeroList = new List<AllyHero_SO>(loadedData);
|
||||
// Ensure consistent order with UI_Panel_Main
|
||||
allyHeroList.Sort((a, b) => a.ally_heroID.CompareTo(b.ally_heroID));
|
||||
|
||||
for (int i = 0; i < allyHeroList.Count; i++)
|
||||
{
|
||||
var obj = Instantiate(button_Character_Slot_Prefab, content_Character_Slot);
|
||||
var data = UI_Panel_Main.Singleton.Data_List[i];
|
||||
obj.image.sprite = data.Image_Head;
|
||||
var data = allyHeroList[i];
|
||||
obj.image.sprite = data.ally_hero_squareProfile;
|
||||
if (obj.TryGetComponent(out UI_Button_Character_Head_Slot head_Slot))
|
||||
{
|
||||
head_Slot.index = data.index;
|
||||
obj.onClick.AddListener(() => Set_Character_Index(head_Slot.index));
|
||||
head_Slot.index = i;
|
||||
int capturedIndex = i;
|
||||
obj.onClick.AddListener(() => Set_Character_Index(capturedIndex));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -82,16 +99,19 @@ class UI_Panel_Character : MonoBehaviour
|
||||
}
|
||||
public void Set_Character_Show()
|
||||
{
|
||||
var data = UI_Panel_Main.Singleton.Get_Character_Image_Data();
|
||||
int index = UI_Panel_Main.Singleton.Character_Index;
|
||||
if (allyHeroList == null || index < 0 || index >= allyHeroList.Count) return;
|
||||
|
||||
var data = allyHeroList[index];
|
||||
var pos1 = Image_Character_Illustration.rectTransform.anchoredPosition;
|
||||
Image_Character_Illustration.sprite = data.Image_Full;
|
||||
Image_Character_Illustration.sprite = data.ally_hero_HD_image;
|
||||
DOTween.To(value =>
|
||||
{ Image_Character_Illustration.rectTransform.anchoredPosition = new Vector2(value, pos1.y); },
|
||||
startValue: Image_Character_Illustration.rectTransform.anchoredPosition.x - 200,
|
||||
pos1.x, anim_Time);
|
||||
Image_Character_Illustration.SetNativeSize();
|
||||
var pos = Image_Character_Illustration_BG.rectTransform.anchoredPosition;
|
||||
Image_Character_Illustration_BG.sprite = data.Image_Full;
|
||||
Image_Character_Illustration_BG.sprite = data.ally_hero_HD_image;
|
||||
DOTween.To(value =>
|
||||
{ Image_Character_Illustration_BG.rectTransform.anchoredPosition = new Vector2(value, pos.y); },
|
||||
startValue: Image_Character_Illustration_BG.rectTransform.anchoredPosition.x - 200,
|
||||
@@ -100,7 +120,7 @@ class UI_Panel_Character : MonoBehaviour
|
||||
Image_Character_Illustration_BG.transform.localScale = new(2.7f, 2.7f, 2.7f);
|
||||
|
||||
|
||||
string text = text_Character_Name.text;
|
||||
string text = data.ally_heroName;
|
||||
var t = DOTween.To(() => string.Empty, value => text_Character_Name.text = value, text, anim_Time).SetEase(Ease.Linear);
|
||||
t.SetOptions(true);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -7,6 +7,7 @@ using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
using Bansonic;
|
||||
|
||||
public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
{
|
||||
@@ -15,13 +16,14 @@ public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
set
|
||||
{
|
||||
character_Index = value;
|
||||
Set_Character_Illustration(Get_Character_Image_Data(character_Index).Image_Full);
|
||||
if(character_Index >= 0 && character_Index < data_List.Count)
|
||||
Set_Character_Illustration(Get_Character_Image_Data(character_Index).ally_hero_HD_image);
|
||||
}
|
||||
get => character_Index;
|
||||
}
|
||||
public int character_Index = 1;
|
||||
[SerializeField] List<Character_Data_Image_SO> data_List;
|
||||
public List<Character_Data_Image_SO> Data_List => data_List;
|
||||
public int character_Index = 0;
|
||||
[SerializeField] List<AllyHero_SO> data_List = new List<AllyHero_SO>();
|
||||
public List<AllyHero_SO> Data_List => data_List;
|
||||
[SerializeField] Button button_Character_Set;
|
||||
[SerializeField] GameObject ui_Panel_Character;
|
||||
[SerializeField] Button button_Encyclopendia;
|
||||
@@ -250,10 +252,8 @@ public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
Kill_Enter_Tweens();
|
||||
foreach (var item in data_List)
|
||||
{
|
||||
Destroy(item);
|
||||
}
|
||||
// data_List contains references to assets in Resources, do not Destroy them.
|
||||
data_List.Clear();
|
||||
base.OnDestroy();
|
||||
}
|
||||
private void Start()
|
||||
@@ -263,24 +263,16 @@ public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
|
||||
private IEnumerator InitDataRoutine()
|
||||
{
|
||||
var rawData = Resources.LoadAll<Character_Data_Image_SO>("Data");
|
||||
data_List = new List<Character_Data_Image_SO>();
|
||||
var rawData = Resources.LoadAll<AllyHero_SO>("so/ally");
|
||||
data_List = new List<AllyHero_SO>(rawData);
|
||||
|
||||
for (int i = 0; i < rawData.Length; i++)
|
||||
{
|
||||
var item = rawData[i];
|
||||
if (item == null) continue;
|
||||
|
||||
var so = Instantiate(item);
|
||||
data_List.Add(so);
|
||||
|
||||
// Documentation text normalized.
|
||||
{
|
||||
yield return null;
|
||||
}
|
||||
}
|
||||
data_List.Sort((a, b) => a.ally_heroID.CompareTo(b.ally_heroID));
|
||||
|
||||
yield return null;
|
||||
|
||||
Character_Index = character_Index;
|
||||
if(Character_Index >= 0 && Character_Index < data_List.Count)
|
||||
Set_Character_Illustration(Get_Character_Image_Data(Character_Index).ally_hero_HD_image);
|
||||
|
||||
if (button_Character_Set != null)
|
||||
button_Character_Set.onClick.AddListener(
|
||||
@@ -297,10 +289,24 @@ public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
Character_Index = character_Index;
|
||||
if (button_Encyclopendia != null)
|
||||
button_Encyclopendia.onClick.AddListener(
|
||||
() => Try_Open_Panel(ui_Panel_Encyclopendia));
|
||||
() =>
|
||||
{
|
||||
gNotice.warning.display("此版本未开放该功能");
|
||||
//Try_Open_Panel(ui_Panel_Encyclopendia);
|
||||
});
|
||||
if (button_Story != null)
|
||||
button_Story.onClick.AddListener(
|
||||
() => Try_Open_Panel(ui_Panel_Story));
|
||||
() =>
|
||||
{
|
||||
gNotice.warning.display("此版本未开放该功能");
|
||||
//Try_Open_Panel(ui_Panel_Story);
|
||||
});
|
||||
if (button_Idol != null)
|
||||
button_Idol.onClick.AddListener(
|
||||
() =>
|
||||
{
|
||||
gNotice.warning.display("此版本未开放该功能");
|
||||
});
|
||||
if (music_Player != null && music_Player.Button_List != null)
|
||||
music_Player.Button_List.onClick.AddListener(
|
||||
() => Try_Open_Panel(ui_Panel_Music));
|
||||
@@ -677,13 +683,15 @@ public class UI_Panel_Main : Singleton_Mono<UI_Panel_Main>
|
||||
}
|
||||
}
|
||||
}
|
||||
public Character_Data_Image_SO Get_Character_Image_Data(int index)
|
||||
public AllyHero_SO Get_Character_Image_Data(int index)
|
||||
{
|
||||
return data_List.Find(i => i.index == index);
|
||||
if(index < 0 || index >= data_List.Count) return null;
|
||||
return data_List[index];
|
||||
}
|
||||
public Character_Data_Image_SO Get_Character_Image_Data()
|
||||
public AllyHero_SO Get_Character_Image_Data()
|
||||
{
|
||||
return data_List.Find(i => i.index == character_Index);
|
||||
if(character_Index < 0 || character_Index >= data_List.Count) return null;
|
||||
return data_List[character_Index];
|
||||
}
|
||||
public void Set_Character_Illustration(Sprite sprite)
|
||||
{
|
||||
|
||||
@@ -75,6 +75,81 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &280150709295593380
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2318280567031044456}
|
||||
- component: {fileID: 1023961900524064665}
|
||||
- component: {fileID: 2438452334951697137}
|
||||
m_Layer: 0
|
||||
m_Name: wenhao
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &2318280567031044456
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 280150709295593380}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4008714089197239054}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 1920, y: 1080}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1023961900524064665
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 280150709295593380}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2438452334951697137
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 280150709295593380}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 0
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &406175461848920595
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -109,8 +184,8 @@ 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: 63.8, y: -8.5}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_AnchoredPosition: {x: 15.268383, y: 0}
|
||||
m_SizeDelta: {x: 88.937, y: 30.263}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8834825946409292425
|
||||
CanvasRenderer:
|
||||
@@ -147,13 +222,13 @@ MonoBehaviour:
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 114514
|
||||
m_Text: NaN
|
||||
--- !u!1 &438562227820009306
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1005,6 +1080,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 291470585847424768}
|
||||
- component: {fileID: 8373938424588989755}
|
||||
m_Layer: 5
|
||||
m_Name: MusicPic
|
||||
m_TagString: Untagged
|
||||
@@ -1055,6 +1131,24 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: -628.13, y: -267.01}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &8373938424588989755
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1162878931044217181}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 99786ec25b14ff7428d7f2ced0b24b89, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
guide: {fileID: 0}
|
||||
entry:
|
||||
path: MusicPic
|
||||
text: "\u8FD9\u4E9B\u662F\u6211\u4ECE\u623F\u95F4\u91CC\u641C\u96C6\u6765\u7684\uFF0C\u60A8\u6311\u4E24\u9996\uFF1F\u4E0D\u5FC5\u5728\u610F\u6211\u5BF9\u60A8\u54C1\u5473\u7684\u770B\u6CD5\u3002\u4E0D\u8FC7\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B...\u6211\u662F\u4F1A\u5207\u6389\u7684\u54E6\u3002"
|
||||
iconPath: "Assets/artworks/Ul_Ul/\u65B0\u7248\u4E3B\u754C\u9762\uFF082\uFF09/\u97F3\u4E50"
|
||||
icon: {fileID: 7605814977653748970, guid: fd7da29c38f47ea4695ec23268ebdd9d, type: 3}
|
||||
--- !u!1 &1207165874131126891
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -3396,7 +3490,7 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Outline
|
||||
m_Text: "\u79BB\u7EBF\u6A21\u5F0F"
|
||||
--- !u!1 &3339318652266806984
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4339,6 +4433,7 @@ RectTransform:
|
||||
- {fileID: 6434860682258445909}
|
||||
- {fileID: 5634981615641515618}
|
||||
- {fileID: 291470585847424768}
|
||||
- {fileID: 2318280567031044456}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
@@ -4412,6 +4507,20 @@ MonoBehaviour:
|
||||
showLevel_display: {fileID: 5868241863521704767}
|
||||
email_display: {fileID: 7520904819348953829}
|
||||
notice_display: {fileID: 920723299105391293}
|
||||
market_launch: {fileID: 5379967691629323644}
|
||||
userGuideButton: {fileID: 6945238783669072533}
|
||||
guideDisplayImage: {fileID: 2438452334951697137}
|
||||
guideMappings:
|
||||
- sceneName: UI_UI
|
||||
guideSprite: {fileID: 0}
|
||||
- sceneName: selectYourSongFirst
|
||||
guideSprite: {fileID: 0}
|
||||
- sceneName: Songs_Select
|
||||
guideSprite: {fileID: 0}
|
||||
- sceneName: gamePlay_gamePlay
|
||||
guideSprite: {fileID: 0}
|
||||
- sceneName:
|
||||
guideSprite: {fileID: 0}
|
||||
button_Music: {fileID: 5472029888669800656}
|
||||
musicPicRoot: {fileID: 0}
|
||||
showMusicPicInUI: 1
|
||||
@@ -4428,6 +4537,22 @@ MonoBehaviour:
|
||||
settings_navButton: {fileID: 0}
|
||||
homeSceneName: UI_UI
|
||||
backFallbackSceneName: Main_main
|
||||
navigationRules:
|
||||
- sceneName: UI_UI
|
||||
backTargetScene: Main_main
|
||||
depth: 0
|
||||
- sceneName: selectYourSongFirst
|
||||
backTargetScene: UI_UI
|
||||
depth: 1
|
||||
- sceneName: Songs_Select
|
||||
backTargetScene: selectYourSongFirst
|
||||
depth: 2
|
||||
- sceneName: gamePlay_gamePlay
|
||||
backTargetScene: selectYourSongFirst
|
||||
depth: 3
|
||||
- sceneName:
|
||||
backTargetScene:
|
||||
depth: 4
|
||||
--- !u!114 &2510911207525280717
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4937,8 +5062,8 @@ 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: 6.300003, y: -29.900002}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_AnchoredPosition: {x: -68.0999, y: -29.900002}
|
||||
m_SizeDelta: {x: 222.8, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &6137481741208887361
|
||||
CanvasRenderer:
|
||||
@@ -4969,19 +5094,19 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
|
||||
m_FontSize: 30
|
||||
m_Font: {fileID: 12800000, guid: bc54bd51ea8b84448ba1b65311872862, type: 3}
|
||||
m_FontSize: 24
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_Alignment: 5
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: XXXX
|
||||
m_Text: username
|
||||
--- !u!1 &5909026714256705340
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6655,8 +6780,8 @@ 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: 63.8, y: -8.5}
|
||||
m_SizeDelta: {x: 160, y: 30}
|
||||
m_AnchoredPosition: {x: 18.268383, y: -0.00012207031}
|
||||
m_SizeDelta: {x: 82.937, y: 30.263}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &9087867391651096042
|
||||
CanvasRenderer:
|
||||
@@ -6693,13 +6818,13 @@ MonoBehaviour:
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 114514
|
||||
m_Text: NaN
|
||||
--- !u!1 &7869453618975110451
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -7740,11 +7865,11 @@ MonoBehaviour:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
|
||||
m_FontSize: 36
|
||||
m_Font: {fileID: 12800000, guid: bc54bd51ea8b84448ba1b65311872862, type: 3}
|
||||
m_FontSize: 24
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MinSize: 2
|
||||
m_MaxSize: 61
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
|
||||
@@ -3,6 +3,7 @@ using UnityEngine.UI;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.SceneManagement;
|
||||
using System.Collections.Generic;
|
||||
using Bansonic;
|
||||
|
||||
public class btmandtopController : MonoBehaviour
|
||||
{
|
||||
@@ -17,6 +18,19 @@ public class btmandtopController : MonoBehaviour
|
||||
public Button showLevel_display;
|
||||
public Button email_display;
|
||||
public Button notice_display;
|
||||
public Button market_launch;
|
||||
|
||||
[Header("User Guide")]
|
||||
[SerializeField] private Button userGuideButton;
|
||||
[SerializeField] private Image guideDisplayImage;
|
||||
[SerializeField] private List<GuideMapping> guideMappings;
|
||||
|
||||
[System.Serializable]
|
||||
public struct GuideMapping
|
||||
{
|
||||
public string sceneName;
|
||||
public Sprite guideSprite;
|
||||
}
|
||||
|
||||
public Button button_Music;
|
||||
[Header("MusicPic")]
|
||||
@@ -40,6 +54,20 @@ public class btmandtopController : MonoBehaviour
|
||||
[SerializeField] private string homeSceneName = "UI_UI";
|
||||
[SerializeField] private string backFallbackSceneName = "Main_main";
|
||||
|
||||
[Header("Scene Navigation Rules")]
|
||||
[Tooltip("Define explicit back-navigation targets for specific scenes. This overrides the history-based navigation.")]
|
||||
[SerializeField] private List<SceneNavigationRule> navigationRules;
|
||||
|
||||
[System.Serializable]
|
||||
public struct SceneNavigationRule
|
||||
{
|
||||
public string sceneName;
|
||||
[Tooltip("The scene to return to. If empty, falls back to history.")]
|
||||
public string backTargetScene;
|
||||
[Tooltip("Optional: Visual depth indicator (0=Root, 1=Chapter, etc)")]
|
||||
public int depth;
|
||||
}
|
||||
|
||||
private UnityAction instantiateSettings;
|
||||
private UnityAction instantiateUserInfo;
|
||||
private UnityAction instantiateStore;
|
||||
@@ -49,6 +77,8 @@ public class btmandtopController : MonoBehaviour
|
||||
private UnityAction navBackAction;
|
||||
private UnityAction navHomeAction;
|
||||
private UnityAction navSettingsAction;
|
||||
private UnityAction navGuideAction;
|
||||
private UnityAction instantiateMarket;
|
||||
|
||||
// cached reference to the settings instance to ensure only one exists
|
||||
private GameObject settingsInstance;
|
||||
@@ -84,11 +114,16 @@ public class btmandtopController : MonoBehaviour
|
||||
}
|
||||
}
|
||||
instantiateSettings = () => ToggleSettingsPrefab();
|
||||
instantiateUserInfo = () => InstantiatePrefab(userInfo_prefab);
|
||||
instantiateUserInfo = () => { gNotice.recommendation.display("功能即将上线,敬请期待"); };
|
||||
instantiateStore = () => InstantiatePrefab(store_prefab);
|
||||
instantiateShowLevel = () => ShowLevelPrefab();
|
||||
instantiateEmail = () => ShowEmailPrefab();
|
||||
instantiateNotice = () => ShowNoticePrefab();
|
||||
instantiateShowLevel = () => { gNotice.error.display("功能即将下线,禁止访问"); };
|
||||
// instantiateShowLevel = () => ShowLevelPrefab();
|
||||
instantiateEmail = () => { gNotice.warning.display("此版本该功能暂不可用"); };
|
||||
// instantiateEmail = () => ShowEmailPrefab();
|
||||
instantiateNotice = () => { gNotice.warning.display("此版本该功能暂不可用"); };
|
||||
// instantiateNotice = () => ShowNoticePrefab();
|
||||
navGuideAction = () => ToggleGuideDisplay();
|
||||
instantiateMarket = () => { gNotice.alarm.display("商店未开放"); };
|
||||
|
||||
if (settings_launch != null)
|
||||
settings_launch.onClick.AddListener(instantiateSettings);
|
||||
@@ -102,6 +137,10 @@ public class btmandtopController : MonoBehaviour
|
||||
email_display.onClick.AddListener(instantiateEmail);
|
||||
if (notice_display != null)
|
||||
notice_display.onClick.AddListener(instantiateNotice);
|
||||
if (market_launch != null)
|
||||
market_launch.onClick.AddListener(instantiateMarket);
|
||||
if (userGuideButton != null)
|
||||
userGuideButton.onClick.AddListener(navGuideAction);
|
||||
|
||||
BindNewBackButtons();
|
||||
|
||||
@@ -328,6 +367,10 @@ public class btmandtopController : MonoBehaviour
|
||||
email_display.onClick.RemoveListener(instantiateEmail);
|
||||
if (notice_display != null)
|
||||
notice_display.onClick.RemoveListener(instantiateNotice);
|
||||
if (market_launch != null)
|
||||
market_launch.onClick.RemoveListener(instantiateMarket);
|
||||
if (userGuideButton != null)
|
||||
userGuideButton.onClick.RemoveListener(navGuideAction);
|
||||
|
||||
if (button_Music != null)
|
||||
button_Music.onClick.RemoveListener(ToggleMusicPicLocal);
|
||||
@@ -340,6 +383,46 @@ public class btmandtopController : MonoBehaviour
|
||||
settings_navButton.onClick.RemoveListener(navSettingsAction);
|
||||
}
|
||||
|
||||
private void ToggleGuideDisplay()
|
||||
{
|
||||
if (guideDisplayImage == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (guideDisplayImage.gameObject.activeSelf)
|
||||
{
|
||||
guideDisplayImage.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
string currentScene = SceneManager.GetActiveScene().name;
|
||||
Sprite targetSprite = null;
|
||||
|
||||
if (guideMappings != null)
|
||||
{
|
||||
foreach (var mapping in guideMappings)
|
||||
{
|
||||
if (mapping.sceneName == currentScene)
|
||||
{
|
||||
targetSprite = mapping.guideSprite;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (targetSprite != null)
|
||||
{
|
||||
guideDisplayImage.sprite = targetSprite;
|
||||
guideDisplayImage.gameObject.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
gNotice.warning.display("未找到指引信息");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleSettingsPrefab()
|
||||
{
|
||||
if (settings_prefab == null || putPrefabsHere == null) return;
|
||||
@@ -608,7 +691,28 @@ public class btmandtopController : MonoBehaviour
|
||||
InitializeSceneHistoryIfNeeded();
|
||||
|
||||
string current = SceneManager.GetActiveScene().name ?? string.Empty;
|
||||
string target = PopPreviousSceneName(current);
|
||||
string target = null;
|
||||
|
||||
if (navigationRules != null)
|
||||
{
|
||||
foreach (var rule in navigationRules)
|
||||
{
|
||||
if (string.Equals(rule.sceneName, current, System.StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(rule.backTargetScene))
|
||||
{
|
||||
target = rule.backTargetScene;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(target))
|
||||
{
|
||||
target = PopPreviousSceneName(current);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(target))
|
||||
{
|
||||
target = string.IsNullOrEmpty(backFallbackSceneName) ? "Main_main" : backFallbackSceneName;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using UnityEngine.SceneManagement;
|
||||
@@ -72,7 +72,22 @@ public class PauseManager : MonoBehaviour
|
||||
ResolveOverlayRootForPausePrefab();
|
||||
EnsureOverlayCanvasGroup();
|
||||
EnsureOverlayPanelRoot();
|
||||
SetOverlayVisibleImmediate(false);
|
||||
|
||||
// Ensure CanvasGroup is initialized to 0 alpha, but keep interactable/blocksRaycasts true
|
||||
if (overlayCanvasGroup != null)
|
||||
{
|
||||
overlayCanvasGroup.alpha = 0f;
|
||||
overlayCanvasGroup.interactable = true;
|
||||
overlayCanvasGroup.blocksRaycasts = true;
|
||||
}
|
||||
|
||||
// Initialize buttons but DO NOT call SetOverlayVisibleImmediate(false) here
|
||||
// because it would reset the flags we just set.
|
||||
// Instead, we manually ensure the object is active if that's the desired initial state,
|
||||
// or just rely on the alpha=0 to hide it.
|
||||
// Assuming user wants the object active but transparent:
|
||||
if (overlayRoot != null) overlayRoot.SetActive(true);
|
||||
|
||||
TryBindButtons(force: true);
|
||||
}
|
||||
|
||||
@@ -96,9 +111,16 @@ public class PauseManager : MonoBehaviour
|
||||
if (Input.GetKeyDown(KeyCode.Escape))
|
||||
{
|
||||
// User requested ESC as pause trigger in gameplay only.
|
||||
if (CanPauseFromInput() && !IsPaused)
|
||||
if (CanPauseFromInput())
|
||||
{
|
||||
Pause(true);
|
||||
if (!IsPaused)
|
||||
{
|
||||
Pause(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
Pause(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,13 +140,47 @@ public class PauseManager : MonoBehaviour
|
||||
IsPaused = true;
|
||||
Time.timeScale = 0f;
|
||||
OnPauseStateChanged?.Invoke(true);
|
||||
|
||||
// Startup flows call Pause(true) before real gameplay starts.
|
||||
// In that phase we keep time paused but do not show pause UI.
|
||||
bool allowOverlay = CanPauseFromInput();
|
||||
|
||||
// Calculate allowOverlay WITHOUT checking IsPaused (since we just set it to true).
|
||||
bool allowOverlay = true;
|
||||
if (onlyInGameplayScene && !IsGameplaySceneActive()) allowOverlay = false;
|
||||
else if (requirePlaybackStarted)
|
||||
{
|
||||
var gm = FindAnyObjectByType<GameManager>();
|
||||
// If GM missing or playback not started, don't show overlay yet
|
||||
if (gm != null && !gm.PlaybackStarted) allowOverlay = false;
|
||||
}
|
||||
|
||||
if (allowOverlay)
|
||||
{
|
||||
ShowOverlayAnimated(true);
|
||||
}
|
||||
else
|
||||
SetOverlayVisibleImmediate(false);
|
||||
{
|
||||
// Startup Pause State:
|
||||
// Keep object active and blocking raycasts (per user request), but invisible.
|
||||
if (overlayRoot != null) overlayRoot.SetActive(true);
|
||||
|
||||
if (overlayCanvasGroup != null)
|
||||
{
|
||||
overlayCanvasGroup.alpha = 0f;
|
||||
overlayCanvasGroup.interactable = true;
|
||||
overlayCanvasGroup.blocksRaycasts = true;
|
||||
}
|
||||
|
||||
if (overlayPanelCanvasGroup != null)
|
||||
{
|
||||
overlayPanelCanvasGroup.alpha = 0f;
|
||||
overlayPanelCanvasGroup.interactable = true;
|
||||
overlayPanelCanvasGroup.blocksRaycasts = true;
|
||||
}
|
||||
|
||||
if (overlayPanelRoot != null)
|
||||
overlayPanelRoot.localScale = PanelHiddenScale;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -186,19 +242,30 @@ public class PauseManager : MonoBehaviour
|
||||
|
||||
var gm = FindAnyObjectByType<GameManager>();
|
||||
if (gm == null) return false;
|
||||
|
||||
// If already paused, allow input to unpause regardless of PlaybackStarted state
|
||||
if (IsPaused) return true;
|
||||
|
||||
return gm.PlaybackStarted;
|
||||
}
|
||||
|
||||
private void EnsureOverlayCanvasGroup()
|
||||
{
|
||||
if (overlayRoot == null) return;
|
||||
overlayCanvasGroup = overlayRoot.GetComponent<CanvasGroup>();
|
||||
if (overlayCanvasGroup == null)
|
||||
|
||||
// Priority: Use existing CanvasGroup if available (Index first)
|
||||
if (!overlayRoot.TryGetComponent(out overlayCanvasGroup))
|
||||
{
|
||||
// Fallback: Create only if not found
|
||||
overlayCanvasGroup = overlayRoot.AddComponent<CanvasGroup>();
|
||||
}
|
||||
}
|
||||
|
||||
private void ResolveOverlayRootForPausePrefab()
|
||||
{
|
||||
// Priority: If manually assigned in Inspector, respect it.
|
||||
if (overlayRoot != null) return;
|
||||
|
||||
if (!preferPausePrefabOverWhiteScreen) return;
|
||||
// Prefer the real pause prefab root (contains Continue/Replay/Exit).
|
||||
GameObject pauseRoot = FindPauseMenuRootInScene();
|
||||
|
||||
@@ -662,20 +662,4 @@ public class UI_FunctionHoverGuide : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
public class UI_FunctionHoverTarget : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
|
||||
{
|
||||
public UI_FunctionHoverGuide guide;
|
||||
public UI_FunctionHoverEntry entry;
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData)
|
||||
{
|
||||
if (guide != null && entry != null)
|
||||
guide.ApplyEntry(entry);
|
||||
}
|
||||
|
||||
public void OnPointerExit(PointerEventData eventData)
|
||||
{
|
||||
if (guide != null && entry != null)
|
||||
guide.ClearEntry(entry);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class UI_FunctionHoverTarget : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
|
||||
{
|
||||
public UI_FunctionHoverGuide guide;
|
||||
public UI_FunctionHoverEntry entry;
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData)
|
||||
{
|
||||
if (guide != null && entry != null)
|
||||
guide.ApplyEntry(entry);
|
||||
}
|
||||
|
||||
public void OnPointerExit(PointerEventData eventData)
|
||||
{
|
||||
if (guide != null && entry != null)
|
||||
guide.ClearEntry(entry);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99786ec25b14ff7428d7f2ced0b24b89
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c359e9764582cb240bfc849795d2ebf2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,31 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Bansonic;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class dailyTaskManager : MonoBehaviour
|
||||
{
|
||||
[Header("任务池so")]
|
||||
public userTasksPool taskPool;
|
||||
|
||||
[Header("今日进度")]
|
||||
public Slider todayProgressSlider;
|
||||
public Text todayProgressPercent;
|
||||
public Text todayProgressText;
|
||||
public Text notasksanymore;
|
||||
|
||||
|
||||
[Header("一键领取")]
|
||||
public Button oneKeyRewardBtn;
|
||||
|
||||
[Header("任务配置")]
|
||||
[Tooltip("任务列表最大容量")]
|
||||
public int taskMaxSize = 5;
|
||||
[Tooltip("最大刷新次数")]
|
||||
public int refreshMaxTimes = 3;
|
||||
|
||||
[Header("prefabs")]
|
||||
public GameObject dailyTaskItemPrefab;
|
||||
public Transform dailyTaskItemParent;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ecefd7c8457464442841611a7685b465
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0085dcf7ad7586b49bf0297452d44020
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,55 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e466864f7f62639409ff977964559aba, type: 3}
|
||||
m_Name: 10100_usertasks
|
||||
m_EditorClassIdentifier:
|
||||
tasks:
|
||||
- taskID: 10101
|
||||
description: "\u767B\u5F55\u6E38\u620F"
|
||||
taskType: 0
|
||||
refreshFrequency: 1
|
||||
targetValue: 1
|
||||
rewardType: 0
|
||||
rewardAmount: 0
|
||||
addToTaskPool: 1
|
||||
- taskID: 10102
|
||||
description: "\u5B8C\u62103\u9996\u6B4C\u66F2"
|
||||
taskType: 1
|
||||
refreshFrequency: 1
|
||||
targetValue: 3
|
||||
rewardType: 0
|
||||
rewardAmount: 0
|
||||
addToTaskPool: 1
|
||||
- taskID: 10103
|
||||
description: "\u5B8C\u6210\u4E00\u6B2199\u8FDE\u51FB"
|
||||
taskType: 2
|
||||
refreshFrequency: 1
|
||||
targetValue: 99
|
||||
rewardType: 0
|
||||
rewardAmount: 0
|
||||
addToTaskPool: 1
|
||||
- taskID: 10104
|
||||
description: "\u8FBE\u5230\u4E00\u6B21\u603B\u52061000000"
|
||||
taskType: 3
|
||||
refreshFrequency: 1
|
||||
targetValue: 1000000
|
||||
rewardType: 0
|
||||
rewardAmount: 0
|
||||
addToTaskPool: 1
|
||||
- taskID: 10105
|
||||
description: "\u4F7F\u7528\u4E00\u6B21\u9644\u9B54\u4E4B\u74F6"
|
||||
taskType: 5
|
||||
refreshFrequency: 1
|
||||
targetValue: 1
|
||||
rewardType: 0
|
||||
rewardAmount: 0
|
||||
addToTaskPool: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b13eed1a8b291e54b9a402f5da3c97d0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,66 @@
|
||||
using UnityEngine;
|
||||
using System.Collections.Generic;
|
||||
|
||||
[CreateAssetMenu(fileName = "NewUserTasksPool", menuName = "DailyTask/UserTasksPool")]
|
||||
public class userTasksPool : ScriptableObject
|
||||
{
|
||||
[Header("Task Definitions")]
|
||||
public List<TaskDefinition> tasks = new List<TaskDefinition>();
|
||||
|
||||
[System.Serializable]
|
||||
public class TaskDefinition
|
||||
{
|
||||
|
||||
[Tooltip("Unique identifier for the task")]
|
||||
public string taskID;
|
||||
|
||||
[Tooltip("Description of the task shown to the user")]
|
||||
[TextArea(2, 4)]
|
||||
public string description;
|
||||
|
||||
[Tooltip("Type of the task logic")]
|
||||
public TaskType taskType;
|
||||
|
||||
[Tooltip("How often the task refreshes")]
|
||||
public RefreshFrequency refreshFrequency;
|
||||
|
||||
[Tooltip("Target value to complete the task (e.g., 100 combo, 3 songs)")]
|
||||
public float targetValue;
|
||||
|
||||
[Tooltip("Type of reward given upon completion")]
|
||||
public RewardType rewardType;
|
||||
|
||||
[Tooltip("Quantity of the reward")]
|
||||
public int rewardAmount;
|
||||
|
||||
[Tooltip("是否加入任务池")]
|
||||
public bool addToTaskPool = true;
|
||||
|
||||
}
|
||||
|
||||
public enum TaskType
|
||||
{
|
||||
Login,
|
||||
PlaySong,
|
||||
FullCombo,
|
||||
TotalScore,
|
||||
WatchStory,
|
||||
UseItem,
|
||||
ShareGame
|
||||
}
|
||||
|
||||
public enum RewardType
|
||||
{
|
||||
player_money,
|
||||
player_material,
|
||||
bottleOfEXP,
|
||||
playerEXP
|
||||
}
|
||||
|
||||
public enum RefreshFrequency
|
||||
{
|
||||
OnLogin,
|
||||
DailyReset,
|
||||
Never
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e466864f7f62639409ff977964559aba
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0b13cace4a3dfa459bf21f60dff3396
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,16 @@
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class taskPrefabController : MonoBehaviour
|
||||
{
|
||||
[Header("basic infos")]
|
||||
public TextMeshProUGUI taskNumber;
|
||||
public Text taskText;
|
||||
public Image taskProgress_fillAmount_img;
|
||||
|
||||
[Header("the rewards")]
|
||||
public Button rewardButton;
|
||||
public Image rewardImg;
|
||||
public Text rewardAmmount;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 388558abf6ff0334287c5b37f52f3185
|
||||
@@ -936,6 +936,11 @@ public class GfxController : MonoBehaviour
|
||||
Vector3 amplitude = isEnemy ? hitShakeAmplitude : allyHitShakeAmplitude;
|
||||
Vector3 frequency = isEnemy ? hitShakeFrequency : allyHitShakeFrequency;
|
||||
float duration = isEnemy ? hitShakeDuration : allyHitShakeDuration;
|
||||
if (isEnemy && teamUIController.Instance != null)
|
||||
{
|
||||
teamUIController.Instance.TriggerEnemySpineShake(amplitude, frequency, duration);
|
||||
}
|
||||
if (isEnemy) amplitude *= 0.5f;
|
||||
|
||||
// 配置震动参数
|
||||
ss.positionShake.noiseType = Shaker.NoiseType.SineWave;
|
||||
|
||||
@@ -58,6 +58,8 @@ public class groundParticularController : MonoBehaviour
|
||||
[SerializeField] private float spawnOffsetY = 0.5f;
|
||||
[Tooltip("速率系数,用于调节基础移动速度")]
|
||||
[SerializeField] private float speedMultiplier = 0.1f;
|
||||
[Tooltip("发射速度倍增器")]
|
||||
[SerializeField] private float emissionSpeedMultiplier = 1f;
|
||||
|
||||
[Tooltip("起点缩放抖动强度 (基于音频电平)")]
|
||||
[SerializeField] private float shakeIntensity = 0.1f;
|
||||
@@ -305,7 +307,7 @@ public class groundParticularController : MonoBehaviour
|
||||
float effectiveBPM = Mathf.Max(currentBPM, 60f);
|
||||
float noteSpeed = (totalDist * effectiveBPM * noteSpawnerSpeedMultiplier) / 240f;
|
||||
|
||||
float step = noteSpeed * speedMultiplier * Time.deltaTime;
|
||||
float step = noteSpeed * speedMultiplier * emissionSpeedMultiplier * Time.deltaTime;
|
||||
if (step <= 0) step = 0.01f;
|
||||
|
||||
traveledDist += step;
|
||||
|
||||
@@ -263,21 +263,21 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
budeff_img: {fileID: 1683133422533181130}
|
||||
thisBuff_numText: {fileID: 3693168874519918040}
|
||||
ot_maxHP_up: {fileID: 21300000, guid: b78103a3585c62b4ab1476c992952d4b, type: 3}
|
||||
ot_maxHP_down: {fileID: 21300000, guid: 1872411147c80bf418a92607f94de1c3, type: 3}
|
||||
ot_maxMana_up: {fileID: 21300000, guid: 778e9583c7c03684a9418c3a8986735e, type: 3}
|
||||
ot_maxMana_down: {fileID: 21300000, guid: 98665a30e5cd4434e9945b267c7d90eb, type: 3}
|
||||
ot_maxHP_up: {fileID: 21300000, guid: d80b4d857ac0e9c4b87f6e2195ad78c1, type: 3}
|
||||
ot_maxHP_down: {fileID: 21300000, guid: c35798d072f4f904dad51c171794e513, type: 3}
|
||||
ot_maxMana_up: {fileID: 21300000, guid: 0a66d19f101262c48bda435593f26d5a, type: 3}
|
||||
ot_maxMana_down: {fileID: 21300000, guid: 68acd2aeb6c2f7747876ab0d98efff01, type: 3}
|
||||
ot_bleeding: {fileID: 21300000, guid: b96c096057047ea48b68b8442db61d98, type: 3}
|
||||
ot_deephurt: {fileID: 21300000, guid: 7509bcc8c02a1b54b86eddd8006cbaa5, type: 3}
|
||||
ot_scoreEfficiency_up: {fileID: 21300000, guid: 4d450983b54420b4f8ee979354750a99, type: 3}
|
||||
ot_scoreEfficiency_down: {fileID: 21300000, guid: 126ea56f35425364e9c75628799a9bbc, type: 3}
|
||||
ot_atk_up: {fileID: 21300000, guid: 0752af1e15a96d54b91af2b44f9e2d6d, type: 3}
|
||||
ot_atk_down: {fileID: 21300000, guid: 644a1b8430e365946a7f93f4732f3194, type: 3}
|
||||
ot_defend_up: {fileID: 21300000, guid: c9ff9d141a12602498557c6200eb0150, type: 3}
|
||||
ot_defend_down: {fileID: 21300000, guid: 3996b8fce8699e240a4c3e97336dd80f, type: 3}
|
||||
ot_vulnerability: {fileID: 21300000, guid: 621ec14f2db2d214ca63396133070bee, type: 3}
|
||||
dmg_redirect_toSelf: {fileID: 21300000, guid: 5f13f11a0ed91a2449e466f1d738601e, type: 3}
|
||||
dmg_redirect_toAdjacent: {fileID: 21300000, guid: ab08fdb2321369c47a219139f52ef38f, type: 3}
|
||||
ot_deephurt: {fileID: 21300000, guid: 692a46602d164f74fb6d3020d9c0ab82, type: 3}
|
||||
ot_scoreEfficiency_up: {fileID: 21300000, guid: eea01bd078fd1744a8e01ff102a513d8, type: 3}
|
||||
ot_scoreEfficiency_down: {fileID: 21300000, guid: 1c95e1cce8719114e9ddd8e6554b5c59, type: 3}
|
||||
ot_atk_up: {fileID: 21300000, guid: 4ae64fea67d80e641b08241438a93c1c, type: 3}
|
||||
ot_atk_down: {fileID: 21300000, guid: 56ad40a4ba9c5254587b988c46b981a9, type: 3}
|
||||
ot_defend_up: {fileID: 21300000, guid: e21e735abe1692442bf3ee2c58a119c4, type: 3}
|
||||
ot_defend_down: {fileID: 21300000, guid: f773f649d48b3384caa44dfcee2e15b5, type: 3}
|
||||
ot_vulnerability: {fileID: 21300000, guid: ba83152a6fcffb24899119ba44cae403, type: 3}
|
||||
dmg_redirect_toSelf: {fileID: 21300000, guid: d11b1c841cccade4c9f1c254d671ae15, type: 3}
|
||||
dmg_redirect_toAdjacent: {fileID: 21300000, guid: 54492507a5422564aa5db7c7ef96311e, type: 3}
|
||||
ot_maxHP_up_color: {r: 0.19215688, g: 0.8117648, b: 0.65882355, a: 0}
|
||||
ot_maxHP_down_color: {r: 0.10588236, g: 0.47058827, b: 0.3921569, a: 0}
|
||||
ot_maxMana_up_color: {r: 0.2784314, g: 0.75294125, b: 1, a: 0}
|
||||
|
||||
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d11b1c841cccade4c9f1c254d671ae15
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 2940924194230668106
|
||||
second: "\u4EA4\u7ED9\u6211\uFF01_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u4EA4\u7ED9\u6211\uFF01_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: a4b887419f240d820800000000000000
|
||||
internalID: 2940924194230668106
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u4EA4\u7ED9\u6211\uFF01_0": 2940924194230668106
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f773f649d48b3384caa44dfcee2e15b5
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -8194844916796625118
|
||||
second: "\u4F24\u5BB3\u6297\u6027\u4E0B\u964D_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u4F24\u5BB3\u6297\u6027\u4E0B\u964D_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 22febe067ff064e80800000000000000
|
||||
internalID: -8194844916796625118
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u4F24\u5BB3\u6297\u6027\u4E0B\u964D_0": -8194844916796625118
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e21e735abe1692442bf3ee2c58a119c4
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 1204552056363648686
|
||||
second: "\u4F24\u5BB3\u6297\u6027\u63D0\u5347_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u4F24\u5BB3\u6297\u6027\u63D0\u5347_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: ea6850996bd67b010800000000000000
|
||||
internalID: 1204552056363648686
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u4F24\u5BB3\u6297\u6027\u63D0\u5347_0": 1204552056363648686
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 692a46602d164f74fb6d3020d9c0ab82
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 2060476642673035626
|
||||
second: "\u533B\u6CBB\u53D7\u963B_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u533B\u6CBB\u53D7\u963B_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: a690482f698489c10800000000000000
|
||||
internalID: 2060476642673035626
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u533B\u6CBB\u53D7\u963B_0": 2060476642673035626
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c95e1cce8719114e9ddd8e6554b5c59
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -7794667140561492609
|
||||
second: "\u5F97\u5206\u6548\u7387\u4E0B\u964D_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u5F97\u5206\u6548\u7387\u4E0B\u964D_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: f752c689887c3d390800000000000000
|
||||
internalID: -7794667140561492609
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u5F97\u5206\u6548\u7387\u4E0B\u964D_0": -7794667140561492609
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eea01bd078fd1744a8e01ff102a513d8
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 3599803830119957200
|
||||
second: "\u5F97\u5206\u6548\u7387\u63D0\u5347_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u5F97\u5206\u6548\u7387\u63D0\u5347_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 0d2046bc28215f130800000000000000
|
||||
internalID: 3599803830119957200
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u5F97\u5206\u6548\u7387\u63D0\u5347_0": 3599803830119957200
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 56ad40a4ba9c5254587b988c46b981a9
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 849028659724370974
|
||||
second: "\u6218\u6597\u6C34\u5E73\u4E0B\u964D_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6218\u6597\u6C34\u5E73\u4E0B\u964D_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: e144ff2511b58cb00800000000000000
|
||||
internalID: 849028659724370974
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6218\u6597\u6C34\u5E73\u4E0B\u964D_0": 849028659724370974
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ae64fea67d80e641b08241438a93c1c
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -1691054507493925294
|
||||
second: "\u6218\u6597\u6C34\u5E73\u63D0\u5347_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6218\u6597\u6C34\u5E73\u63D0\u5347_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 25e500192ea2888e0800000000000000
|
||||
internalID: -1691054507493925294
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6218\u6597\u6C34\u5E73\u63D0\u5347_0": -1691054507493925294
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 68acd2aeb6c2f7747876ab0d98efff01
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -5303155479627118959
|
||||
second: "\u6CD5\u529B\u50A8\u5907\u4E0B\u964D_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6CD5\u529B\u50A8\u5907\u4E0B\u964D_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 196c82840386766b0800000000000000
|
||||
internalID: -5303155479627118959
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6CD5\u529B\u50A8\u5907\u4E0B\u964D_0": -5303155479627118959
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0a66d19f101262c48bda435593f26d5a
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -5132816092502637544
|
||||
second: "\u6CD5\u529B\u50A8\u5907\u63D0\u5347_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6CD5\u529B\u50A8\u5907\u63D0\u5347_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 814c8fc65f294c8b0800000000000000
|
||||
internalID: -5132816092502637544
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6CD5\u529B\u50A8\u5907\u63D0\u5347_0": -5132816092502637544
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 78ce8caecf18937469b951d371fce933
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 4554933714475674103
|
||||
second: "\u6CD5\u529B\u5FAA\u73AF_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u6CD5\u529B\u5FAA\u73AF_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 7f9e5ca8410663f30800000000000000
|
||||
internalID: 4554933714475674103
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u6CD5\u529B\u5FAA\u73AF_0": 4554933714475674103
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 26 KiB |
@@ -116,10 +116,10 @@ TextureImporter:
|
||||
name: "\u6D41\u8840_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1
|
||||
y: 1
|
||||
width: 198
|
||||
height: 198
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c35798d072f4f904dad51c171794e513
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: -2113857464944767113
|
||||
second: "\u751F\u547D\u529B\u4E0B\u964D_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u751F\u547D\u529B\u4E0B\u964D_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 77fc828d5d11aa2e0800000000000000
|
||||
internalID: -2113857464944767113
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u751F\u547D\u529B\u4E0B\u964D_0": -2113857464944767113
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d80b4d857ac0e9c4b87f6e2195ad78c1
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 1881435168839039822
|
||||
second: "\u751F\u547D\u529B\u63D0\u5347_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u751F\u547D\u529B\u63D0\u5347_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: e4bf39a51533c1a10800000000000000
|
||||
internalID: 1881435168839039822
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u751F\u547D\u529B\u63D0\u5347_0": 1881435168839039822
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,10 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 621ec14f2db2d214ca63396133070bee
|
||||
guid: ba83152a6fcffb24899119ba44cae403
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 2513150175667285638
|
||||
second: "\u788E\u7532_0"
|
||||
213: 5687652420510981266
|
||||
second: "\u788E\u7532 (1)_0"
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
@@ -113,13 +113,13 @@ TextureImporter:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u788E\u7532_0"
|
||||
name: "\u788E\u7532 (1)_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 3
|
||||
y: 3
|
||||
width: 194
|
||||
height: 194
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
@@ -128,8 +128,8 @@ TextureImporter:
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 68eebdff4c080e220800000000000000
|
||||
internalID: 2513150175667285638
|
||||
spriteID: 29c9272fdb99eee40800000000000000
|
||||
internalID: 5687652420510981266
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
@@ -148,7 +148,7 @@ TextureImporter:
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u788E\u7532_0": 2513150175667285638
|
||||
"\u788E\u7532 (1)_0": 5687652420510981266
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
|
||||
|
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,156 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 54492507a5422564aa5db7c7ef96311e
|
||||
TextureImporter:
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
213: 8049906687661920951
|
||||
second: "\u90FD\u7ED9\u4F60\uFF01_0"
|
||||
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: 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
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: "\u90FD\u7ED9\u4F60\uFF01_0"
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 200
|
||||
height: 200
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: -1
|
||||
bones: []
|
||||
spriteID: 7b251217b7307bf60800000000000000
|
||||
internalID: 8049906687661920951
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable:
|
||||
"\u90FD\u7ED9\u4F60\uFF01_0": 8049906687661920951
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -65,8 +65,8 @@ MonoBehaviour:
|
||||
y_ofst: 0
|
||||
xy_rdm_spawnP: 50
|
||||
rdm_rotation_range: 10
|
||||
rdm_scale_min: 1.5
|
||||
rdm_scale_max: 2
|
||||
rdm_scale_min: 1.25
|
||||
rdm_scale_max: 1.5
|
||||
jump_force: 125
|
||||
fadeout_awaitTime: 0.5
|
||||
fadeout_time: 0.25
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine;
|
||||
using Spine;
|
||||
using Spine.Unity;
|
||||
using SmoothShakeFree;
|
||||
using UnityEngine.UI;
|
||||
using TMPro;
|
||||
using System.Collections.Generic;
|
||||
@@ -89,6 +92,10 @@ public class teamUIController : MonoBehaviour
|
||||
|
||||
private Coroutine _victoryMoveCoroutine;
|
||||
private Coroutine _victorySaturationCoroutine;
|
||||
private Coroutine _spineFlashCoroutine;
|
||||
private Coroutine _spineSpawnFadeCoroutine;
|
||||
private bool _pendingSpineSpawnFadeIn;
|
||||
private const float SPINE_SPAWN_FADE_DURATION = 0.5f;
|
||||
|
||||
[Header("Ally Statistics (Real-time)")]
|
||||
[Tooltip("Total damage dealt to enemies by each of the 5 ally slots.")]
|
||||
@@ -767,6 +774,14 @@ public class teamUIController : MonoBehaviour
|
||||
private Coroutine enemyFadeManaCoroutine;
|
||||
private int prevEnemyHP = -1;
|
||||
private int prevEnemyMana = -1;
|
||||
private SkeletonDataAsset _currentEnemySkeletonDataAsset;
|
||||
private SkeletonGraphic _enemySkeletonGraphic;
|
||||
private SkeletonAnimation _enemySkeletonAnimation;
|
||||
private float[] _spineBoundsTemp;
|
||||
private SkeletonClipping _spineBoundsClipping;
|
||||
private Coroutine _enemySpineDeathCoroutine;
|
||||
private const string EnemyIdleAnimationName = "idle";
|
||||
private const string EnemyDieAnimationName = "die";
|
||||
|
||||
// For total enemy health bar
|
||||
private int totalMaxHP = 0; // Documentation text normalized.
|
||||
@@ -1013,6 +1028,17 @@ public class teamUIController : MonoBehaviour
|
||||
public Image currentEnemy_hurtRedImage;
|
||||
[Tooltip("Documentation text normalized.")]
|
||||
public TextMeshProUGUI enemyList_rateText;
|
||||
[SerializeField] private GameObject _spineSystemObject;
|
||||
[SerializeField] private GameObject _imgSystemObject;
|
||||
[SerializeField] private RectTransform spine_to_put;
|
||||
[SerializeField] private Image spine_to_put_referenceImage;
|
||||
[SerializeField] private Color spineHurtFlashColor = new Color(1f, 0.2f, 0.2f, 1f);
|
||||
[SerializeField] private float spineUniformHeight = 0f;
|
||||
public float SpineUniformHeight
|
||||
{
|
||||
get => spineUniformHeight;
|
||||
set => spineUniformHeight = value;
|
||||
}
|
||||
|
||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||
void Start()
|
||||
@@ -1105,6 +1131,9 @@ public class teamUIController : MonoBehaviour
|
||||
Instance = this;
|
||||
else
|
||||
Destroy(gameObject);
|
||||
|
||||
EnsureSpineSystemObject();
|
||||
EnsureImgSystemObject();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1377,11 +1406,201 @@ public class teamUIController : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void EnsureSpineSystemObject()
|
||||
{
|
||||
if (spine_to_put != null)
|
||||
{
|
||||
_spineSystemObject = spine_to_put.gameObject;
|
||||
}
|
||||
if (_spineSystemObject == null)
|
||||
{
|
||||
Transform searchRoot = objectFather_enemy != null ? objectFather_enemy.transform : transform;
|
||||
var existing = searchRoot.Find("spinesystemobject");
|
||||
if (existing != null)
|
||||
{
|
||||
_spineSystemObject = existing.gameObject;
|
||||
}
|
||||
}
|
||||
if (_spineSystemObject == null)
|
||||
{
|
||||
_spineSystemObject = new GameObject("spinesystemobject", typeof(RectTransform));
|
||||
}
|
||||
if (spine_to_put == null)
|
||||
{
|
||||
Transform targetParent = objectFather_enemy != null ? objectFather_enemy.transform : (currentEnemy_characterImage != null ? currentEnemy_characterImage.transform : transform);
|
||||
if (_spineSystemObject.transform.parent != targetParent)
|
||||
{
|
||||
_spineSystemObject.transform.SetParent(targetParent, false);
|
||||
}
|
||||
}
|
||||
if (_enemySkeletonGraphic == null)
|
||||
{
|
||||
_enemySkeletonGraphic = _spineSystemObject.GetComponent<SkeletonGraphic>();
|
||||
if (_enemySkeletonGraphic == null) _enemySkeletonGraphic = _spineSystemObject.AddComponent<SkeletonGraphic>();
|
||||
}
|
||||
if (_enemySkeletonAnimation == null || _enemySkeletonAnimation.gameObject != _spineSystemObject)
|
||||
{
|
||||
_enemySkeletonAnimation = _spineSystemObject.GetComponent<SkeletonAnimation>();
|
||||
if (_enemySkeletonAnimation == null) _enemySkeletonAnimation = _spineSystemObject.AddComponent<SkeletonAnimation>();
|
||||
}
|
||||
}
|
||||
|
||||
private void EnsureImgSystemObject()
|
||||
{
|
||||
if (_imgSystemObject == null)
|
||||
{
|
||||
Transform searchRoot = objectFather_enemy != null ? objectFather_enemy.transform : transform;
|
||||
var existing = searchRoot.Find("imgSys");
|
||||
if (existing != null)
|
||||
{
|
||||
_imgSystemObject = existing.gameObject;
|
||||
}
|
||||
}
|
||||
if (_imgSystemObject == null)
|
||||
{
|
||||
_imgSystemObject = new GameObject("imgSys", typeof(RectTransform));
|
||||
}
|
||||
Transform targetParent = objectFather_enemy != null ? objectFather_enemy.transform : (currentEnemy_characterImage != null ? currentEnemy_characterImage.transform.parent : transform);
|
||||
if (_imgSystemObject.transform.parent != targetParent)
|
||||
{
|
||||
_imgSystemObject.transform.SetParent(targetParent, false);
|
||||
}
|
||||
var rect = _imgSystemObject.GetComponent<RectTransform>();
|
||||
if (rect != null)
|
||||
{
|
||||
rect.anchorMin = Vector2.zero;
|
||||
rect.anchorMax = Vector2.one;
|
||||
rect.offsetMin = Vector2.zero;
|
||||
rect.offsetMax = Vector2.zero;
|
||||
}
|
||||
if (currentEnemy_characterImage != null && currentEnemy_characterImage.transform.parent != _imgSystemObject.transform)
|
||||
{
|
||||
currentEnemy_characterImage.transform.SetParent(_imgSystemObject.transform, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateSpineRectForHeight(EnemyData_SO so)
|
||||
{
|
||||
if (_enemySkeletonGraphic == null) return;
|
||||
if (so == null) return;
|
||||
var rect = _enemySkeletonGraphic.rectTransform;
|
||||
if (rect == null) return;
|
||||
float targetHeight = spineUniformHeight;
|
||||
if (targetHeight <= 0f && spine_to_put_referenceImage != null) targetHeight = spine_to_put_referenceImage.rectTransform.rect.height;
|
||||
else if (targetHeight <= 0f && currentEnemy_characterImage != null) targetHeight = currentEnemy_characterImage.rectTransform.rect.height;
|
||||
if (targetHeight <= 0f) return;
|
||||
var skeleton = _enemySkeletonGraphic.Skeleton;
|
||||
if (skeleton == null) return;
|
||||
if (_spineBoundsClipping == null) _spineBoundsClipping = new SkeletonClipping();
|
||||
float minX;
|
||||
float minY;
|
||||
float width;
|
||||
float height;
|
||||
skeleton.GetBounds(out minX, out minY, out width, out height, ref _spineBoundsTemp, _spineBoundsClipping);
|
||||
float skeletonHeight = height;
|
||||
float skeletonWidth = width;
|
||||
if (skeletonHeight <= 0f || skeletonWidth <= 0f) return;
|
||||
float targetWidth = skeletonWidth * (targetHeight / skeletonHeight);
|
||||
float ratio = so.ScaleRatio;
|
||||
if (ratio <= 0f) ratio = 1f;
|
||||
rect.anchorMin = new Vector2(0.5f, 0.5f);
|
||||
rect.anchorMax = new Vector2(0.5f, 0.5f);
|
||||
rect.pivot = new Vector2(0.5f, 0.5f);
|
||||
rect.sizeDelta = new Vector2(targetWidth, targetHeight);
|
||||
rect.anchoredPosition = Vector2.zero;
|
||||
if (spine_to_put != null)
|
||||
{
|
||||
float xScale = so.FlipX ? -ratio : ratio;
|
||||
spine_to_put.localScale = new Vector3(xScale, ratio, 1f);
|
||||
spine_to_put.anchoredPosition = new Vector2(so.XOffset, so.YOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.sizeDelta = new Vector2(targetWidth * ratio, targetHeight * ratio);
|
||||
rect.anchoredPosition = new Vector2(so.XOffset, so.YOffset);
|
||||
rect.localScale = new Vector3(so.FlipX ? -1f : 1f, 1f, 1f);
|
||||
}
|
||||
}
|
||||
|
||||
private TrackEntry TryPlayEnemySpineAnimation(string animationName, bool loop)
|
||||
{
|
||||
if (_enemySkeletonGraphic == null) return null;
|
||||
var skeleton = _enemySkeletonGraphic.Skeleton;
|
||||
if (skeleton == null) return null;
|
||||
if (skeleton.Data.FindAnimation(animationName) == null) return null;
|
||||
if (_enemySkeletonAnimation == null) return null;
|
||||
var state = _enemySkeletonAnimation.AnimationState;
|
||||
if (state == null) return null;
|
||||
return state.SetAnimation(0, animationName, loop);
|
||||
}
|
||||
|
||||
private IEnumerator PlayEnemyDieThenAdvance(float delay)
|
||||
{
|
||||
yield return new WaitForSeconds(delay);
|
||||
_enemySpineDeathCoroutine = null;
|
||||
enemyCurrentCount++;
|
||||
SpawnNextEnemy();
|
||||
}
|
||||
|
||||
private void ApplyEnemyVisuals(EnemyData_SO so)
|
||||
{
|
||||
if (so == null)
|
||||
{
|
||||
_currentEnemySkeletonDataAsset = null;
|
||||
if (_spineSystemObject != null) _spineSystemObject.SetActive(false);
|
||||
if (_imgSystemObject != null) _imgSystemObject.SetActive(false);
|
||||
if (currentEnemy_characterImage != null) currentEnemy_characterImage.sprite = null;
|
||||
return;
|
||||
}
|
||||
|
||||
if (so.skeletonDataAsset != null)
|
||||
{
|
||||
_currentEnemySkeletonDataAsset = so.skeletonDataAsset;
|
||||
EnsureSpineSystemObject();
|
||||
EnsureImgSystemObject();
|
||||
if (_enemySkeletonAnimation != null)
|
||||
{
|
||||
_enemySkeletonAnimation.skeletonDataAsset = _currentEnemySkeletonDataAsset;
|
||||
_enemySkeletonAnimation.Initialize(true);
|
||||
}
|
||||
if (_enemySkeletonGraphic != null)
|
||||
{
|
||||
_enemySkeletonGraphic.skeletonDataAsset = _currentEnemySkeletonDataAsset;
|
||||
_enemySkeletonGraphic.Initialize(true);
|
||||
UpdateSpineRectForHeight(so);
|
||||
TryPlayEnemySpineAnimation(EnemyIdleAnimationName, true);
|
||||
}
|
||||
if (_spineSystemObject != null) _spineSystemObject.SetActive(true);
|
||||
if (_imgSystemObject != null) _imgSystemObject.SetActive(false);
|
||||
if (currentEnemy_characterImage != null) currentEnemy_characterImage.sprite = null;
|
||||
return;
|
||||
}
|
||||
|
||||
_currentEnemySkeletonDataAsset = null;
|
||||
if (_spineSystemObject != null) _spineSystemObject.SetActive(false);
|
||||
EnsureImgSystemObject();
|
||||
if (_imgSystemObject != null) _imgSystemObject.SetActive(true);
|
||||
if (currentEnemy_characterImage != null)
|
||||
{
|
||||
var sprite = so.enemy_Profile != null ? so.enemy_Profile : so.enemy_Image;
|
||||
if (sprite != null) currentEnemy_characterImage.sprite = sprite;
|
||||
else currentEnemy_characterImage.sprite = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void SpawnNextEnemy()
|
||||
{
|
||||
if (_enemySpineDeathCoroutine != null)
|
||||
{
|
||||
StopCoroutine(_enemySpineDeathCoroutine);
|
||||
_enemySpineDeathCoroutine = null;
|
||||
}
|
||||
// handle case: no configured/recognized enemies -> show empty state but keep UI visible
|
||||
if (recognizedEnemySOs == null || recognizedEnemySOs.Length == 0)
|
||||
{
|
||||
_currentEnemySkeletonDataAsset = null;
|
||||
if (_spineSystemObject != null) _spineSystemObject.SetActive(false);
|
||||
if (_imgSystemObject != null) _imgSystemObject.SetActive(false);
|
||||
if (objectFather_enemy != null) objectFather_enemy.SetActive(true);
|
||||
if (currentEnemy_nameText != null) currentEnemy_nameText.text = "(No Enemy)";
|
||||
if (currentEnemy_characterImage != null) currentEnemy_characterImage.sprite = null;
|
||||
@@ -1401,8 +1620,11 @@ public class teamUIController : MonoBehaviour
|
||||
if (enemyCurrentCount >= recognizedEnemySOs.Length)
|
||||
{
|
||||
// All enemies processed: show empty/finished state but keep UI visible
|
||||
_currentEnemySkeletonDataAsset = null;
|
||||
if (_spineSystemObject != null) _spineSystemObject.SetActive(false);
|
||||
if (_imgSystemObject != null) _imgSystemObject.SetActive(false);
|
||||
if (objectFather_enemy != null) objectFather_enemy.SetActive(true);
|
||||
if (currentEnemy_nameText != null) currentEnemy_nameText.text = "(All Defeated)";
|
||||
if (currentEnemy_nameText != null) currentEnemy_nameText.text = "所有敌人已被击败";
|
||||
// if (currentEnemy_characterImage != null) currentEnemy_characterImage.sprite = null;
|
||||
if (currentEnemy_healthImage != null) currentEnemy_healthImage.fillAmount = 0f;
|
||||
if (currentEnemy_fadehealthImage != null) currentEnemy_fadehealthImage.fillAmount = 0f;
|
||||
@@ -1435,12 +1657,8 @@ public class teamUIController : MonoBehaviour
|
||||
// set UI visuals (name / sprites)
|
||||
string enemyName = so.enemyName ?? so.name;
|
||||
if (currentEnemy_nameText != null) currentEnemy_nameText.text = enemyName;
|
||||
if (currentEnemy_characterImage != null)
|
||||
{
|
||||
var sprite = so.enemy_Profile != null ? so.enemy_Profile : so.enemy_Image;
|
||||
if (sprite != null) currentEnemy_characterImage.sprite = sprite;
|
||||
else currentEnemy_characterImage.sprite = null;
|
||||
}
|
||||
ApplyEnemyVisuals(so);
|
||||
TryStartEnemySpineSpawnFade(so);
|
||||
|
||||
// Push spawn message to feed
|
||||
SkillTriggerFeedUI.PushEnemySpawn(enemyName);
|
||||
@@ -1600,9 +1818,10 @@ public class teamUIController : MonoBehaviour
|
||||
{
|
||||
// Push death message to feed before advancing
|
||||
string eName = "Unknown Enemy";
|
||||
EnemyData_SO so = null;
|
||||
if (enemyCurrentCount >= 0 && enemyCurrentCount < recognizedEnemySOs.Length)
|
||||
{
|
||||
var so = recognizedEnemySOs[enemyCurrentCount];
|
||||
so = recognizedEnemySOs[enemyCurrentCount];
|
||||
if (so != null) eName = so.enemyName ?? so.name;
|
||||
}
|
||||
SkillTriggerFeedUI.PushEnemyDeath(eName);
|
||||
@@ -1613,7 +1832,28 @@ public class teamUIController : MonoBehaviour
|
||||
BeatmapManager.Instance.enemyBallLoader.OnEnemyDefeated();
|
||||
}
|
||||
|
||||
// advance to next enemy after death
|
||||
if (so != null && so.skeletonDataAsset != null)
|
||||
{
|
||||
var entry = TryPlayEnemySpineAnimation(EnemyDieAnimationName, false);
|
||||
float delay = 0f;
|
||||
if (entry != null)
|
||||
{
|
||||
delay = entry.AnimationEnd - entry.AnimationStart;
|
||||
if (delay <= 0f && entry.Animation != null) delay = entry.Animation.Duration;
|
||||
}
|
||||
if (delay > 0f)
|
||||
{
|
||||
if (_enemySpineDeathCoroutine != null)
|
||||
{
|
||||
StopCoroutine(_enemySpineDeathCoroutine);
|
||||
_enemySpineDeathCoroutine = null;
|
||||
}
|
||||
_pendingSpineSpawnFadeIn = true;
|
||||
_enemySpineDeathCoroutine = StartCoroutine(PlayEnemyDieThenAdvance(delay));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
enemyCurrentCount++;
|
||||
SpawnNextEnemy();
|
||||
}
|
||||
@@ -1968,6 +2208,15 @@ public class teamUIController : MonoBehaviour
|
||||
|
||||
public void TriggerEnemyHurtFlash()
|
||||
{
|
||||
if (_currentEnemySkeletonDataAsset != null && _enemySkeletonGraphic != null)
|
||||
{
|
||||
if (_spineFlashCoroutine != null) StopCoroutine(_spineFlashCoroutine);
|
||||
_enemySkeletonGraphic.color = Color.white;
|
||||
_enemySkeletonGraphic.Skeleton.SetColor(Color.white);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
_spineFlashCoroutine = StartCoroutine(SpineHurtFlash());
|
||||
return;
|
||||
}
|
||||
if (currentEnemy_hurtRedImage == null) return;
|
||||
StopCoroutine("EnemyHurtFlash");
|
||||
StartCoroutine(EnemyHurtFlash());
|
||||
@@ -1993,6 +2242,129 @@ public class teamUIController : MonoBehaviour
|
||||
currentEnemy_hurtRedImage.color = c;
|
||||
}
|
||||
|
||||
private IEnumerator SpineHurtFlash()
|
||||
{
|
||||
if (_enemySkeletonGraphic == null) yield break;
|
||||
Color original = _enemySkeletonGraphic.color;
|
||||
Color originalSkeleton = _enemySkeletonGraphic.Skeleton.GetColor();
|
||||
Color target = spineHurtFlashColor;
|
||||
target.a = 1f;
|
||||
_enemySkeletonGraphic.color = target;
|
||||
_enemySkeletonGraphic.Skeleton.SetColor(target);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
yield return new WaitForSeconds(0.02f);
|
||||
float dur = 0.08f;
|
||||
float t = 0f;
|
||||
while (t < dur)
|
||||
{
|
||||
t += Time.deltaTime;
|
||||
Color lerped = Color.Lerp(target, original, t / dur);
|
||||
_enemySkeletonGraphic.color = lerped;
|
||||
_enemySkeletonGraphic.Skeleton.SetColor(lerped);
|
||||
yield return null;
|
||||
}
|
||||
_enemySkeletonGraphic.color = original;
|
||||
_enemySkeletonGraphic.Skeleton.SetColor(originalSkeleton);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
_spineFlashCoroutine = null;
|
||||
}
|
||||
|
||||
private void TryStartEnemySpineSpawnFade(EnemyData_SO so)
|
||||
{
|
||||
if (_spineSpawnFadeCoroutine != null)
|
||||
{
|
||||
StopCoroutine(_spineSpawnFadeCoroutine);
|
||||
_spineSpawnFadeCoroutine = null;
|
||||
}
|
||||
if (!_pendingSpineSpawnFadeIn)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_pendingSpineSpawnFadeIn = false;
|
||||
if (so == null || so.skeletonDataAsset == null || _enemySkeletonGraphic == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
_spineSpawnFadeCoroutine = StartCoroutine(EnemySpineSpawnFade(SPINE_SPAWN_FADE_DURATION));
|
||||
}
|
||||
|
||||
private IEnumerator EnemySpineSpawnFade(float duration)
|
||||
{
|
||||
if (_enemySkeletonGraphic == null)
|
||||
{
|
||||
_spineSpawnFadeCoroutine = null;
|
||||
yield break;
|
||||
}
|
||||
var skeleton = _enemySkeletonGraphic.Skeleton;
|
||||
if (skeleton == null)
|
||||
{
|
||||
_spineSpawnFadeCoroutine = null;
|
||||
yield break;
|
||||
}
|
||||
Color baseColor = _enemySkeletonGraphic.color;
|
||||
Color baseSkeleton = skeleton.GetColor();
|
||||
baseColor.a = 1f;
|
||||
baseSkeleton.a = 1f;
|
||||
Color startColor = baseColor;
|
||||
Color startSkeleton = baseSkeleton;
|
||||
startColor.a = 0f;
|
||||
startSkeleton.a = 0f;
|
||||
_enemySkeletonGraphic.color = startColor;
|
||||
skeleton.SetColor(startSkeleton);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
if (duration <= 0f)
|
||||
{
|
||||
_enemySkeletonGraphic.color = baseColor;
|
||||
skeleton.SetColor(baseSkeleton);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
_spineSpawnFadeCoroutine = null;
|
||||
yield break;
|
||||
}
|
||||
float t = 0f;
|
||||
while (t < duration)
|
||||
{
|
||||
t += Time.deltaTime;
|
||||
float alpha = Mathf.Clamp01(t / duration);
|
||||
Color c = baseColor;
|
||||
Color sc = baseSkeleton;
|
||||
c.a = alpha;
|
||||
sc.a = alpha;
|
||||
_enemySkeletonGraphic.color = c;
|
||||
skeleton.SetColor(sc);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
yield return null;
|
||||
}
|
||||
_enemySkeletonGraphic.color = baseColor;
|
||||
skeleton.SetColor(baseSkeleton);
|
||||
_enemySkeletonGraphic.UpdateMesh(true);
|
||||
_spineSpawnFadeCoroutine = null;
|
||||
}
|
||||
|
||||
public void TriggerEnemySpineShake(Vector3 amplitude, Vector3 frequency, float duration)
|
||||
{
|
||||
if (_currentEnemySkeletonDataAsset == null) return;
|
||||
if (spine_to_put == null) return;
|
||||
SmoothShake ss = spine_to_put.GetComponent<SmoothShake>();
|
||||
if (ss == null) ss = spine_to_put.gameObject.AddComponent<SmoothShake>();
|
||||
if (ss.positionShake == null) ss.positionShake = new Shaker();
|
||||
if (ss.rotationShake == null) ss.rotationShake = new Shaker();
|
||||
Vector3 halfAmplitude = amplitude * 0.5f;
|
||||
ss.positionShake.noiseType = Shaker.NoiseType.SineWave;
|
||||
ss.positionShake.amplitude = halfAmplitude;
|
||||
ss.positionShake.frequency = frequency;
|
||||
ss.rotationShake.amplitude = Vector3.zero;
|
||||
ss.timeSettings.constantShake = false;
|
||||
ss.timeSettings.fadeInDuration = 0.05f;
|
||||
ss.timeSettings.holdDuration = duration * 0.4f;
|
||||
ss.timeSettings.fadeOutDuration = duration * 0.55f;
|
||||
if (ss.timeSettings.fadeInCurve == null || ss.timeSettings.fadeInCurve.length == 0)
|
||||
ss.timeSettings.fadeInCurve = AnimationCurve.Linear(0, 0, 1, 1);
|
||||
if (ss.timeSettings.fadeOutCurve == null || ss.timeSettings.fadeOutCurve.length == 0)
|
||||
ss.timeSettings.fadeOutCurve = AnimationCurve.Linear(0, 1, 1, 0);
|
||||
ss.enabled = false;
|
||||
ss.enabled = true;
|
||||
}
|
||||
|
||||
public void TriggerAllyHurtFlash(int slotIndex)
|
||||
{
|
||||
Image img = null;
|
||||
|
||||