This commit is contained in:
hho210 2024-12-17 22:37:42 +09:00
commit 74631ab062
387 changed files with 39436 additions and 10786 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -18,19 +18,19 @@ MonoBehaviour:
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.1
m_Value: 1.3
intensity:
m_OverrideState: 1
m_Value: 0.25
m_Value: 50
scatter:
m_OverrideState: 1
m_Value: 0.35
m_Value: 0.3
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 1
m_Value: {r: 0.9339623, g: 0.7637582, b: 0.7533375, a: 1}
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 0
m_Value: 0
@ -112,28 +112,28 @@ MonoBehaviour:
active: 0
mode:
m_OverrideState: 1
m_Value: 0
m_Value: 1
gaussianStart:
m_OverrideState: 1
m_Value: 200
m_Value: 0
gaussianEnd:
m_OverrideState: 1
m_Value: 3000
m_Value: 0
gaussianMaxRadius:
m_OverrideState: 1
m_Value: 1.5
highQualitySampling:
m_OverrideState: 0
m_OverrideState: 1
m_Value: 0
focusDistance:
m_OverrideState: 1
m_Value: 152.5
m_Value: 10
aperture:
m_OverrideState: 1
m_Value: 5.4
m_Value: 5.6
focalLength:
m_OverrideState: 1
m_Value: 190
m_Value: 50
bladeCount:
m_OverrideState: 1
m_Value: 5
@ -158,16 +158,16 @@ MonoBehaviour:
active: 1
color:
m_OverrideState: 1
m_Value: {r: 0.0754717, g: 0.0754717, b: 0.0754717, a: 1}
m_Value: {r: 1, g: 1, b: 1, a: 1}
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0.35
m_Value: 0.15
smoothness:
m_OverrideState: 1
m_Value: 0.25
m_Value: 1
rounded:
m_OverrideState: 1
m_Value: 1
m_Value: 0

View File

@ -0,0 +1,173 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3848577592826383421
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 0
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.2
intensity:
m_OverrideState: 1
m_Value: 0.3
scatter:
m_OverrideState: 1
m_Value: 0.27
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 1
m_Value: {r: 1, g: 0.8077434, b: 0.7971698, a: 1}
highQualityFiltering:
m_OverrideState: 0
m_Value: 0
downscale:
m_OverrideState: 0
m_Value: 0
maxIterations:
m_OverrideState: 0
m_Value: 6
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !u!114 &-3394915221019087120
MonoBehaviour:
m_ObjectHideFlags: 3
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: 0}
m_Name: Grayscale
m_EditorClassIdentifier: Assembly-CSharp:BlueWater:Grayscale
active: 1
Intensity:
m_OverrideState: 1
m_Value: 1
--- !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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: TycoonTitleVolume
m_EditorClassIdentifier:
components:
- {fileID: 8563356217564074714}
- {fileID: -3848577592826383421}
- {fileID: 4404516855583877853}
--- !u!114 &1921075280319716275
MonoBehaviour:
m_ObjectHideFlags: 3
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: 5ba7ae2db732fa445ad4bbefe166c59f, type: 3}
m_Name: Grayscale
m_EditorClassIdentifier:
active: 1
<displayName>k__BackingField:
Intensity:
m_OverrideState: 1
m_Value: 0
IsActive: 0
--- !u!114 &4404516855583877853
MonoBehaviour:
m_ObjectHideFlags: 3
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: c01700fd266d6914ababb731e09af2eb, type: 3}
m_Name: DepthOfField
m_EditorClassIdentifier:
active: 0
mode:
m_OverrideState: 1
m_Value: 1
gaussianStart:
m_OverrideState: 1
m_Value: 0
gaussianEnd:
m_OverrideState: 1
m_Value: 0
gaussianMaxRadius:
m_OverrideState: 1
m_Value: 1.5
highQualitySampling:
m_OverrideState: 1
m_Value: 0
focusDistance:
m_OverrideState: 1
m_Value: 10
aperture:
m_OverrideState: 1
m_Value: 5.6
focalLength:
m_OverrideState: 1
m_Value: 50
bladeCount:
m_OverrideState: 1
m_Value: 5
bladeCurvature:
m_OverrideState: 1
m_Value: 1
bladeRotation:
m_OverrideState: 1
m_Value: 0
--- !u!114 &8563356217564074714
MonoBehaviour:
m_ObjectHideFlags: 3
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: 899c54efeace73346a0a16faa3afe726, type: 3}
m_Name: Vignette
m_EditorClassIdentifier:
active: 1
color:
m_OverrideState: 1
m_Value: {r: 0.0754717, g: 0.0754717, b: 0.0754717, a: 1}
center:
m_OverrideState: 1
m_Value: {x: 0.5, y: 0.5}
intensity:
m_OverrideState: 1
m_Value: 0.35
smoothness:
m_OverrideState: 1
m_Value: 0.25
rounded:
m_OverrideState: 1
m_Value: 1

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 90f596bc1a735a544985584af0b4180a
guid: 5bac0b8c55ddef84daff781165adc64b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b833bcae75f3f004684676cf4de35160
guid: 61024edd9ea49c94fad0f340e178e18c
DefaultImporter:
externalObjects: {}
userData:

View File

@ -24,6 +24,12 @@ namespace BlueWater.BehaviorTrees.Actions
public override void OnStart()
{
if (!_customer.CanVomit)
{
_canVomit = false;
return;
}
_customer.MoveMoneyCounter();
var random = Random.Range(0f, 100f);
if (random <= TycoonManager.Instance.TycoonStageController.StageDataSo.VomitingPercent)

View File

@ -21,7 +21,7 @@ namespace BlueWater.Npcs.Customers
{
public const string Idle = "Idle";
public const string Walk = "Run";
public const string Happy = "Happy";
public const string Happy = "HappyIdle";
public const string HappyRun = "HappyRun";
public const string Upset = "Upset";
public const string UpsetRun = "UpsetRun";
@ -31,6 +31,30 @@ namespace BlueWater.Npcs.Customers
public const string VomitingRun = "VomitingRun";
}
public static class CatSpineAnimation
{
public const string Idle = "Cat/Idle";
public const string Walk = "Cat/Run";
public const string Happy = "Cat/HappyIdle";
public const string HappyRun = "Cat/HappyRun";
public const string Upset = "Cat/Upset";
public const string UpsetRun = "Cat/UpsetRun";
public const string Vomiting = "Cat/Vomiting";
public const string VomitingForm = "Cat/VomitingForm";
public const string VomitingIdle = "Cat/VomitingIdle";
public const string VomitingRun = "Cat/VomitingRun";
}
public static class WitchSpineAnimation
{
public const string Idle = "Witch/Idle";
public const string Walk = "Witch/Run";
public const string Happy = "Witch/HappyIdle";
public const string HappyRun = "Witch/HappyRun";
public const string Upset = "Witch/Upset";
public const string UpsetRun = "Witch/UpsetRun";
}
public enum CustomerInteractionType
{
None = 0,
@ -39,8 +63,13 @@ namespace BlueWater.Npcs.Customers
public enum CustomerSkin
{
Casper = 0,
PumkinHead = 1
BigCat = 0,
Casper = 1,
CasperBlack = 2,
Cat = 3,
PumkinHead = 4,
Reaper = 5,
Witch = 6
}
public class Customer : MonoBehaviour, IPlayerInteraction, ICrewInteraction
@ -99,7 +128,6 @@ namespace BlueWater.Npcs.Customers
[field: SerializeField]
public string InteractionMessage { get; set; }
[field: Title("실시간 데이터")]
[field: SerializeField]
public LevelData CurrentLevelData { get; private set; }
@ -127,6 +155,7 @@ namespace BlueWater.Npcs.Customers
private CustomerInteractionType _customerInteractionType;
public bool IsMoving { get; private set; }
public bool CanVomit { get; private set; }
public bool IsVomited { get; private set; }
[SerializeField]
@ -148,7 +177,16 @@ namespace BlueWater.Npcs.Customers
}
}
public int CustomerSkin { get; private set; }
[Title("스킨 연출")]
[field: SerializeField]
public CustomerSkin CustomerSkin { get; private set; }
[SerializeField]
private Vector3 _bigSize = new(1.5f, 1.5f, 1.5f);
[SerializeField]
private Vector3 _smallSize = new(0.5f, 0.5f, 0.5f);
public int HurryTime { get; private set; }
private IAstarAI _astarAi;
@ -197,10 +235,20 @@ namespace BlueWater.Npcs.Customers
{
if (element.ToString().Equals(currentSkinName))
{
CustomerSkin = (int)element;
return;
CustomerSkin = element;
break;
}
}
if (CustomerSkin is CustomerSkin.BigCat or CustomerSkin.Witch)
{
CanVomit = false;
transform.localScale = _bigSize;
}
else
{
CanVomit = true;
}
}
private void Update()
@ -407,14 +455,14 @@ namespace BlueWater.Npcs.Customers
public virtual void ShowInteractionUi()
{
SpineController.EnableCustomMaterial();
//SpineController.EnableCustomMaterial();
EventManager.InvokeShowInteractionUi(InteractionMessage);
EventManager.InvokeHoldInteracting(0f);
}
public virtual void HideInteractionUi()
{
SpineController.DisableCustomMaterial();
//SpineController.DisableCustomMaterial();
EventManager.InvokeHideInteractionUi();
}
@ -485,6 +533,12 @@ namespace BlueWater.Npcs.Customers
var gold = (int)(CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier);
_moneyCounter.AddCurrentGold(gold);
if (!ES3.Load(SaveData.TutorialC, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialC);
ES3.Save(SaveData.TutorialC, true);
}
}
public void Vomit()
@ -520,6 +574,18 @@ namespace BlueWater.Npcs.Customers
RegisterPlayerInteraction();
EventManager.InvokeOrderedCocktail(this);
if (!ES3.Load(SaveData.TutorialB, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialB);
ES3.Save(SaveData.TutorialB, true);
}
if (!ES3.Load(SaveData.TutorialJ, false) && OrderedCocktailData.Idx == "Cocktail006")
{
EventManager.InvokeTutorial(TutorialName.TutorialJ);
ES3.Save(SaveData.TutorialJ, true);
}
}
public void MovePosition(Vector3 targetPosition)

View File

@ -6,7 +6,18 @@ namespace BlueWater.Npcs.Customers
{
public void EnterState(Customer character)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Happy, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Happy, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Happy, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Happy, true);
}
}
public void UpdateState(Customer character)

View File

@ -8,16 +8,62 @@ namespace BlueWater.Npcs.Customers
{
if (character.IsVomited)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingIdle, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.VomitingIdle, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingIdle, true);
}
}
else if (character.IsReceivedItem)
{
character.SpineController.PlayAnimation(character.IsOrderedCorrected ?
CustomerSpineAnimation.Happy : CustomerSpineAnimation.Upset, true);
if (character.IsOrderedCorrected)
{
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Happy, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Happy, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Happy, true);
}
}
else
{
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Upset, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Upset, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Upset, true);
}
}
}
else if (!character.IsReceivedItem)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Idle, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Idle, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Idle, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Idle, true);
}
}
}
@ -25,6 +71,18 @@ namespace BlueWater.Npcs.Customers
{
if (character.IsMoving)
{
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Idle, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Idle, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Idle, true);
}
character.StateMachineController.TransitionToState(character.WalkingState, character);
}
}

View File

@ -6,7 +6,18 @@ namespace BlueWater.Npcs.Customers
{
public void EnterState(Customer character)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Upset, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Upset, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Upset, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Upset, true);
}
}
public void UpdateState(Customer character)

View File

@ -10,7 +10,14 @@ namespace BlueWater.Npcs.Customers
public void EnterState(Customer character)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingForm, false);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.VomitingForm, false);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingForm, false);
}
}
public void UpdateState(Customer character)
@ -18,7 +25,14 @@ namespace BlueWater.Npcs.Customers
if (!_isVomiting && character.SpineController.IsAnimationComplete())
{
AudioManager.Instance.PlaySfx(_vomitSfxName);
character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Vomiting, false);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false);
}
_isVomiting = true;
}

View File

@ -8,16 +8,62 @@ namespace BlueWater.Npcs.Customers
{
if (character.IsVomited)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingRun, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.VomitingRun, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.VomitingRun, true);
}
}
else if (character.IsReceivedItem)
{
character.SpineController.PlayAnimation(character.IsOrderedCorrected ?
CustomerSpineAnimation.HappyRun : CustomerSpineAnimation.UpsetRun, true);
if (character.IsOrderedCorrected)
{
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.HappyRun, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.HappyRun, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.HappyRun, true);
}
}
else
{
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.UpsetRun, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.UpsetRun, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.UpsetRun, true);
}
}
}
else if (!character.IsReceivedItem)
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Walk, true);
if (character.CustomerSkin == CustomerSkin.Cat)
{
character.SpineController.PlayAnimation(CatSpineAnimation.Walk, true);
}
else if (character.CustomerSkin == CustomerSkin.Witch)
{
character.SpineController.PlayAnimation(WitchSpineAnimation.Walk, true);
}
else
{
character.SpineController.PlayAnimation(CustomerSpineAnimation.Walk, true);
}
}
}

View File

@ -78,9 +78,11 @@ namespace BlueWater.Players.Tycoons
public void OnDevelopKey01(InputAction.CallbackContext context)
{
#if UNITY_EDITOR
EventManager.InvokeCreateServerCrew();
EventManager.InvokeCreateCleanerCrew();
EventManager.InvokeCreateBartenderCrew();
#endif
}
#endregion

View File

@ -38,14 +38,14 @@ namespace BlueWater.Players.Tycoons
_isMoving = value;
if (_isMoving)
{
AudioManager.Instance.PlaySfx(_walkingSfxName, true);
}
else
{
AudioManager.Instance.StopSfx(_walkingSfxName);
}
// if (_isMoving)
// {
// AudioManager.Instance.PlaySfx(_walkingSfxName, true);
// }
// else
// {
// AudioManager.Instance.StopSfx(_walkingSfxName);
// }
}
}
@ -67,6 +67,9 @@ namespace BlueWater.Players.Tycoons
[SerializeField]
private string _walkingSfxName = "TycoonPlayerWalking";
[SerializeField]
private string _dashSfxName = "TycoonPlayerDashing";
public bool IsDashEnabled { get; private set; } = true;
public bool IsDashing { get; private set; }
@ -242,6 +245,7 @@ namespace BlueWater.Players.Tycoons
{
_dashParticle.Play();
}
AudioManager.Instance.PlaySfx(_dashSfxName);
var dashDirection = _inputDirection;
if (dashDirection == Vector3.zero)

View File

@ -232,8 +232,8 @@ namespace BlueWater
}
// 손님이 퇴장하기 전에 스킨을 확인하는 이벤트
public static Action<int> OnCheckedSkin;
public static void InvokeCheckedSkin(int skinIndex)
public static Action<CustomerSkin> OnCheckedSkin;
public static void InvokeCheckedSkin(CustomerSkin skinIndex)
{
OnCheckedSkin?.Invoke(skinIndex);
}
@ -321,6 +321,13 @@ namespace BlueWater
OnCreateMold?.Invoke();
}
// 펌프 활성화 이벤트
public static Action OnActivatePump;
public static void InvokeActivatePump()
{
OnActivatePump?.Invoke();
}
// 계산대 골드 자동 회수 이벤트
public static Action<int> OnGainAutoMoneyCounter;
public static void InvokeGainAutoMoneyCounter(int gainWaitTime)
@ -356,6 +363,13 @@ namespace BlueWater
OnOpenedRareRewardBox?.Invoke();
}
// 튜토리얼
public static Action<string> OnTutorial;
public static void InvokeTutorial(string tutorialName)
{
OnTutorial?.Invoke(tutorialName);
}
#endregion
}
}

View File

@ -751,6 +751,33 @@
"interactions": "",
"initialStateCheck": false
},
{
"name": "PressR",
"type": "Button",
"id": "e4fa5849-c9d6-4997-9b4e-90534871a42b",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "PressA",
"type": "Button",
"id": "ba45488a-1cd7-479a-a42c-7ecf4d140eb6",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "PressD",
"type": "Button",
"id": "8eb2dcae-c555-4f18-949a-ead8d65767f9",
"expectedControlType": "",
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "PressAnyKey",
"type": "Button",
@ -843,10 +870,43 @@
"path": "<Keyboard>/e",
"interactions": "",
"processors": "",
"groups": "",
"groups": ";Keyboard&Mouse",
"action": "InteractionE",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "c8c18337-6d1f-47f7-9e88-017d311a5ece",
"path": "<Keyboard>/r",
"interactions": "",
"processors": "",
"groups": ";Keyboard&Mouse",
"action": "PressR",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "35cbd356-f529-4281-94b8-087c7bd21859",
"path": "<Keyboard>/a",
"interactions": "",
"processors": "",
"groups": ";Keyboard&Mouse",
"action": "PressA",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "2df367e5-1d6c-428c-b859-455392708188",
"path": "<Keyboard>/d",
"interactions": "",
"processors": "",
"groups": ";Keyboard&Mouse",
"action": "PressD",
"isComposite": false,
"isPartOfComposite": false
}
]
},

View File

@ -38,6 +38,9 @@ namespace BlueWater
public const string Move = "Move";
public const string Cancel = "Cancel";
public const string PressQ = "PressQ";
public const string PressR = "PressR";
public const string PressA = "PressA";
public const string PressD = "PressD";
public const string PressAnyKey = "PressAnyKey";
public const string InteractionE = "InteractionE";
}

View File

@ -6,6 +6,11 @@ using UnityEngine;
namespace BlueWater.Tycoons
{
public static class StatueBarrelSpineAnimation
{
public const string Idle = "Idle";
}
public static class LiquidBarrelSpineAnimation
{
public const string IdleLevel0 = "Empty";
@ -68,7 +73,11 @@ namespace BlueWater.Tycoons
_liquidImage.sprite = IsActivated ? LiquidData.Sprite : DataManager.Instance.SpriteDataSo.BarrelLock;
if (!IsStatue)
if (IsStatue)
{
SpineController.PlayAnimation(StatueBarrelSpineAnimation.Idle, false);
}
else
{
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.IdleLevel0, false);
}
@ -167,30 +176,16 @@ namespace BlueWater.Tycoons
InteractionMessage = $"{Utils.GetLocalizedString(LiquidData.Idx)} {Utils.GetLocalizedString("Pour")}";
}
if (IsStatue)
{
base.ShowInteractionUi();
}
else
{
SpineController.EnableCustomMaterial();
EventManager.InvokeShowInteractionUi(InteractionMessage);
IsShowing = true;
}
SpineController.EnableCustomMaterial();
EventManager.InvokeShowInteractionUi(InteractionMessage);
IsShowing = true;
}
public override void HideInteractionUi()
{
if (IsStatue)
{
base.HideInteractionUi();
}
else
{
SpineController.DisableCustomMaterial();
EventManager.InvokeHideInteractionUi();
IsShowing = false;
}
SpineController.DisableCustomMaterial();
EventManager.InvokeHideInteractionUi();
IsShowing = false;
}
public override void Activate()

View File

@ -1,4 +1,5 @@
using System;
using BlueWater.Audios;
using UnityEngine;
namespace BlueWater.Tycoons
@ -12,6 +13,9 @@ namespace BlueWater.Tycoons
[SerializeField]
private Sprite _heartSprite;
[SerializeField]
private string _cleaningSfxName = "CleaningFloor";
private bool _isPlayerInteracting;
private void Update()
@ -51,12 +55,14 @@ namespace BlueWater.Tycoons
{
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = true;
_isPlayerInteracting = true;
AudioManager.Instance.PlaySfx(_cleaningSfxName);
}
public override void CancelInteraction()
{
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false;
_isPlayerInteracting = false;
AudioManager.Instance.StopSfx(_cleaningSfxName);
}
public override bool CanInteraction()

View File

@ -9,6 +9,7 @@ namespace BlueWater.Tycoons
public static class PumpSpineAnimation
{
public const string Idle = "Idle";
public const string Stop = "IdleStop";
public const string Run = "Run";
}
@ -37,11 +38,14 @@ namespace BlueWater.Tycoons
private string _playPumpSfxName = "PlayPump";
private bool _isPlayerInteracting;
private bool _isActivated;
protected override void Awake()
{
base.Awake();
EventManager.OnActivatePump += Activate;
_spineController = GetComponent<SpineController>();
}
@ -49,7 +53,7 @@ namespace BlueWater.Tycoons
{
base.Start();
_spineController.PlayAnimation(PumpSpineAnimation.Idle, true);
_spineController.PlayAnimation(PumpSpineAnimation.Stop, false);
}
private void Update()
@ -83,6 +87,11 @@ namespace BlueWater.Tycoons
}
}
private void OnDestroy()
{
EventManager.OnActivatePump -= Activate;
}
public override void Interaction()
{
AudioManager.Instance.PlaySfx(_attackSfxName, true);
@ -103,7 +112,7 @@ namespace BlueWater.Tycoons
public override bool CanInteraction()
{
return !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything();
return _isActivated && !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything();
}
public override void ShowInteractionUi()
@ -119,5 +128,11 @@ namespace BlueWater.Tycoons
EventManager.InvokeHideInteractionUi();
IsShowing = false;
}
public void Activate()
{
_isActivated = true;
_spineController.PlayAnimation(PumpSpineAnimation.Idle, true);
}
}
}

View File

@ -2,6 +2,7 @@ using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Players;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater.Tycoons
@ -34,9 +35,13 @@ namespace BlueWater.Tycoons
[SerializeField]
private bool _isChanged;
[Title("사운드")]
[SerializeField]
private string _discardSfxName = "DiscardCocktail";
[SerializeField]
private string _changeRandomBoxSfxName = "ChangeRandomBox";
private bool _isPlayerInteracting;
private bool _canInteraction = true;
@ -121,6 +126,7 @@ namespace BlueWater.Tycoons
{
if (!_canRandomChange) return;
AudioManager.Instance.PlaySfx(_changeRandomBoxSfxName);
_spineController.PlayAnimation(TrashCanSpineAnimation.ChangeRandomBox, false);
_spineController.AddAnimation(TrashCanSpineAnimation.RandomBoxIdle, true);
_isChanged = true;

View File

@ -10,5 +10,17 @@ namespace BlueWater
public const string BgmVolume = "BgmVolume";
public const string SfxVolume = "SfxVolume";
public const string CompleteFirstGame = "CompleteFirstGame";
// 튜토리얼 데이터
public const string TutorialA = "TutorialA";
public const string TutorialB = "TutorialB";
public const string TutorialC = "TutorialC";
public const string TutorialD = "TutorialD";
public const string TutorialE = "TutorialE";
public const string TutorialF = "TutorialF";
public const string TutorialG = "TutorialG";
public const string TutorialH = "TutorialH";
public const string TutorialI = "TutorialI";
public const string TutorialJ = "TutorialJ";
}
}

View File

@ -36,4 +36,4 @@ MonoBehaviour:
- <BgmName>k__BackingField: TycoonBgm02
<Clip>k__BackingField: {fileID: 8300000, guid: 26776146cb587a74aa860cdac5318a39, type: 3}
- <BgmName>k__BackingField: TycoonResult
<Clip>k__BackingField: {fileID: 8300000, guid: 727c8fcf7bfe53744968a986ff7b43aa, type: 3}
<Clip>k__BackingField: {fileID: 8300000, guid: e149ff3b8678af448a8e1f04cf55649c, type: 3}

View File

@ -82,7 +82,7 @@ MonoBehaviour:
- <SfxName>k__BackingField: CleaningTable
<Clip>k__BackingField: {fileID: 8300000, guid: 717f06a127178564ab5ea8cdf9da3ef2, type: 3}
- <SfxName>k__BackingField: OpenManualBook
<Clip>k__BackingField: {fileID: 8300000, guid: a324e82da09f7f84cab40d74f755c9e8, type: 3}
<Clip>k__BackingField: {fileID: 8300000, guid: 1b87c0475bbd52b429768eeffe0b6ff5, type: 3}
- <SfxName>k__BackingField: CloseManualBook
<Clip>k__BackingField: {fileID: 8300000, guid: b1d132518b614a743ac3a571ac75718c, type: 3}
- <SfxName>k__BackingField: SucceedServing
@ -116,10 +116,20 @@ MonoBehaviour:
- <SfxName>k__BackingField: TycoonPlayerWalking
<Clip>k__BackingField: {fileID: 8300000, guid: 4b5f41d537a9a574b9520f50b39fb425, type: 3}
- <SfxName>k__BackingField: SelectCard
<Clip>k__BackingField: {fileID: 8300000, guid: 9f82d570d14d65b4a80fe00bae7bc0c0, type: 3}
<Clip>k__BackingField: {fileID: 8300000, guid: 39e368c24fb04084ea3ba929f16a4e91, type: 3}
- <SfxName>k__BackingField: CreateCrew
<Clip>k__BackingField: {fileID: 8300000, guid: 557c74c78a72aac41ae6da3f8477169c, type: 3}
<Clip>k__BackingField: {fileID: 8300000, guid: cbb6eb52c18da1c43bc2aa34def2df9c, type: 3}
- <SfxName>k__BackingField: TycoonPlayerAttacked
<Clip>k__BackingField: {fileID: 8300000, guid: 416cb3dc1c8801f46a4a3b14d7665d8b, type: 3}
- <SfxName>k__BackingField: RewardBoxInteractionFailed
<Clip>k__BackingField: {fileID: 8300000, guid: 5850aa1a011156841bed2ffc74d93bbd, type: 3}
- <SfxName>k__BackingField: TycoonPlayerDashing
<Clip>k__BackingField: {fileID: 8300000, guid: 595646b0d77e94543bbf73c0236ae42f, type: 3}
- <SfxName>k__BackingField: ChangeRandomBox
<Clip>k__BackingField: {fileID: 8300000, guid: 8fec2c602d8ae2b4ca2ab0f1c0f8a117, type: 3}
- <SfxName>k__BackingField: Purify
<Clip>k__BackingField: {fileID: 8300000, guid: b554c7102f4142d46aad7dd333a2616b, type: 3}
- <SfxName>k__BackingField: CreateMoldy
<Clip>k__BackingField: {fileID: 8300000, guid: a041f5ba1fec6304895b80091ebf431b, type: 3}
- <SfxName>k__BackingField: RareCardOpen
<Clip>k__BackingField: {fileID: 8300000, guid: 28272de0f0479f94691b57e097565010, type: 3}

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,169 @@
%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: e9abf1f43f0b6454584607bd00fabd73, type: 3}
m_Name: TutorialSo
m_EditorClassIdentifier:
_serializedDataList:
- <Key>k__BackingField: TutorialA
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialA
<TitleTextIdx>k__BackingField: TutorialTitleA
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialA01
<Sprite>k__BackingField: {fileID: 21300000, guid: fd570d5f2e74f9649b223b27e4bfd279, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialA02
<Sprite>k__BackingField: {fileID: 21300000, guid: 0093f30129ff92c4db9ca55525f3f035, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 3
<DescriptionIdx>k__BackingField: TutorialA03
<Sprite>k__BackingField: {fileID: 21300000, guid: 29fd4626221cc4e449047cb509a4b670, type: 3}
- <Key>k__BackingField: TutorialB
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialB
<TitleTextIdx>k__BackingField: TutorialTitleB
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialB01
<Sprite>k__BackingField: {fileID: 21300000, guid: 3d7a8b0b4b41eac4aa4098cef0206994, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialB02
<Sprite>k__BackingField: {fileID: 21300000, guid: 1b6fbbe5c5df6df45b4feabedfc5d24d, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 3
<DescriptionIdx>k__BackingField: TutorialB03
<Sprite>k__BackingField: {fileID: 21300000, guid: 4b752d2d5763abc4cb65b8355450cc70, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 4
<DescriptionIdx>k__BackingField: TutorialB04
<Sprite>k__BackingField: {fileID: 21300000, guid: f13384a7d3bd41a48a5ef3bd2671681b, type: 3}
- <Key>k__BackingField: TutorialC
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialC
<TitleTextIdx>k__BackingField: TutorialTitleC
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialC01
<Sprite>k__BackingField: {fileID: 21300000, guid: 4c88f781368f1354bbc3dc6d16a5e092, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialC02
<Sprite>k__BackingField: {fileID: 21300000, guid: c2b2347daad35824fb06639765562756, type: 3}
- <Key>k__BackingField: TutorialD
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialD
<TitleTextIdx>k__BackingField: TutorialTitleD
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialD01
<Sprite>k__BackingField: {fileID: 21300000, guid: 498ee1d309cc40147be2fbc30f4e1f98, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialD02
<Sprite>k__BackingField: {fileID: 21300000, guid: 0e5d85d1988fddf4489c332411fdcd01, type: 3}
- <Key>k__BackingField: TutorialE
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialE
<TitleTextIdx>k__BackingField: TutorialTitleE
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialE01
<Sprite>k__BackingField: {fileID: 21300000, guid: 50aa58873f7c70a4e9e852c4f85c961d, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialE02
<Sprite>k__BackingField: {fileID: 21300000, guid: 1df0d2dcaa205ac4896a9445e53ca20d, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 3
<DescriptionIdx>k__BackingField: TutorialE03
<Sprite>k__BackingField: {fileID: 21300000, guid: e8737123e0a24884fbdee2f95b076c02, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 4
<DescriptionIdx>k__BackingField: TutorialE04
<Sprite>k__BackingField: {fileID: 21300000, guid: b944272f378e723459f5b917aecea0df, type: 3}
- <Key>k__BackingField: TutorialF
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialF
<TitleTextIdx>k__BackingField: TutorialTitleF
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialF01
<Sprite>k__BackingField: {fileID: 21300000, guid: 34afe998d81409849ac9027c92aa8298, type: 3}
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialF02
<Sprite>k__BackingField: {fileID: 21300000, guid: 314511725dea78e489cd83c8e6e7c7f4, type: 3}
- <Key>k__BackingField: TutorialG
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialG
<TitleTextIdx>k__BackingField: TutorialTitleG
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialG01
<Sprite>k__BackingField: {fileID: 21300000, guid: a89ec2f974875f84ba47bf0ee5f6bf43, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialG02
<Sprite>k__BackingField: {fileID: 21300000, guid: 28a69f413a21ad548aa6e4add76be684, type: 3}
- <Key>k__BackingField: TutorialH
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialH
<TitleTextIdx>k__BackingField: TutorialTitleH
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 3
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialH01
<Sprite>k__BackingField: {fileID: 21300000, guid: db00f49f58fded241a25b68b4ac8ff9a, type: 3}
- <Key>k__BackingField: TutorialI
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialI
<TitleTextIdx>k__BackingField: TutorialTitleI
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 3
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialI01
<Sprite>k__BackingField: {fileID: 21300000, guid: 6758a337148c7474588128873b3695a2, type: 3}
- <Key>k__BackingField: TutorialJ
<Value>k__BackingField:
<TutorialName>k__BackingField: TutorialJ
<TitleTextIdx>k__BackingField: TutorialTitleJ
<TutorialPages>k__BackingField:
- <TutorialPageType>k__BackingField: 0
<PageIndex>k__BackingField: 1
<DescriptionIdx>k__BackingField: TutorialJ01
<Sprite>k__BackingField: {fileID: 21300000, guid: df7a898725d87014cba236537831e17a, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 2
<DescriptionIdx>k__BackingField: TutorialJ02
<Sprite>k__BackingField: {fileID: 21300000, guid: f3aded03bbc1e8345b08380f7647ffd4, type: 3}
- <TutorialPageType>k__BackingField: 1
<PageIndex>k__BackingField: 3
<DescriptionIdx>k__BackingField: TutorialJ03
<Sprite>k__BackingField: {fileID: 21300000, guid: 66cfebf11cb5b7d46bbec75addd1764e, type: 3}
- <TutorialPageType>k__BackingField: 2
<PageIndex>k__BackingField: 4
<DescriptionIdx>k__BackingField: TutorialJ04
<Sprite>k__BackingField: {fileID: 21300000, guid: 5d6455c1c94a7d44395818bc14d8a867, type: 3}
<FirstPopup>k__BackingField: {fileID: 1581927570, guid: d881395249d9f7d43940877db16f096d, type: 3}
<MiddlePopup>k__BackingField: {fileID: 1740845040, guid: 4eb21a9cf7ed8e44388a74756a151b20, type: 3}
<LastPopup>k__BackingField: {fileID: -1576049482, guid: d21603cd31610504c847fd606881daba, type: 3}
<SoloPopup>k__BackingField: {fileID: -395976741, guid: 18df90d5364975848a51832a491b7cc0, type: 3}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0e99028d5f739f146865cdd0fc6b4bed
guid: 409afbfab40779a4abf64756763265d0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -71,6 +71,12 @@ namespace BlueWater.Tycoons
newCrew.Initialize();
EventManager.InvokeUpdateCrewUi(BartenderCrews.Count, ServerCrews.Count, CleanerCrews.Count);
if (!ES3.Load(SaveData.TutorialF, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialF);
ES3.Save(SaveData.TutorialF, true);
}
return newCrew;
}
@ -82,6 +88,12 @@ namespace BlueWater.Tycoons
newCrew.Initialize();
EventManager.InvokeUpdateCrewUi(BartenderCrews.Count, ServerCrews.Count, CleanerCrews.Count);
if (!ES3.Load(SaveData.TutorialD, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialD);
ES3.Save(SaveData.TutorialD, true);
}
return newCrew;
}
@ -98,6 +110,12 @@ namespace BlueWater.Tycoons
newCrew.Initialize();
EventManager.InvokeUpdateCrewUi(BartenderCrews.Count, ServerCrews.Count, CleanerCrews.Count);
if (!ES3.Load(SaveData.TutorialE, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialE);
ES3.Save(SaveData.TutorialE, true);
}
return newCrew;
}

View File

@ -8,8 +8,9 @@ namespace BlueWater
{
public enum RewardBoxType
{
Normal = 0,
Rare = 1
None = 0,
Normal = 1,
Rare = 2
}
[Serializable]

View File

@ -371,7 +371,7 @@ namespace BlueWater
_elapsedTime = 0f;
_isPouring = true;
AudioManager.Instance.PlaySfx(_pouringSfxName, loop: true);
AudioManager.Instance.PlaySfx(_pouringSfxName);
// To Center 이동 코루틴이 활성화 중이지 않을 때
if (_movePanelToCenterInstance == null)

View File

@ -29,6 +29,9 @@ namespace BlueWater.Tycoons
[SerializeField]
private string _selectCardSfxName = "SelectCard";
[SerializeField]
private string _purifySfxName = "Purify";
private TycoonManager _tycoonManager;
private TycoonStatus _tycoonStatus;
@ -135,6 +138,7 @@ namespace BlueWater.Tycoons
break;
case "AllCustomerPurification":
EventManager.InvokePurifiedCustomerAll();
AudioManager.Instance.PlaySfx(_purifySfxName);
break;
case "GaugeTimeUp":
_tycoonStatus.CustomerHurryTimeIncrease += 3;

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Audios;
using BlueWater.Items;
using Sirenix.OdinInspector;
using UnityEngine;
@ -33,6 +34,9 @@ namespace BlueWater.Tycoons
private List<Barrel> _barrels;
[SerializeField]
private string _createMoldySfxName = "CreateMoldy";
private void Awake()
{
_barrels = new List<Barrel>
@ -125,6 +129,8 @@ namespace BlueWater.Tycoons
int randomIndex = Random.Range(0, moldableElements.Count);
moldableElements[randomIndex].Mold();
AudioManager.Instance.PlaySfx(_createMoldySfxName);
}
}
}

View File

@ -1,5 +1,3 @@
using System;
using BlueWater.Audios;
using UnityEngine;
using Sirenix.OdinInspector;
@ -29,9 +27,6 @@ namespace BlueWater.Tycoons
[field: SerializeField]
public TycoonCardController TycoonCardController { get; private set; }
[SerializeField]
private string _dailyBgm;
[field: Title("타이쿤 플레이어 스탯")]
[field: SerializeField]
public TycoonStatus TycoonStatus { get; private set; }
@ -47,11 +42,6 @@ namespace BlueWater.Tycoons
private void Start()
{
if (!string.IsNullOrEmpty(_dailyBgm))
{
AudioManager.Instance.PlayBgm(_dailyBgm);
}
TycoonStatus = new TycoonStatus();
TycoonStatus.Initialize();
}

View File

@ -156,7 +156,7 @@ namespace BlueWater.Tycoons
[Button("노말 상자 생성")]
public void CreateChest(LevelData levelData)
{
if (levelData.Idx == "1") return;
if (levelData.Idx == "1" || levelData.RewardBoxType == RewardBoxType.None) return;
var spawnPosition = Utils.RandomPositionOnGraph(1);

View File

@ -352,6 +352,7 @@ namespace BlueWater.Tycoons
case "Upgrade1":
tycoonManager.CustomerTableController.ShowCustomerTable(1);
tycoonManager.TycoonIngredientController.LiquidBarrelB.Activate();
EventManager.InvokeActivatePump();
break;
case "Upgrade2":
tycoonManager.CustomerTableController.ShowCustomerTable(2);

View File

@ -6,11 +6,8 @@ using UnityEngine.UI;
namespace BlueWater.Titles
{
public class TitleMenuButton : MonoBehaviour, ISelectHandler, IDeselectHandler, IPointerEnterHandler, IPointerExitHandler
public class SelectedObject : MonoBehaviour, ISelectHandler, IDeselectHandler, IPointerEnterHandler, IPointerExitHandler
{
[SerializeField, Required]
private Button _targetButton;
[SerializeField, Required]
private Image _selectedImage;

View File

@ -30,6 +30,9 @@ namespace BlueWater.Titles
[SerializeField]
private Button _startGameButton;
[SerializeField]
private Button _tutorialButton;
[SerializeField]
private Button _resumeGameButton;
@ -54,8 +57,11 @@ namespace BlueWater.Titles
[SerializeField]
private Image _ink;
[FormerlySerializedAs("_uiNavigationController")] [SerializeField]
private UiEventsController uiEventsController;
[SerializeField]
private UiEventsController _uiEventsController;
[SerializeField]
private TycoonTutorial _tycoonTutorial;
public Material inkMaterialInstance { get; private set; }
@ -76,6 +82,8 @@ namespace BlueWater.Titles
_openAction = _playerInputKeyManager.GetAction(InputActionMaps.Tycoon, TycoonActions.Options);
_closeAction = _playerInputKeyManager.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.Cancel);
EventManager.OnTutorial += ShowTutorialUiByName;
if (_isTitleScene)
{
_startGameButton.onClick.AddListener(() => SceneController.Instance.LoadScene(SceneName.Tycoon));
@ -94,6 +102,7 @@ namespace BlueWater.Titles
titleOptions.CloseOptions = HideSettingUi;
titleQuitUi.CloseQuit = HideQuitUi;
_tycoonTutorial.CloseAction = HideTutorialUi;
_versionText.text = GetVersion();
inkMaterialInstance = Instantiate(_ink.material);
@ -102,6 +111,8 @@ namespace BlueWater.Titles
private void OnDestroy()
{
EventManager.OnTutorial -= ShowTutorialUiByName;
if (_isTitleScene)
{
_startGameButton?.onClick.RemoveListener(() => SceneController.Instance?.LoadScene(SceneName.Tycoon));
@ -175,11 +186,11 @@ namespace BlueWater.Titles
{
if (_isTitleScene)
{
uiEventsController.EnableAutoNavigate(_startGameButton.gameObject);
_uiEventsController.EnableAutoNavigate(_startGameButton.gameObject);
}
else
{
uiEventsController.EnableAutoNavigate(_resumeGameButton.gameObject);
_uiEventsController.EnableAutoNavigate(_resumeGameButton.gameObject);
_closeAction.performed += OnClose;
}
@ -198,7 +209,7 @@ namespace BlueWater.Titles
}
_interactionEAction.performed -= OnInteractionE;
uiEventsController.DisableAutoNavigate();
_uiEventsController.DisableAutoNavigate();
}
private string GetVersion()
@ -258,6 +269,40 @@ namespace BlueWater.Titles
Utils.StartUniqueCoroutine(this, ref _inkCoroutine, MoveInkBackground(0.4f));
}
public void ShowTutorialUi()
{
_titleMenuUiPanel.SetActive(false);
_tycoonTutorial.ShowUi(true);
Utils.StartUniqueCoroutine(this, ref _inkCoroutine, MoveInkBackground(1f));
}
public void HideTutorialUi(bool isMenu)
{
if (!isMenu)
{
_panel.SetActive(false);
_playerInputKeyManager.SwitchCurrentActionMap(InputActionMaps.Tycoon);
VisualFeedbackManager.Instance.ResetTimeScale();
}
_titleMenuUiPanel.SetActive(true);
EventSystem.current.SetSelectedGameObject(_tutorialButton.gameObject);
Utils.StartUniqueCoroutine(this, ref _inkCoroutine, MoveInkBackground(0.4f));
}
public void ShowTutorialUiByName(string tutorialName)
{
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
_playerInputKeyManager.SwitchCurrentActionMap(InputActionMaps.TycoonUi);
_titleMenuUiPanel.SetActive(false);
_tycoonTutorial.ShowUiByName(tutorialName);
_panel.SetActive(true);
Utils.StartUniqueCoroutine(this, ref _inkCoroutine, MoveInkBackground(1f));
}
private IEnumerator MoveInkBackground(float pos)
{

View File

@ -0,0 +1,31 @@
using UnityEngine;
namespace BlueWater.Uis
{
public class TutorialPopupUi : PopupUi
{
public override void Open()
{
PopupUiController.RegisterPopup(this);
gameObject.SetActive(true);
IsOpened = true;
}
public override void Close()
{
gameObject.SetActive(false);
PopupUiController.UnregisterPopup(this);
IsOpened = false;
}
public override void EnableInput()
{
}
public override void DisableInput()
{
}
}
}

View File

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

View File

@ -0,0 +1,19 @@
using UnityEngine;
public class RankRow : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4b9215935020b4a4fba279c3a6effef9

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace BlueWater
{
[Serializable]
public class TutorialInfo
{
[field: SerializeField]
public string TutorialName { get; private set; }
[field: SerializeField]
public string TitleTextIdx { get; private set; }
[field: SerializeField]
public List<TutorialPage> TutorialPages { get; private set; } = new();
public int GetPages() => TutorialPages.Count;
}
}

View File

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

View File

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace BlueWater
{
[Serializable]
public class TutorialLink
{
[field: SerializeField]
public string TutorialName { get; private set; }
[field: SerializeField]
public TutorialPageToggle TutorialPageToggle { get; private set; }
[field: SerializeField]
public List<TycoonTutorialPopupUi> TycoonTutorialPopupUis { get; private set; }
[field: SerializeField]
public int CurrentPageIndex { get; private set; }
public TutorialLink(string tutorialName, TutorialPageToggle tutorialPageToggle, List<TycoonTutorialPopupUi> tycoonTutorialPopupUis)
{
TutorialName = tutorialName;
TutorialPageToggle = tutorialPageToggle;
TycoonTutorialPopupUis = tycoonTutorialPopupUis;
}
public void OnToggle(bool isOn)
{
if (!TutorialPageToggle) return;
TutorialPageToggle.OnToggle(isOn);
if (isOn)
{
OpenPage(0);
}
else
{
CloseAllPage();
}
}
public void OpenPage(int pageIndex)
{
CurrentPageIndex = Mathf.Clamp(pageIndex, 0, TycoonTutorialPopupUis.Count - 1);
TycoonTutorialPopupUis[CurrentPageIndex].Open();
}
public void ClosePage(int pageIndex)
{
TycoonTutorialPopupUis[CurrentPageIndex].Close();
}
public void CloseAllPage()
{
foreach (TycoonTutorialPopupUi tycoonTutorialPopupUi in TycoonTutorialPopupUis)
{
if (!tycoonTutorialPopupUi.IsOpened) continue;
tycoonTutorialPopupUi.Close();
}
}
public void MovePage(bool moveNext)
{
ClosePage(CurrentPageIndex);
OpenPage(CurrentPageIndex + (moveNext ? 1 : -1));
}
}
}

View File

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

View File

@ -0,0 +1,29 @@
using System;
using UnityEngine;
namespace BlueWater
{
public enum TutorialPageType
{
First = 0,
Middle = 1,
Last = 2,
Solo = 3
}
[Serializable]
public class TutorialPage
{
[field: SerializeField]
public TutorialPageType TutorialPageType { get; private set; }
[field: SerializeField]
public int PageIndex { get; private set; }
[field: SerializeField]
public string DescriptionIdx { get; private set; }
[field: SerializeField]
public Sprite Sprite { get; private set; }
}
}

View File

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

View File

@ -0,0 +1,139 @@
using System;
using System.Collections;
using BlueWater.Utility;
using DG.Tweening;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
namespace BlueWater
{
public class TutorialPageToggle : MonoBehaviour
{
[field: SerializeField]
public RectTransform Rect { get; private set; }
[SerializeField]
private Toggle _toggle;
[SerializeField]
private Image _toggleImage;
[SerializeField]
private TMP_Text _buttonText;
[SerializeField]
private Sprite _selectToggleSprite;
[SerializeField]
private Sprite _deselectToggleSprite;
[Title("연출")]
[SerializeField]
private Vector2 _buttonImageScale = new(1f, 1.3f);
[SerializeField]
private Vector2 _buttonTextPositionY = new(0f, 10f);
[SerializeField]
private float _duration = 0.2f;
private TutorialInfo _tutorialInfo;
private Coroutine _changedLocaleInstance;
private Sequence _selectSequence;
private Sequence _deselectSequence;
public Action<bool> OnToggleEvent;
private void Awake()
{
LocalizationSettings.SelectedLocaleChanged += OnChangedLocale;
}
private void OnDestroy()
{
LocalizationSettings.SelectedLocaleChanged -= OnChangedLocale;
_selectSequence.Kill();
_deselectSequence.Kill();
}
private void OnChangedLocale(Locale locale)
{
if (!gameObject.activeInHierarchy) return;
Utils.StartUniqueCoroutine(this, ref _changedLocaleInstance, ChangeLocaleCoroutine(locale));
StartCoroutine(ChangeLocaleCoroutine(locale));
}
private IEnumerator ChangeLocaleCoroutine(Locale locale)
{
var loadingOperation = Utils.GetTableAsync();
yield return loadingOperation;
if (loadingOperation.Status == AsyncOperationStatus.Succeeded)
{
_buttonText.text = Utils.GetLocalizedString(_tutorialInfo.TitleTextIdx);
}
}
public void Initialize(TutorialInfo tutorialInfo)
{
_tutorialInfo = tutorialInfo;
gameObject.name = $"{_tutorialInfo.TutorialName}Toggle";
_buttonText.text = Utils.GetLocalizedString(_tutorialInfo.TitleTextIdx);
_selectSequence = DOTween.Sequence()
.Append(_toggleImage.transform.DOScaleY(_buttonImageScale.y, _duration).From(_buttonImageScale.x))
.Join(_buttonText.transform.DOLocalMoveY(_buttonTextPositionY.y, _duration).From(_buttonTextPositionY.x))
.SetEase(Ease.Linear)
.SetUpdate(true)
.SetAutoKill(false)
.Pause();
_deselectSequence = DOTween.Sequence()
.Append(_toggleImage.transform.DOScaleY(_buttonImageScale.x, _duration).From(_buttonImageScale.y))
.Join(_buttonText.transform.DOLocalMoveY(_buttonTextPositionY.x, _duration).From(_buttonTextPositionY.x))
.SetEase(Ease.Linear)
.SetUpdate(true)
.SetAutoKill(false)
.Pause();
_toggle.interactable = true;
_toggle.isOn = false;
_toggleImage.sprite = _deselectToggleSprite;
Vector3 newPosition = _buttonText.transform.localPosition;
newPosition.y = _buttonTextPositionY.x;
_buttonText.transform.localPosition = newPosition;
Vector3 newScale = _toggleImage.transform.localScale;
newScale.y = _buttonImageScale.x;
_toggleImage.transform.localScale = newScale;
}
public void OnToggle(bool isOn)
{
_toggle.isOn = isOn;
_toggle.interactable = !_toggle.isOn;
if (isOn)
{
_toggleImage.sprite = _selectToggleSprite;
_deselectSequence?.Pause();
_selectSequence.Restart();
}
else
{
_toggleImage.sprite = _deselectToggleSprite;
_selectSequence?.Pause();
_deselectSequence.Restart();
}
OnToggleEvent?.Invoke(isOn);
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 696314dff3acfcf42800aeaeb72ce6f5

View File

@ -0,0 +1,23 @@
using BlueWater.Items;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater
{
[CreateAssetMenu(fileName = "TutorialSo", menuName = "ScriptableObjects/Tutorial")]
public class TutorialSo : DataSo<TutorialInfo>
{
[field: Title("팝업 이미지")]
[field: SerializeField]
public Sprite FirstPopup { get; private set; }
[field: SerializeField]
public Sprite MiddlePopup { get; private set; }
[field: SerializeField]
public Sprite LastPopup { get; private set; }
[field: SerializeField]
public Sprite SoloPopup { get; private set; }
}
}

View File

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

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
@ -20,7 +21,7 @@ using UnityEngine.UI;
namespace BlueWater.Uis
{
public class TycoonCardArea : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler,
IPointerMoveHandler
IPointerMoveHandler , ISelectHandler , IDeselectHandler
{
private Coroutine _currentRotationCoroutine;
@ -42,6 +43,15 @@ namespace BlueWater.Uis
private bool _enable = false;
private Action<TycoonCard> _onSelectAction;
public void OnSelect(BaseEventData eventData)
{
OnPointerEnter(null);
}
public void OnDeselect(BaseEventData eventData)
{
OnPointerExit(null);
}
private void Awake()
{
@ -71,6 +81,7 @@ namespace BlueWater.Uis
// 마우스가 이미지 위에 올라갔을 때 호출
public void OnPointerEnter(PointerEventData eventData)
{
if (_endRotationCoroutine != null)
{
StopCoroutine(_endRotationCoroutine);
@ -120,6 +131,11 @@ namespace BlueWater.Uis
}
}
public void SelectCard()
{
OnPointerClick(null);
}
// 마우스 클릭 시 호출
public void OnPointerClick(PointerEventData eventData)
{

View File

@ -24,14 +24,21 @@ namespace BlueWater.Uis
private Vector3 _cardLocalScale_4 = new(0.7f, 0.7f, 1f);
private Vector3 _cardLocalScale_5 = new(0.65f, 0.65f, 1f);
[SerializeField]
private string _openSfxName = "OpenRareRewardBox";
[SerializeField]
private Button allOpenCardButton;
[SerializeField]
private Button closeButton;
[Title("사운드")]
[SerializeField]
private string _openSfxName = "OpenRareRewardBox";
[SerializeField]
private string _cardOpenSfxName = "RareCardOpen";
[SerializeField]
private string _cardOpenAllSfxName = "SelectCard";
private List<TycoonCard> _tycoonCards = new(5);
private int viewCardCount = 0;
@ -74,6 +81,7 @@ namespace BlueWater.Uis
public override void Close()
{
AudioManager.Instance.PlaySfx(_cardOpenAllSfxName, ignoreTimeScale: true);
_panel.SetActive(false);
PopupUiController.UnregisterPopup(this);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
@ -84,11 +92,13 @@ namespace BlueWater.Uis
public override void EnableInput()
{
_interactionEAction.performed += OnInteractionE;
this.GetComponent<UiEventsController>().EnableAutoNavigate();
}
public override void DisableInput()
{
_interactionEAction.performed -= OnInteractionE;
this.GetComponent<UiEventsController>().DisableAutoNavigate();
}
@ -146,10 +156,13 @@ namespace BlueWater.Uis
_tycoonCardController.SelectCard(element);
}
GetComponent<UiEventsController>().SetSelectObject(_tycoonCards[(int)(_tycoonCards.Count/2)].CardArea.gameObject);
}
private void OpenCard(TycoonCard tycoonCard)
{
AudioManager.Instance.PlaySfx(_cardOpenSfxName, ignoreTimeScale: true);
tycoonCard.Rotation_Start();
tycoonCard.SetSelectAction(null);
viewCardCount--;
@ -164,6 +177,7 @@ namespace BlueWater.Uis
[Button("카드 모두 열기")]
public void AllOpenCard()
{
AudioManager.Instance.PlaySfx(_cardOpenSfxName, ignoreTimeScale: true);
viewCardCount = 0;
//남은 카드가 열리는 연출만 추가하자
foreach (var element in _tycoonCards)

View File

@ -2,12 +2,14 @@ using System;
using System.Collections;
using System.Collections.Generic;
using BlueWater.Audios;
using BlueWater.Npcs.Customers;
using BlueWater.Tycoons;
using BlueWater.Utility;
using UnityEngine;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace BlueWater.Uis
@ -64,6 +66,13 @@ namespace BlueWater.Uis
[SerializeField]
private GameObject _customerContents;
[SerializeField]
private GameObject _bigCatPanel;
[SerializeField]
private TMP_Text _bigCatText;
private int _bigCatCount;
[SerializeField]
private GameObject _casperPanel;
@ -71,6 +80,20 @@ namespace BlueWater.Uis
private TMP_Text _casperText;
private int _casperCount;
[SerializeField]
private GameObject _casperBlackPanel;
[SerializeField]
private TMP_Text _casperBlackText;
private int _casperBlackCount;
[SerializeField]
private GameObject _catPanel;
[SerializeField]
private TMP_Text _catText;
private int _catCount;
[SerializeField]
private GameObject _pumpkinPanel;
@ -78,6 +101,20 @@ namespace BlueWater.Uis
private TMP_Text _pumpkinText;
private int _pumpkinCount;
[SerializeField]
private GameObject _reaperPanel;
[SerializeField]
private TMP_Text _reaperText;
private int _reaperCount;
[SerializeField]
private GameObject _witchPanel;
[SerializeField]
private TMP_Text _witchText;
private int _witchCount;
[Title("서비스")]
[SerializeField]
private GameObject _serviceTitlePanel;
@ -196,6 +233,7 @@ namespace BlueWater.Uis
private InputAction _pressAnyKeyAction;
private float _playTime;
private bool _isSetData;
private void Awake()
{
@ -219,8 +257,13 @@ namespace BlueWater.Uis
_mainMenuButton.onClick.AddListener(() => SceneController.Instance.LoadScene(SceneName.TycoonTile));
_restartButton.onClick.AddListener(SceneController.Instance.RestartCurrentScene);
_bigCatCount = 0;
_casperCount = 0;
_casperBlackCount = 0;
_catCount = 0;
_pumpkinCount = 0;
_reaperCount = 0;
_witchCount = 0;
_goodServingCount = 0;
_failedServingCount = 0;
_missServingCount = 0;
@ -255,6 +298,7 @@ namespace BlueWater.Uis
[Button("결과 연출 테스트")]
public override void Open()
{
AudioManager.Instance.StopSfx("TycoonGameOver");
AudioManager.Instance.PlayBgm(_bgmName);
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.TycoonUi);
@ -309,8 +353,13 @@ namespace BlueWater.Uis
_textPanel.SetActive(true);
_customerPanel.SetActive(true);
_customerContents.SetActive(true);
_bigCatPanel.SetActive(true);
_casperPanel.SetActive(true);
_casperBlackPanel.SetActive(true);
_catPanel.SetActive(true);
_pumpkinPanel.SetActive(true);
_reaperPanel.SetActive(true);
_witchPanel.SetActive(true);
yield return panelWaitingTime;
_serviceTitlePanel.SetActive(true);
@ -373,8 +422,13 @@ namespace BlueWater.Uis
_textPanel.SetActive(isActive);
_customerPanel.SetActive(isActive);
_customerContents.SetActive(isActive);
_bigCatPanel.SetActive(isActive);
_casperPanel.SetActive(isActive);
_casperBlackPanel.SetActive(isActive);
_catPanel.SetActive(isActive);
_pumpkinPanel.SetActive(isActive);
_reaperPanel.SetActive(isActive);
_witchPanel.SetActive(isActive);
_serviceTitlePanel.SetActive(isActive);
_serviceContents.SetActive(isActive);
_goodServingPanel.SetActive(isActive);
@ -410,8 +464,13 @@ namespace BlueWater.Uis
_roundText.text = $"{Utils.GetLocalizedString("Round")} : {TycoonManager.Instance.GetCurrentLevelData().Idx}";
_playTimeText.text = $"{Utils.GetLocalizedString("PlayTime")} : {Mathf.FloorToInt(_playTime / 60f):D2} : {Mathf.FloorToInt(_playTime % 60f):D2}";
_bigCatText.text = _bigCatCount.ToString();
_casperText.text = _casperCount.ToString();
_casperBlackText.text = _casperBlackCount.ToString();
_catText.text = _catCount.ToString();
_pumpkinText.text = _pumpkinCount.ToString();
_reaperText.text = _reaperCount.ToString();
_witchText.text = _witchCount.ToString();
_goodServingText.text = _goodServingCount.ToString();
_failedServingText.text = _failedServingCount.ToString();
_missServingText.text = _missServingCount.ToString();
@ -426,7 +485,8 @@ namespace BlueWater.Uis
int percent = Mathf.RoundToInt(endGoldMultiplier * 100);
char sign = percent >= 0 ? '+' : '-';
_minusPercentText.color = percent >= 0 ? Color.blue : Color.red;
_minusPercentText.text = $"{sign} {percent}%";
_minusPercentText.text = $"{sign} {Mathf.Abs(percent)}%";
_isSetData = true;
}
[Button("결과 즉시 테스트")]
@ -438,21 +498,39 @@ namespace BlueWater.Uis
_showResultInstance = null;
}
SetResultData();
if (!_isSetData)
{
SetResultData();
}
SetActiveUi(true);
}
private void AddCustomerCount(int skinIndex)
private void AddCustomerCount(CustomerSkin skinIndex)
{
switch (skinIndex)
{
case 0:
case CustomerSkin.BigCat:
_bigCatCount++;
break;
case CustomerSkin.Casper:
_casperCount++;
break;
case 1:
case CustomerSkin.CasperBlack:
_casperBlackCount++;
break;
case CustomerSkin.Cat:
_catCount++;
break;
case CustomerSkin.PumkinHead:
_pumpkinCount++;
break;
default:;
case CustomerSkin.Reaper:
_reaperCount++;
break;
case CustomerSkin.Witch:
_witchCount++;
break;
default:
throw new Exception("손님 스킨 인덱스 오류");
}
}

View File

@ -1,9 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using BlueWater.Audios;
using BlueWater.Tycoons;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;
using Random = UnityEngine.Random;
@ -26,10 +29,14 @@ namespace BlueWater.Uis
private TycoonManager _tycoonManager;
private TycoonCardController _tycoonCardController;
private InputAction _interactionEAction;
private void Start()
{
_panel.SetActive(false);
_interactionEAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.InteractionE);
_tycoonManager = TycoonManager.Instance;
_tycoonCardController = _tycoonManager.TycoonCardController;
@ -39,6 +46,11 @@ namespace BlueWater.Uis
private void OnDestroy()
{
EventManager.OnOpenedNormalRewardBox -= CreateCard;
if (_interactionEAction != null)
{
_interactionEAction.performed -= OnInteractionE;
}
}
public override void Open()
@ -60,6 +72,28 @@ namespace BlueWater.Uis
VisualFeedbackManager.Instance.ResetTimeScale();
}
public override void EnableInput()
{
_interactionEAction.performed += OnInteractionE;
this.GetComponent<UiEventsController>().EnableAutoNavigate();
}
public override void DisableInput()
{
_interactionEAction.performed -= OnInteractionE;
this.GetComponent<UiEventsController>().DisableAutoNavigate();
}
public void OnInteractionE(InputAction.CallbackContext context)
{
var current = EventSystem.current.currentSelectedGameObject;
if (!current) return;
var currenButton = current.GetComponent<Button>();
currenButton.onClick.Invoke();
}
[Button("카드 생성하기(레벨업)")]
private void CreateCard()
{
@ -104,6 +138,8 @@ namespace BlueWater.Uis
StartCoroutine(FadeInPanel());
}
this.GetComponent<UiEventsController>().SetSelectObject(_tycoonCards[0].CardArea.gameObject);
}
private IEnumerator FadeInPanel()
@ -122,10 +158,13 @@ namespace BlueWater.Uis
yield return null;
}
// _tycoonCards[1].CardArea.OnSelect(null);
}
private void SelectedCard(TycoonCard currentTycoonCard)
{
DisableInput();
_tycoonCardController.SelectCard(currentTycoonCard);
currentTycoonCard.CardArea.SuccessClick();
StartCoroutine(SelectedAnimation(currentTycoonCard));
@ -171,7 +210,7 @@ namespace BlueWater.Uis
float time = 0.0f; // 타이머 초기화
while (time < 1.0f)
while (time < 0.5f)
{
time += Time.unscaledDeltaTime; // 시간 업데이트
@ -189,12 +228,12 @@ namespace BlueWater.Uis
time = 0.0f; // 타이머 초기화
startScale03 = rect03.localScale; // 시작 위치
while (time < 1.0f)
while (time < 0.5f)
{
time += Time.unscaledDeltaTime; // 시간 업데이트
float _Time = time / 0.5f;
float _FadeTime = time / 1.0f;
float _Time = time / 0.25f;
float _FadeTime = time / 0.5f;
float easedTIn = EaseEffect.ExpoIn(_Time);
rect03.localScale = Vector3.Lerp(startScale03, new Vector3(0.0f, 0.0f, 0.0f), easedTIn);
@ -208,5 +247,6 @@ namespace BlueWater.Uis
_tycoonCardController.DestroyCardList(_tycoonCards);
Close();
}
}
}

View File

@ -1,4 +1,3 @@
using System.Threading.Tasks;
using BlueWater.Audios;
using DG.Tweening;
using Sirenix.OdinInspector;
@ -27,6 +26,9 @@ namespace BlueWater.Uis
[SerializeField]
private Animator _closedUiAnimator;
[SerializeField]
private string _dailyBgm = "TycoonBgm01";
[SerializeField]
private string _gameStartSfxName = "TycoonGameStart";
@ -104,6 +106,16 @@ namespace BlueWater.Uis
_panel.SetActive(false);
PlayerInputKeyManager.Instance.EnableCurrentPlayerInput();
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
if (!string.IsNullOrEmpty(_dailyBgm))
{
AudioManager.Instance.PlayBgm(_dailyBgm);
}
if (!ES3.Load(SaveData.TutorialA, false))
{
Invoke(nameof(InvokeTutorialA), 1f);
}
});
});
});
@ -138,6 +150,12 @@ namespace BlueWater.Uis
});
}
private void InvokeTutorialA()
{
EventManager.InvokeTutorial(TutorialName.TutorialA);
ES3.Save(SaveData.TutorialA, true);
}
#endregion
}
}

View File

@ -9,6 +9,7 @@ using UnityEngine;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;
namespace BlueWater.Uis
@ -64,6 +65,8 @@ namespace BlueWater.Uis
private Sequence _failedPurchaseSequence;
private Coroutine _changeGoldInstance;
private InputAction _interactionEAction;
private Color _originalColor;
private void OnValidate()
@ -78,6 +81,8 @@ namespace BlueWater.Uis
{
_panel.SetActive(false);
_interactionEAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.InteractionE);
_tycoonManager = TycoonManager.Instance;
_tycoonCardController = _tycoonManager.TycoonCardController;
_endGold = ES3.Load(SaveData.EndGold, 0);
@ -116,6 +121,7 @@ namespace BlueWater.Uis
private void OnDestroy()
{
_failedPurchaseSequence.Kill();
_interactionEAction = null;
}
public override void Open()
@ -143,6 +149,19 @@ namespace BlueWater.Uis
EventManager.InvokeTycoonGameStarted();
}
public override void EnableInput()
{
_interactionEAction.performed += OnInteractionE;
this.GetComponent<UiEventsController>().EnableAutoNavigate();
}
public override void DisableInput()
{
_interactionEAction.performed -= OnInteractionE;
this.GetComponent<UiEventsController>().DisableAutoNavigate();
}
[Button("상점 열기")]
private void CreateCard()
{
@ -182,6 +201,8 @@ namespace BlueWater.Uis
element.SetPrice(cardShopData.Price);
element.Rotation_Start();
}
this.GetComponent<UiEventsController>().SetSelectObject(_tycoonCards[0].CardArea.gameObject);
}
private void SelectedCard(TycoonCard currentTycoonCard)
@ -219,5 +240,16 @@ namespace BlueWater.Uis
}
_endGoldText.text = targetGold.ToString("N0");
}
public void OnInteractionE(InputAction.CallbackContext context)
{
var current = EventSystem.current.currentSelectedGameObject;
if (!current) return;
var currenButton = current.GetComponent<Button>();
currenButton?.onClick?.Invoke();
}
}
}

View File

@ -0,0 +1,320 @@
using System;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
namespace BlueWater
{
public static class TutorialName
{
public const string TutorialA = "TutorialA";
public const string TutorialB = "TutorialB";
public const string TutorialC = "TutorialC";
public const string TutorialD = "TutorialD";
public const string TutorialE = "TutorialE";
public const string TutorialF = "TutorialF";
public const string TutorialG = "TutorialG";
public const string TutorialH = "TutorialH";
public const string TutorialI = "TutorialI";
public const string TutorialJ = "TutorialJ";
}
public class TycoonTutorial : MonoBehaviour
{
[SerializeField, Required]
private GameObject _tutorialPanel;
[SerializeField, Required]
private GameObject _togglePanel;
[SerializeField, Required]
private ScrollRect _scrollRect;
[SerializeField, Required]
private RectTransform _buttonContents;
[SerializeField, Required]
private Transform _tutorialPopupUiContents;
[SerializeField]
private GameObject _keyAPanel;
[SerializeField]
private GameObject _keyDPanel;
[SerializeField]
private GameObject _keyEPanel;
[Title("프리팹")]
[SerializeField, Required]
private TutorialPageToggle _tutorialPageToggle;
[SerializeField, Required]
private TycoonTutorialPopupUi _tutorialPopupUi;
[Title("So")]
[SerializeField, Required]
private TutorialSo _tutorialSo;
[Title("실시간 데이터")]
[SerializeField]
private List<TutorialLink> _tutorialLinks;
[SerializeField]
private TutorialLink _currentTutorialLink;
private InputAction _pressQAction;
private InputAction _pressRAction;
private InputAction _pressAAction;
private InputAction _pressDAction;
private InputAction _interactionEAction;
private InputAction _closeAction;
private bool _isInMenu;
private bool _isUpdatingToggle;
public Action<bool> CloseAction;
private void Start()
{
_pressQAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.PressQ);
_pressRAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.PressR);
_pressAAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.PressA);
_pressDAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.PressD);
_interactionEAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.InteractionE);
_closeAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.Cancel);
HideUi();
foreach (Transform element in _buttonContents.transform)
{
Destroy(element.gameObject);
}
foreach (Transform element in _tutorialPopupUiContents)
{
Destroy(element.gameObject);
}
_tutorialLinks = new List<TutorialLink>(_tutorialSo.GetDataCount());
foreach (TutorialInfo tutorialInfo in _tutorialSo.GetData().Values)
{
TutorialPageToggle tutorialPageToggle = Instantiate(this._tutorialPageToggle, _buttonContents);
List<TycoonTutorialPopupUi> tycoonTutorialPopupUis = new List<TycoonTutorialPopupUi>();
tutorialPageToggle.Initialize(tutorialInfo);
for (int i = 0; i < tutorialInfo.TutorialPages.Count; i++)
{
TycoonTutorialPopupUi tycoonTutorialPopupUi = Instantiate(_tutorialPopupUi, _tutorialPopupUiContents);
TutorialPageType tutorialPageType = tutorialInfo.TutorialPages[i].TutorialPageType;
Sprite popupSprite = null;
switch (tutorialPageType)
{
case TutorialPageType.First:
popupSprite = _tutorialSo.FirstPopup;
break;
case TutorialPageType.Middle:
popupSprite = _tutorialSo.MiddlePopup;
break;
case TutorialPageType.Last:
popupSprite = _tutorialSo.LastPopup;
break;
case TutorialPageType.Solo:
popupSprite = _tutorialSo.SoloPopup;
break;
default:
throw new ArgumentOutOfRangeException();
}
tycoonTutorialPopupUi.Initialize(tutorialInfo, i, popupSprite);
tycoonTutorialPopupUis.Add(tycoonTutorialPopupUi);
}
TutorialLink tutorialLink = new TutorialLink(tutorialInfo.TutorialName, tutorialPageToggle, tycoonTutorialPopupUis);
tutorialPageToggle.OnToggleEvent += isOn =>
{
if (_isUpdatingToggle) return; // 이벤트 중복 방지
if (isOn)
{
_isUpdatingToggle = true;
CloseKeyPanels();
_currentTutorialLink?.OnToggle(false);
_currentTutorialLink = tutorialLink;
_currentTutorialLink.OnToggle(true);
UpdateKeyPanels();
FocusOnToggle(_currentTutorialLink.TutorialPageToggle);
_isUpdatingToggle = false;
}
};
_tutorialLinks.Add(tutorialLink);
}
_currentTutorialLink = _tutorialLinks[0];
}
private void OnDestroy()
{
_pressQAction = null;
_pressRAction = null;
_pressAAction = null;
_pressDAction = null;
_interactionEAction = null;
_closeAction = null;
}
public void SetCurrentTutorialLink(string tutorialName = null)
{
if (tutorialName == null)
{
_currentTutorialLink = _tutorialLinks[0];
}
else
{
_currentTutorialLink = _tutorialLinks.Find(link => link.TutorialName == tutorialName);
}
_currentTutorialLink?.OnToggle(true);
_tutorialPanel.SetActive(true);
}
public void ShowUi(bool isInMenu)
{
_isInMenu = isInMenu;
if (_isInMenu)
{
SetCurrentTutorialLink();
_togglePanel.SetActive(true);
UpdateKeyPanels();
_pressQAction.performed += OnMovePreviousToggle;
_pressRAction.performed += OnMovNextToggle;
_closeAction.performed += OnClose;
}
_pressAAction.performed += OnMovePreviousPage;
_pressDAction.performed += OnMoveNextPage;
}
public void ShowUiByName(string tutorialName = null)
{
SetCurrentTutorialLink(tutorialName);
_togglePanel.SetActive(false);
UpdateKeyPanels();
ShowUi(false);
}
public void HideUi()
{
_pressQAction.performed -= OnMovePreviousToggle;
_pressRAction.performed -= OnMovNextToggle;
_pressAAction.performed -= OnMovePreviousPage;
_pressDAction.performed -= OnMoveNextPage;
_interactionEAction.performed -= OnClose;
_closeAction.performed -= OnClose;
_togglePanel.SetActive(false);
_tutorialPanel.SetActive(false);
_currentTutorialLink?.OnToggle(false);
CloseKeyPanels();
CloseAction?.Invoke(_isInMenu);
_isInMenu = false;
}
private void OnMovePreviousToggle(InputAction.CallbackContext context)
{
MoveToggle(-1);
}
private void OnMovNextToggle(InputAction.CallbackContext context)
{
MoveToggle(1);
}
private void MoveToggle(int direction)
{
CloseKeyPanels();
int currentIndex = _tutorialLinks.IndexOf(_currentTutorialLink);
int nextIndex = Mathf.Clamp(currentIndex + direction, 0, _tutorialLinks.Count - 1);
_currentTutorialLink.OnToggle(false);
_currentTutorialLink = _tutorialLinks[nextIndex];
_currentTutorialLink.OnToggle(true);
UpdateKeyPanels();
FocusOnToggle(_currentTutorialLink.TutorialPageToggle);
}
private void FocusOnToggle(TutorialPageToggle selectedToggle)
{
if (!selectedToggle.gameObject.activeInHierarchy) return;
// Viewport와 Content의 너비를 가져오기
float contentWidth = _buttonContents.rect.width; // Content 전체 너비
float viewportWidth = _scrollRect.viewport.rect.width; // Viewport 너비
// 선택된 토글의 x 위치를 Content 기준으로 가져오기
float targetX = selectedToggle.Rect.anchoredPosition.x;
// Normalized Position 계산
// (Content 기준 위치 - 뷰포트 절반) / (Content 너비 - 뷰포트 너비)
float normalizedPosition = Mathf.Clamp01((targetX - (viewportWidth / 2)) / (contentWidth - viewportWidth));
// ScrollRect에 반영
_scrollRect.horizontalNormalizedPosition = normalizedPosition;
}
private void OnMovePreviousPage(InputAction.CallbackContext context)
{
MovePage(false);
}
private void OnMoveNextPage(InputAction.CallbackContext context)
{
MovePage(true);
}
private void MovePage(bool moveNext)
{
if (_currentTutorialLink == null) return;
_currentTutorialLink.MovePage(moveNext);
UpdateKeyPanels();
}
private void CloseKeyPanels()
{
_interactionEAction.performed -= OnClose;
_keyAPanel.SetActive(false);
_keyDPanel.SetActive(false);
_keyEPanel.SetActive(false);
}
private void UpdateKeyPanels()
{
if (_currentTutorialLink == null) return;
int currentPageIndex = _currentTutorialLink.CurrentPageIndex;
int lastPage = _currentTutorialLink.TycoonTutorialPopupUis.Count;
_keyAPanel.SetActive(currentPageIndex > 0);
_keyDPanel.SetActive(currentPageIndex < lastPage - 1);
if (currentPageIndex == lastPage - 1)
{
_keyEPanel.SetActive(true);
_interactionEAction.performed += OnClose;
}
}
private void OnClose(InputAction.CallbackContext context)
{
HideUi();
}
}
}

View File

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

View File

@ -0,0 +1,118 @@
using System;
using System.Collections;
using BlueWater.Uis;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
namespace BlueWater
{
public class TycoonTutorialPopupUi : TutorialPopupUi
{
[SerializeField]
private Image _popupImage;
[SerializeField]
private TMP_Text _titleText;
[SerializeField]
private RectTransform _descriptionTextRect;
[SerializeField]
private TMP_Text _descriptionText;
[SerializeField]
private RectTransform _descriptionTImageRect;
[SerializeField]
private Image _descriptionImage;
[SerializeField]
private TMP_Text _pageText;
[Title("연출")]
[SerializeField]
private Vector3 _descriptionTextAnchorPositionInFirst = new(0f, -37f, 0f);
[SerializeField]
private Vector3 _descriptionTextAnchorPositionExceptFirst = new(0f, -280f, 0f);
[SerializeField]
private Vector3 _descriptionImageAnchorPositionInFirst = new(0f, -210f, 0f);
[SerializeField]
private Vector3 _descriptionImageAnchorPositionExceptFirst = new(0f, -150f, 0f);
private TutorialInfo _tutorialInfo;
private TutorialPage _tutorialPage;
private Coroutine _changedLocaleInstance;
private int _pageIndex;
private void Start()
{
LocalizationSettings.SelectedLocaleChanged += OnChangedLocale;
}
private void OnDestroy()
{
LocalizationSettings.SelectedLocaleChanged -= OnChangedLocale;
}
private void OnChangedLocale(Locale locale)
{
if (!gameObject.activeInHierarchy) return;
Utils.StartUniqueCoroutine(this, ref _changedLocaleInstance, ChangeLocaleCoroutine(locale));
StartCoroutine(ChangeLocaleCoroutine(locale));
}
private IEnumerator ChangeLocaleCoroutine(Locale locale)
{
var loadingOperation = Utils.GetTableAsync();
yield return loadingOperation;
if (loadingOperation.Status == AsyncOperationStatus.Succeeded)
{
_titleText.text = Utils.GetLocalizedString(_tutorialInfo.TitleTextIdx);
_descriptionText.text = Utils.GetLocalizedString(_tutorialPage.DescriptionIdx);
}
}
public void Initialize(TutorialInfo tutorialInfo, int pageindex, Sprite popupSprite)
{
gameObject.SetActive(false);
_tutorialInfo = tutorialInfo;
_pageIndex = pageindex;
_tutorialPage = _tutorialInfo.TutorialPages[_pageIndex];
gameObject.name = $"{_tutorialInfo.TutorialName}{_pageIndex + 1}";
_popupImage.sprite = popupSprite;
if (_tutorialPage.TutorialPageType is TutorialPageType.First or TutorialPageType.Solo)
{
_titleText.text = Utils.GetLocalizedString(_tutorialInfo.TitleTextIdx);
_titleText.enabled = true;
_descriptionTextRect.anchoredPosition = _descriptionTextAnchorPositionInFirst;
_descriptionTImageRect.anchoredPosition = _descriptionImageAnchorPositionInFirst;
}
else
{
_titleText.enabled = false;
_descriptionTextRect.anchoredPosition = _descriptionTextAnchorPositionExceptFirst;
_descriptionTImageRect.anchoredPosition = _descriptionImageAnchorPositionExceptFirst;
}
_descriptionText.text = Utils.GetLocalizedString(_tutorialPage.DescriptionIdx);
_descriptionImage.sprite = _tutorialPage.Sprite;
_pageText.text = $"{_tutorialPage.PageIndex}/{_tutorialInfo.GetPages()}";
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 3ba9784e695ed7541b83a7ba1abc6322

View File

@ -1,5 +1,6 @@
using System.Collections;
using BlueWater.Items;
using BlueWater.Tycoons;
using UnityEngine;
using UnityEngine.UI;
using Spine.Unity;
@ -151,7 +152,45 @@ namespace BlueWater.Uis
_paperAnimation.AnimationState.SetAnimation(0, "Back", false).Complete += (trackEntry) =>
{
Close();
int currentLevel = int.Parse(TycoonManager.Instance.GetCurrentLevelData().Idx);
if (currentLevel == 5)
{
if (!ES3.Load(SaveData.TutorialG, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialG);
ES3.Save(SaveData.TutorialG, true);
}
if (!ES3.Load(SaveData.TutorialH, false))
{
Invoke(nameof(InvokeTutorialH), 0.1f);
}
if (!ES3.Load(SaveData.TutorialI, false))
{
Invoke(nameof(InvokeTutorialI), 0.2f);
}
}
};
}
private void InvokeTutorialH()
{
if (!ES3.Load(SaveData.TutorialH, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialH);
ES3.Save(SaveData.TutorialH, true);
}
}
private void InvokeTutorialI()
{
if (!ES3.Load(SaveData.TutorialI, false))
{
EventManager.InvokeTutorial(TutorialName.TutorialI);
ES3.Save(SaveData.TutorialI, true);
}
}
}
}

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 5a6a33286645736499caef60e479872d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 512
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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: LineBlue_0
rect:
serializedVersion: 2
x: 0
y: 193
width: 501
height: 126
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 45b63c140f250f0449cd927175c4032a
internalID: 1688200871
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
LineBlue_0: 1688200871
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 874505529dc5b944d8f40cebd9e89e73
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: GhostPubLogo_0
rect:
serializedVersion: 2
x: 35
y: 393
width: 964
height: 315
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 2d993888e58c6a64083febc2917b4f84
internalID: -225875059
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 23b38dbdce8895742ba8d620ab639026
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
GhostPubLogo_0: -225875059
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: d881395249d9f7d43940877db16f096d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: FirstTutorialPopup_0
rect:
serializedVersion: 2
x: 8
y: 71
width: 495
height: 367
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d6123bba44ba06c4ab92e5595a0a4e52
internalID: 1581927570
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: e1339f5fcadcf7a4bb3a97ce782e9668
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
FirstTutorialPopup_0: 1581927570
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: d21603cd31610504c847fd606881daba
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: LastTutorialPopup_0
rect:
serializedVersion: 2
x: 8
y: 71
width: 495
height: 367
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: c0cfbda8f52fa0045a71895bc616cbc7
internalID: -1576049482
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: d26d646014f5c6547bdc95e7f7860115
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
LastTutorialPopup_0: -1576049482
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 4eb21a9cf7ed8e44388a74756a151b20
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: MiddleTutorialPopup_0
rect:
serializedVersion: 2
x: 8
y: 71
width: 495
height: 367
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 8ecd499f59443b944b4dc87a9529cd47
internalID: 1740845040
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5dbf30a2698921c4fbcdc5353336403d
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
MiddleTutorialPopup_0: 1740845040
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 18df90d5364975848a51832a491b7cc0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: TutorialPopup_0
rect:
serializedVersion: 2
x: 8
y: 71
width: 495
height: 367
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 20f13d46d9f138e40802687a44edf52e
internalID: -395976741
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: c925ab980e2e49841b0cd334af94e055
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
TutorialPopup_0: -395976741
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: afd5578434dc2944ab12b4135cab3cad
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: TutorialPageButton_0
rect:
serializedVersion: 2
x: 1
y: 112
width: 510
height: 287
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 789ce1987122867408562c3a4192aaba
internalID: -197434440
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 468cc5842b9ea8e41a36230e57dd91c0
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
TutorialPageButton_0: -197434440
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 1581794126c6e8846aa23b97413ac8da
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
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: TutorialPageSelectedButton_0
rect:
serializedVersion: 2
x: 1
y: 112
width: 510
height: 287
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 118cc429255a9d94fb16f18ecd684d0e
internalID: -1650058480
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: cb517094c8ebcfd429a1b8254889f96e
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
TutorialPageSelectedButton_0: -1650058480
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5a6a33286645736499caef60e479872d
guid: fd570d5f2e74f9649b223b27e4bfd279
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@ -48,7 +48,7 @@ TextureImporter:
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 512
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@ -133,6 +133,8 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 0093f30129ff92c4db9ca55525f3f035
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 29fd4626221cc4e449047cb509a4b670
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 3d7a8b0b4b41eac4aa4098cef0206994
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 1b6fbbe5c5df6df45b4feabedfc5d24d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 4b752d2d5763abc4cb65b8355450cc70
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: f13384a7d3bd41a48a5ef3bd2671681b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 4c88f781368f1354bbc3dc6d16a5e092
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 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
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More