This commit is contained in:
SweetJJuya 2024-12-10 18:56:57 +09:00
commit 50523c903a
292 changed files with 236114 additions and 54087 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
using BehaviorDesigner.Runtime;
using BlueWater.Audios;
using BlueWater.Enemies;
using BlueWater.Interfaces;
using BlueWater.Players;
@ -61,6 +62,10 @@ namespace BlueWater.Npcs.Crews
[field: SerializeField, Required]
public AiMovement AIMovement { get; private set; }
[Title("사운드")]
[SerializeField]
private string _createCrewSfxName = "CreateCrew";
public bool IsMoving { get; protected set; }
@ -126,6 +131,7 @@ namespace BlueWater.Npcs.Crews
public virtual void Initialize()
{
AudioManager.Instance.PlaySfx(_createCrewSfxName);
BehaviorTree.EnableBehavior();
}

View File

@ -1,9 +1,11 @@
using BlueWater.Audios;
using BlueWater.Interfaces;
namespace BlueWater.Npcs.Customers
{
public class VomitState : IStateMachine<Customer>
{
private string _vomitSfxName = "Vomit";
private bool _isVomiting;
public void EnterState(Customer character)
@ -13,8 +15,9 @@ namespace BlueWater.Npcs.Customers
public void UpdateState(Customer character)
{
if (character.SpineController.IsAnimationComplete())
if (!_isVomiting && character.SpineController.IsAnimationComplete())
{
AudioManager.Instance.PlaySfx(_vomitSfxName);
character.SpineController.PlayAnimation(CustomerSpineAnimation.Vomiting, false);
_isVomiting = true;
}

View File

@ -10,9 +10,6 @@ namespace BlueWater.Players
public class PlayerHealthPoint : MonoBehaviour, IDamageable
{
// Components
[SerializeField]
private SpriteRenderer _spriteRenderer;
private IDashable _dashable;
private ISkillHandler _skillHandler;
@ -29,9 +26,22 @@ namespace BlueWater.Players
[field: SerializeField]
public bool IsInvincible { get; private set; }
[SerializeField]
private bool _isShaking;
[SerializeField, ShowIf("@_isShaking")]
private float _shakingPower = 0.5f;
[SerializeField, ShowIf("@_isShaking")]
private float _shakingDuration = 0.1f;
[SerializeField]
private string attackedSfxName = "CombatPlayerAttacked";
[SerializeField]
private string heartRecoverySfxName;
private Material _materialInstance;
private WaitForSeconds _flashWhiteWaitTime;
private Coroutine _flashWhiteCoroutine;
private Coroutine _damageIntervalCoroutine;
@ -55,8 +65,6 @@ namespace BlueWater.Players
[Button("컴포넌트 초기화")]
private void InitializeComponents()
{
_spriteRenderer = GetComponentInChildren<SpriteRenderer>();
_dashable = GetComponent<IDashable>();
_skillHandler = GetComponent<ISkillHandler>();
}
@ -106,12 +114,17 @@ namespace BlueWater.Players
return !isDashing && !isActivatingSkill;
}
[Button("데미지 테스트")]
public void TakeDamage(int damageAmount)
{
AudioManager.Instance.PlaySfx(attackedSfxName);
IsInvincible = true;
var changeHp = Mathf.Max(CurrentHealthPoint - damageAmount, 0);
SetCurrentHealthPoint(changeHp);
AudioManager.Instance.PlaySfx("CombatPlayerAttacked");
if (_isShaking)
{
VisualFeedbackManager.Instance.CameraShake(TycoonCameraManager.Instance.BaseCamera, _shakingPower, _shakingDuration);
}
// 죽었는지 체크
if (changeHp == 0f)
@ -120,7 +133,7 @@ namespace BlueWater.Players
return;
}
if (_spriteRenderer.material.HasInt(IsHitHash))
if (_materialInstance.HasInt(IsHitHash))
{
Utils.StartUniqueCoroutine(this, ref _flashWhiteCoroutine, FlashWhiteCoroutine());
}
@ -143,9 +156,9 @@ namespace BlueWater.Players
{
for (var i = 0; i < 5; i++)
{
_spriteRenderer.material.SetInt(IsHitHash, 1);
_materialInstance.SetInt(IsHitHash, 1);
yield return _flashWhiteWaitTime;
_spriteRenderer.material.SetInt(IsHitHash, 0);
_materialInstance.SetInt(IsHitHash, 0);
yield return _flashWhiteWaitTime;
}
@ -160,5 +173,6 @@ namespace BlueWater.Players
public void ActivateInvincibility() => IsInvincible = true;
public void DeactivateInvincibility() => IsInvincible = false;
public void SetMaterialInstance(Material materialInstance) => _materialInstance = materialInstance;
}
}

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Tycoons;
using BlueWater.Utility;
@ -27,7 +28,26 @@ namespace BlueWater.Players.Tycoons
public bool IsMoveEnabled { get; private set; } = true;
public bool IsMoving { get; private set; }
private bool _isMoving;
public bool IsMoving
{
get => _isMoving;
private set
{
if (_isMoving == value) return;
_isMoving = value;
if (_isMoving)
{
AudioManager.Instance.PlaySfx(_walkingSfxName, true);
}
else
{
AudioManager.Instance.StopSfx(_walkingSfxName);
}
}
}
// Dash
[field: Title("대쉬")]
@ -42,6 +62,10 @@ namespace BlueWater.Players.Tycoons
[SerializeField]
private ParticleSystem _dashParticle;
[Title("사운드")]
[SerializeField]
private string _walkingSfxName = "TycoonPlayerWalking";
public bool IsDashEnabled { get; private set; } = true;
public bool IsDashing { get; private set; }
@ -59,6 +83,7 @@ namespace BlueWater.Players.Tycoons
if (value == Vector3.zero) return;
_currentDirection = value;
}
}
@ -172,7 +197,11 @@ namespace BlueWater.Players.Tycoons
public void Move()
{
if (IsDashing) return;
if (IsDashing)
{
IsMoving = false;
return;
}
CurrentDirection = _inputDirection;
IsMoving = _inputDirection != Vector3.zero;

View File

@ -5,7 +5,6 @@ using BlueWater.Uis;
using Sirenix.OdinInspector;
using Spine.Unity;
using UnityEngine;
using UnityEngine.InputSystem;
namespace BlueWater.Players.Tycoons
{
@ -67,6 +66,8 @@ namespace BlueWater.Players.Tycoons
[SerializeField]
private Vector3 _offset = new(0f, 1.5f, 0f);
public Material MaterialInstance { get; protected set; }
public bool IsCleaningFloor { get; set; }
public bool IsCleaningTable { get; set; }
public bool IsCleaningMold { get; set; }
@ -108,6 +109,12 @@ namespace BlueWater.Players.Tycoons
EventManager.OnPlaceOnServingTable += PlaceOnServingTable;
TycoonMovement.OnSucceedDash += DashSucceed;
var originalMaterial = SpineController.SkeletonAnimation.SkeletonDataAsset.atlasAssets[0].PrimaryMaterial;
var newMaterial = SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial];
MaterialInstance = Instantiate(newMaterial);
SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial] = MaterialInstance;
PlayerHealthPoint.SetMaterialInstance(MaterialInstance);
IdleState = new IdleState();
WalkingState = new WalkingState();
@ -167,7 +174,10 @@ namespace BlueWater.Players.Tycoons
private void Die()
{
int saveGold = Mathf.RoundToInt(TycoonManager.Instance.TycoonStatus.CurrentGold * TycoonManager.Instance.TycoonStatus.EndGoldMultiplier);
int currentGold = TycoonManager.Instance.TycoonStatus.CurrentGold;
float endGoldMultiplier = -0.5f + TycoonManager.Instance.TycoonStatus.EndGoldMultiplier;
int addedGold = Mathf.RoundToInt(currentGold * endGoldMultiplier);
int saveGold = currentGold + addedGold;
ES3.Save(SaveData.EndGold, saveGold);
ES3.Save(SaveData.CompleteFirstGame, true);
}

View File

@ -6,6 +6,7 @@ using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Npcs.Customers;
using BlueWater.Utility;
using Newtonsoft.Json;
using UnityEditor;
using UnityEngine;
@ -202,23 +203,28 @@ namespace BlueWater.Editors
}
}
// 새로운 데이터를 기존 데이터에 덮어쓰거나 추가
// 새로운 데이터를 처리
foreach (var newDataItem in newData)
{
if (newDataItem == null || newDataItem.Value == null) continue;
if (existingDataDict.TryGetValue(newDataItem.Key, out var existingItem))
{
// 기존 데이터가 있으면 업데이트
var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var property in properties)
{
var newValue = property.GetValue(newDataItem.Value);
var existingValue = property.GetValue(existingItem.Value);
// 덮어쓰기 조건 (참조 타입이거나, 값 타입이 기본값이 아닌 경우에만 덮어씀)
if (ShouldOverwriteProperty(newValue, existingValue, property))
// JSON 데이터에서 덮어쓸 프로퍼티만 처리
if (property.GetCustomAttribute<JsonPropertyAttribute>() != null)
{
property.SetValue(existingItem.Value, newValue);
var newValue = property.GetValue(newDataItem.Value);
var existingValue = property.GetValue(existingItem.Value);
// 덮어쓰기 조건 확인
if (ShouldOverwriteProperty(newValue, existingValue, property))
{
property.SetValue(existingItem.Value, newValue);
}
}
}
}
@ -229,7 +235,7 @@ namespace BlueWater.Editors
}
}
// 기존 데이터 리스트를 다시 갱신
// 기존 데이터를 유지하고 새로운 데이터를 덮어쓰거나 추가한 결과로 갱신
existingData.Clear();
existingData.AddRange(existingDataDict.Values);
}

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using Sirenix.Utilities;
using UnityEngine;
@ -11,42 +12,55 @@ namespace BlueWater.Items
public class CocktailData : IPickup
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("오차 범위"), BoxGroup("Json 데이터 영역")]
public int RatioRange { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("1번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx1 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("1번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio1 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("2번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx2 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("2번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio2 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("3번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx3 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("3번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio3 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("4번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx4 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("4번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio4 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("5번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx5 { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("5번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio5 { get; set; }

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -16,15 +17,19 @@ namespace BlueWater.Items
public class LiquidData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("종류"), BoxGroup("Json 데이터 영역")]
public LiquidType Type { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("총량"), BoxGroup("Json 데이터 영역")]
public int Amount { get; set; }

View File

@ -38,27 +38,35 @@ namespace BlueWater.Items
public class ItemData : IPickup
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("고유 식별 ID"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("아이템 종류"), BoxGroup("Json 데이터 영역")]
public ItemType Type { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("재료 종류"), BoxGroup("Json 데이터 영역")]
public IngredientType IngredientType { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("아이템 품질"), BoxGroup("Json 데이터 영역")]
public ItemQuality Quality { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("가격"), BoxGroup("Json 데이터 영역")]
public int Price { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("무게"), BoxGroup("Json 데이터 영역")]
public int Weight { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("설명"), TextArea(3, 10), BoxGroup("Json 데이터 영역")]
public string Description { get; set; }

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.Localization.Settings;
@ -11,7 +12,11 @@ namespace BlueWater
Korean = 0,
English = 1,
ChineseSimplified = 2,
Spanish = 3
ChineseTradition = 3,
Japanese = 4,
Spanish = 5,
Russian = 6,
French = 7
}
public class LocalizationManager : Singleton<LocalizationManager>
@ -19,7 +24,13 @@ namespace BlueWater
public bool IsInitialized;
[SerializeField]
private Material _defaultFontMaterial;
private List<Material> _usedFontMaterials = new();
[SerializeField]
private float _defaultOutlineSize = 0.2f;
[SerializeField]
private float _chineseOutlineSize = 0.05f;
private bool _isChanging;
@ -51,13 +62,13 @@ namespace BlueWater
yield return LocalizationSettings.InitializationOperation;
LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[(int)localeType];
if (localeType == LocaleType.ChineseSimplified)
if (localeType == LocaleType.ChineseSimplified || localeType == LocaleType.ChineseTradition)
{
SetMaterialOutline(0.1f);
SetMaterialOutline(_chineseOutlineSize);
}
else
{
SetMaterialOutline(0.2f);
SetMaterialOutline(_defaultOutlineSize);
}
ES3.Save(SaveData.Locale, (int)localeType);
@ -87,14 +98,21 @@ namespace BlueWater
LocaleType.Korean => "한국어",
LocaleType.English => "English",
LocaleType.ChineseSimplified => "中文(简体)",
LocaleType.ChineseTradition => "中文(繁體)",
LocaleType.Japanese => "日本語",
LocaleType.Spanish => "Español",
LocaleType.Russian => "Русский",
LocaleType.French => "Français",
_ => "Unknown"
};
}
public void SetMaterialOutline(float value)
{
_defaultFontMaterial.SetFloat(OutlineWidthHash, value);
foreach (var element in _usedFontMaterials)
{
element.SetFloat(OutlineWidthHash, value);
}
}
}
}

View File

@ -46,6 +46,8 @@ namespace BlueWater
{
[SerializeField]
private PlayerInput _currentPlayerInput;
public bool IsInitialized { get; private set; }
protected override void OnAwake()
{
@ -73,6 +75,7 @@ namespace BlueWater
private async Task Initialize()
{
IsInitialized = false;
await Task.Delay(1000);
DisableAllActionMaps();
@ -86,6 +89,8 @@ namespace BlueWater
{
SwitchCurrentActionMap(InputActionMaps.Tycoon);
}
IsInitialized = true;
}
/// <summary>

View File

@ -1,4 +1,5 @@
using System;
using BlueWater.Audios;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using UnityEngine;
@ -54,6 +55,9 @@ namespace BlueWater.Tycoons
[SerializeField]
private float _playerHoldingTime = 3f;
[SerializeField]
private string _attackMoldSfxName = "AttackMold";
private bool _isPlayerInteracting;
private int _currentLevel;
@ -121,6 +125,7 @@ namespace BlueWater.Tycoons
}
else
{
AudioManager.Instance.PlaySfx(_attackMoldSfxName, true);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningMold = true;
_isPlayerInteracting = true;
}
@ -135,6 +140,7 @@ namespace BlueWater.Tycoons
}
else
{
AudioManager.Instance.StopSfx(_attackMoldSfxName);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningMold = false;
_isPlayerInteracting = false;
HoldingElapsedTime = 0f;
@ -373,21 +379,27 @@ namespace BlueWater.Tycoons
{
case 0:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel0, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel0, false);
break;
case 1:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel1, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel1, false);
break;
case 2:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel2, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel2, false);
break;
case 3:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel3, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel3, false);
break;
case 4:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel4, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel4, false);
break;
case 5:
SpineController.PlayAnimation(LiquidBarrelSpineAnimation.ChangeCleanLevel5, false);
SpineController.AddAnimation(LiquidBarrelSpineAnimation.IdleLevel5, false);
break;
default:
throw new Exception("_currentLevel 존재하지 않는 값");

View File

@ -1,10 +1,17 @@
using System;
using BlueWater.Audios;
using BlueWater.Players;
using BlueWater.Uis;
using UnityEngine;
namespace BlueWater.Tycoons
{
public static class PumpSpineAnimation
{
public const string Idle = "Idle";
public const string Run = "Run";
}
[Serializable]
public class Pump : InteractionFurniture
{
@ -23,6 +30,12 @@ namespace BlueWater.Tycoons
[SerializeField, Range(0, 1000)]
private int addedLiquid = 400;
[SerializeField]
private string _attackSfxName = "AttackWhip";
[SerializeField]
private string _playPumpSfxName = "PlayPump";
private bool _isPlayerInteracting;
protected override void Awake()
@ -36,7 +49,7 @@ namespace BlueWater.Tycoons
{
base.Start();
_spineController.PlayAnimation("Idle", true);
_spineController.PlayAnimation(PumpSpineAnimation.Idle, true);
}
private void Update()
@ -72,16 +85,20 @@ namespace BlueWater.Tycoons
public override void Interaction()
{
AudioManager.Instance.PlaySfx(_attackSfxName, true);
AudioManager.Instance.PlaySfx(_playPumpSfxName, true);
GameManager.Instance.CurrentTycoonPlayer.IsPumping = true;
_isPlayerInteracting = true;
_spineController.PlayAnimation("Run", true);
_spineController.PlayAnimation(PumpSpineAnimation.Run, true);
}
public override void CancelInteraction()
{
AudioManager.Instance.StopSfx(_attackSfxName);
AudioManager.Instance.StopSfx(_playPumpSfxName);
GameManager.Instance.CurrentTycoonPlayer.IsPumping = false;
_isPlayerInteracting = false;
_spineController.PlayAnimation("Idle", true);
_spineController.PlayAnimation(PumpSpineAnimation.Idle, true);
}
public override bool CanInteraction()

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine;
@ -9,6 +10,7 @@ namespace BlueWater.Tycoons
[Serializable]
public class RewardBox : InteractionFurniture
{
[Title("참조")]
[SerializeField]
private AnimationController _animationController;
@ -25,6 +27,9 @@ namespace BlueWater.Tycoons
[SerializeField]
private Ease _ease = Ease.OutQuad;
[SerializeField]
private string _interactionFailedSfxName = "RewardBoxInteractionFailed";
private Tween _unavailablePurchaseTween;
private RewardBoxType _rewardBoxType;
private int _requiredGold;
@ -55,6 +60,7 @@ namespace BlueWater.Tycoons
if (TycoonManager.Instance.TycoonStatus.CurrentGold < _requiredGold)
{
AudioManager.Instance.PlaySfx(_interactionFailedSfxName);
_unavailablePurchaseTween.Restart();
return;
}

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Npcs.Crews;
@ -16,6 +17,9 @@ namespace BlueWater.Tycoons
[FormerlySerializedAs("_cocktailGlassImage")]
[SerializeField]
protected SpriteRenderer CocktailGlassImage;
[SerializeField]
private string _putDownSfxName = "PutDownCocktail";
// 서빙 테이블 기준 아이템이 있는지 없는지
private IPickup _currentPickupItem;
@ -78,6 +82,7 @@ namespace BlueWater.Tycoons
// 테이블에 칵테일을 놓는 경우
else
{
AudioManager.Instance.PlaySfx(_putDownSfxName);
CurrentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.CurrentPickupItem;
CocktailGlassImage.sprite = CurrentPickupItem.Sprite;
CocktailGlassImage.enabled = true;

View File

@ -122,11 +122,8 @@ namespace BlueWater.Tycoons
}
}
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
}
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
EventManager.InvokeCleaningResult(true);
CleanTable();
@ -222,7 +219,7 @@ namespace BlueWater.Tycoons
_currentLevelData = TycoonManager.Instance.GetCurrentLevelData();
Food.sprite = _emptyBeerGlass;
Food.enabled = true;
InteractionCanvas.BalloonUi.OrderItem(DataManager.Instance.SpriteDataSo.Cleaning, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime);
InteractionCanvas.BalloonUi.OrderItem(0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime);
IsCleaned = false;
var crewController = TycoonManager.Instance.CrewController;

View File

@ -1,4 +1,5 @@
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Players;
using UnityEngine;
@ -199,10 +200,17 @@ namespace BlueWater.Tycoons
private void ChangeRandomCocktail()
{
var randomCocktail = TycoonManager.Instance.TycoonIngredientController.GetRandomCocktailData();
IPickup playerCurrentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.CurrentPickupItem;
if (playerCurrentPickupItem != null)
{
CocktailData discardCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(playerCurrentPickupItem.Idx);
EventManager.InvokeCocktailServedToCustomer(discardCocktailData, false);
}
CocktailData randomCocktail = TycoonManager.Instance.TycoonIngredientController.GetRandomCocktailData();
EventManager.InvokeChangedRandomCocktail(randomCocktail);
InteractionCanvas.BalloonUi.OrderItem(DataManager.Instance.SpriteDataSo.Waiting, 0,
TycoonManager.Instance.TycoonStageController.StageDataSo.RandomChangeWaitTime);
EventManager.InvokeCocktailCompleted(randomCocktail, false);
InteractionCanvas.BalloonUi.OrderItem(0, TycoonManager.Instance.TycoonStageController.StageDataSo.RandomChangeWaitTime);
HoldingElapsedTime = 0f;
_canInteraction = false;

View File

@ -102,7 +102,7 @@ namespace BlueWater.Tycoons
public void Initialize()
{
InteractionCanvas.BalloonUi.OrderItem(DataManager.Instance.SpriteDataSo.Cleaning, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.VomitingWaitTime);
InteractionCanvas.BalloonUi.OrderItem(0, TycoonManager.Instance.TycoonStageController.StageDataSo.VomitingWaitTime);
var crewController = TycoonManager.Instance.CrewController;
Utils.StartUniqueCoroutine(this, ref _findCleanerCrewInstance,
crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.CleanerCrews, crew => crew.OnMission(this)));
@ -134,11 +134,9 @@ namespace BlueWater.Tycoons
{
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false;
}
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
}
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
Destroy(gameObject);
}

View File

@ -35,3 +35,5 @@ MonoBehaviour:
<Clip>k__BackingField: {fileID: 8300000, guid: 1bc7195dc49231b49b0adb01fac3ec8c, type: 3}
- <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}

View File

@ -76,13 +76,15 @@ MonoBehaviour:
- <SfxName>k__BackingField: TycoonGameStart
<Clip>k__BackingField: {fileID: 8300000, guid: cdccda37bdd4fb74d9cc670189794dce, type: 3}
- <SfxName>k__BackingField: TycoonGameOver
<Clip>k__BackingField: {fileID: 8300000, guid: 7163b3c58a6e6b04794cee1e110f19de, type: 3}
<Clip>k__BackingField: {fileID: 8300000, guid: 03604d77826d7854b9e62231641e673b, type: 3}
- <SfxName>k__BackingField: CleaningFloor
<Clip>k__BackingField: {fileID: 8300000, guid: 67376a69110e3974d8881b5c746622a7, type: 3}
- <SfxName>k__BackingField: CleaningTable
<Clip>k__BackingField: {fileID: 8300000, guid: 717f06a127178564ab5ea8cdf9da3ef2, type: 3}
- <SfxName>k__BackingField: ManualBook
- <SfxName>k__BackingField: OpenManualBook
<Clip>k__BackingField: {fileID: 8300000, guid: a324e82da09f7f84cab40d74f755c9e8, type: 3}
- <SfxName>k__BackingField: CloseManualBook
<Clip>k__BackingField: {fileID: 8300000, guid: b1d132518b614a743ac3a571ac75718c, type: 3}
- <SfxName>k__BackingField: SucceedServing
<Clip>k__BackingField: {fileID: 8300000, guid: 2d6aad5746316bf4fb6bb7aed8d89c4e, type: 3}
- <SfxName>k__BackingField: FailedServing
@ -91,7 +93,33 @@ MonoBehaviour:
<Clip>k__BackingField: {fileID: 8300000, guid: 9778d97789d1ea245a9d31c2ff915bb7, type: 3}
- <SfxName>k__BackingField: GainGold
<Clip>k__BackingField: {fileID: 8300000, guid: f556df27b6add5a49979cc7a158f6110, type: 3}
- <SfxName>k__BackingField: RareRewardBox
- <SfxName>k__BackingField: OpenNormalRewardBox
<Clip>k__BackingField: {fileID: 8300000, guid: 92cf41edb5694a04eb27847dae1b337f, type: 3}
- <SfxName>k__BackingField: OpenRareRewardBox
<Clip>k__BackingField: {fileID: 8300000, guid: 3f98ecaf35492e744bb4dc943e1a39b1, type: 3}
- <SfxName>k__BackingField: SelectedButton01
<Clip>k__BackingField: {fileID: 8300000, guid: 80adc41542bc901439938907231717a8, type: 3}
- <SfxName>k__BackingField: PlayChain
<Clip>k__BackingField: {fileID: 8300000, guid: 2374925c2e5dd7e47bc214461e4b329d, type: 3}
- <SfxName>k__BackingField: Vomit
<Clip>k__BackingField: {fileID: 8300000, guid: a2bebee4126e87746b5fc1a514ceb4a0, type: 3}
- <SfxName>k__BackingField: PlayPump
<Clip>k__BackingField: {fileID: 8300000, guid: b532d80acad8e6e4e85dbca6096b071e, type: 3}
- <SfxName>k__BackingField: AttackWhip
<Clip>k__BackingField: {fileID: 8300000, guid: d4b4534edc51fb141860a1b599eb6e53, type: 3}
- <SfxName>k__BackingField: PutDownCocktail
<Clip>k__BackingField: {fileID: 8300000, guid: 0320fecde5b376f46a0ff9904e17fbc3, type: 3}
- <SfxName>k__BackingField: AttackMold
<Clip>k__BackingField: {fileID: 8300000, guid: 603fde43ec110ee42bf61c41ca21a1fb, type: 3}
- <SfxName>k__BackingField: BillResult
<Clip>k__BackingField: {fileID: 8300000, guid: fb03bb1344e16b041af9ac81d4d3c395, type: 3}
- <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}
- <SfxName>k__BackingField: CreateCrew
<Clip>k__BackingField: {fileID: 8300000, guid: 557c74c78a72aac41ae6da3f8477169c, 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}

View File

@ -16,7 +16,7 @@ MonoBehaviour:
- <Key>k__BackingField: LiquidA
<Value>k__BackingField:
<Idx>k__BackingField: LiquidA
<Name>k__BackingField: "\uC220 \uC6D0\uC561A"
<Name>k__BackingField: "\uC5EC\uC2E0\uC758 \uB208\uBB3C"
<Type>k__BackingField: 1
<Amount>k__BackingField: 99999
<Sprite>k__BackingField: {fileID: 21300000, guid: a8c45767f0a3ec245a47087c7ada2b50, type: 3}
@ -24,7 +24,7 @@ MonoBehaviour:
- <Key>k__BackingField: LiquidB
<Value>k__BackingField:
<Idx>k__BackingField: LiquidB
<Name>k__BackingField: "\uC220 \uC6D0\uC561B"
<Name>k__BackingField: "\uB808\uBE44\uC544\uD0C4\uC758 \uB3C5\uB2C8"
<Type>k__BackingField: 1
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: 216cb30d7010e95499c22161ccfde634, type: 3}
@ -32,7 +32,7 @@ MonoBehaviour:
- <Key>k__BackingField: LiquidC
<Value>k__BackingField:
<Idx>k__BackingField: LiquidC
<Name>k__BackingField: "\uC220 \uC6D0\uC561C"
<Name>k__BackingField: "\uB9DD\uB839\uC8FC"
<Type>k__BackingField: 1
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: 404e93e2e77f60b49bbcbf1df18904d3, type: 3}
@ -40,7 +40,7 @@ MonoBehaviour:
- <Key>k__BackingField: LiquidD
<Value>k__BackingField:
<Idx>k__BackingField: LiquidD
<Name>k__BackingField: "\uC220 \uC6D0\uC561D"
<Name>k__BackingField: "\uC2EC\uD574\uC758 \uC6A9\uACFC\uC8FC"
<Type>k__BackingField: 1
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: a575a803ef0529e43bcbbe8ccdbb34b2, type: 3}
@ -48,7 +48,7 @@ MonoBehaviour:
- <Key>k__BackingField: LiquidE
<Value>k__BackingField:
<Idx>k__BackingField: LiquidE
<Name>k__BackingField: "\uC220 \uC6D0\uC561E"
<Name>k__BackingField: "\uC800\uC2B9 \uBC8C\uAFC0\uC8FC"
<Type>k__BackingField: 1
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: 2fc24dca6ce6ac94da0187dfce24fa3a, type: 3}
@ -56,7 +56,7 @@ MonoBehaviour:
- <Key>k__BackingField: Garnish1
<Value>k__BackingField:
<Idx>k__BackingField: Garnish1
<Name>k__BackingField: "\uAC00\uB2C8\uC26C1"
<Name>k__BackingField: "\uC5BC\uC74C \uC2AC\uB77C\uC784 \uC870\uAC01"
<Type>k__BackingField: 2
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: ddde5976023f9be4e83dc3d867c2dc30, type: 3}
@ -64,7 +64,7 @@ MonoBehaviour:
- <Key>k__BackingField: Garnish2
<Value>k__BackingField:
<Idx>k__BackingField: Garnish2
<Name>k__BackingField: "\uAC00\uB2C8\uC26C2"
<Name>k__BackingField: "\uB808\uBAAC \uD53C\uC26C \uC2EC\uC7A5 \uC870\uAC01"
<Type>k__BackingField: 2
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 21300000, guid: 1506abfb2ff26fa4aacdeb4b0efc9663, type: 3}

View File

@ -24,6 +24,6 @@ namespace BlueWater
public Sprite Waiting { get; private set; }
[field: SerializeField]
public Sprite Cleaning { get; private set; }
public Sprite Dirty { get; private set; }
}
}

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -9,12 +10,15 @@ namespace BlueWater
public class CardData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("Idx"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("Text"), BoxGroup("Json 데이터 영역")]
public string ScriptText { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("최대 값"), BoxGroup("Json 데이터 영역")]
public int Max { get; set; }

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -9,9 +10,11 @@ namespace BlueWater
public class CardNormalData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("Idx"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("확률"), BoxGroup("Json 데이터 영역")]
public int Ratio { get; set; }
}

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -9,9 +10,11 @@ namespace BlueWater
public class CardRareData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("Idx"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("확률"), BoxGroup("Json 데이터 영역")]
public int Ratio { get; set; }
}

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -9,12 +10,15 @@ namespace BlueWater
public class CardShopData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("Idx"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("확률"), BoxGroup("Json 데이터 영역")]
public int Ratio { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("가격"), BoxGroup("Json 데이터 영역")]
public int Price { get; set; }
}

View File

@ -1,5 +1,6 @@
using System;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -15,36 +16,47 @@ namespace BlueWater
public class LevelData : IIdx
{
[BoxGroup("Json 데이터 영역")]
[JsonProperty]
[field: SerializeField, Tooltip("레벨"), BoxGroup("Json 데이터 영역")]
public string Idx { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("손님 재입장 시간"), BoxGroup("Json 데이터 영역")]
public int CustomerRespawn { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("기본 골드량"), BoxGroup("Json 데이터 영역")]
public int Gold { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("기본 경험치량"), BoxGroup("Json 데이터 영역")]
public int Exp { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("레벨업 요구 경험치량"), BoxGroup("Json 데이터 영역")]
public int RequiredExp { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("얌전히 기다리는 시간"), BoxGroup("Json 데이터 영역")]
public int WaitTime { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("재촉하는 시간 (게이지 활성화)"), BoxGroup("Json 데이터 영역")]
public int HurryTime { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("먹는 시간"), BoxGroup("Json 데이터 영역")]
public int EatingTime { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("업그레이드 목록"), BoxGroup("Json 데이터 영역")]
public string OpenUpgrade { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("보물상자 종류"), BoxGroup("Json 데이터 영역")]
public RewardBoxType RewardBoxType { get; set; }
[JsonProperty]
[field: SerializeField, Tooltip("보물상자 가격"), BoxGroup("Json 데이터 영역")]
public int RewardBoxPrice { get; set; }
}

View File

@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using BlueWater.Audios;
using BlueWater.Uis;
using Sirenix.OdinInspector;
using UnityEngine;
@ -10,6 +12,7 @@ namespace BlueWater.Tycoons
[SerializeField]
private TycoonCard _tycoonCardPrefab;
[Title("So")]
[field: SerializeField, Required]
public CardDataSo CardDataSo { get; private set; }
@ -22,18 +25,25 @@ namespace BlueWater.Tycoons
[field: SerializeField, Required]
public CardRareDataSo CardRareDataSo { get; private set; }
[Title("사운드")]
[SerializeField]
private string _selectCardSfxName = "SelectCard";
private TycoonManager _tycoonManager;
private TycoonStatus _tycoonStatus;
[ShowInInspector]
public Dictionary<string, int> SelectedCard { get; private set; }
private void Awake()
{
SelectedCard = new Dictionary<string, int>(CardDataSo.GetDataCount());
}
private void Start()
{
_tycoonManager = TycoonManager.Instance;
_tycoonStatus = _tycoonManager.TycoonStatus;
SelectedCard = new Dictionary<string, int>(CardDataSo.GetDataCount());
}
public TycoonCard CreateTycoonCard(Transform instantiateLocation = null)
@ -55,6 +65,7 @@ namespace BlueWater.Tycoons
public void SelectCard(TycoonCard currentTycoonCard)
{
AudioManager.Instance.PlaySfx(_selectCardSfxName, ignoreTimeScale:true);
currentTycoonCard.CardCountUp();
switch (currentTycoonCard.CardDataForIdx.Idx) //탐색 후 행동...

View File

@ -105,6 +105,7 @@ public class TycoonGameOver : PopupUi
{
Open();
AudioManager.Instance.StopBgm();
AudioManager.Instance.PlaySfx(_gameOverSfxName, ignoreTimeScale: true);
// 2.0초 동안은 흔들리기만 함

View File

@ -26,6 +26,7 @@ namespace BlueWater.Tycoons
[SerializeField]
private RewardBox _rareRewardBoxObject;
[ShowInInspector]
public Dictionary<string, int> InstanceCocktailDatas { get; private set; } = new();
private int _playerServingCount;

View File

@ -323,7 +323,7 @@ namespace BlueWater.Tycoons
PlayerMoveSpeedMultiplier = GameManager.Instance.CurrentTycoonPlayer.TycoonMovement.MoveSpeedMultiplier;
PlayerDashCooldownReduction = 0;
TipMultiplier = 0f;
EndGoldMultiplier = 0.5f;
EndGoldMultiplier = 0f;
_customerHurryTimeIncrease = 0;
BarrelAutoIncrease = 0;
ServerTipMultiplier = 0f;

View File

@ -9,6 +9,9 @@ using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
public enum ScreenMode
@ -42,14 +45,16 @@ public class TitleOptions : PopupUi
private TMP_Dropdown _languageDropdown;
private AudioManager _audioManager;
private InputAction _interactionEAction;
private InputAction _closeOptionsAction;
private Coroutine _changedLocaleInstance;
public Action CloseOptions;
private void Start()
{
LocalizationSettings.SelectedLocaleChanged += OnChangedLocale;
_interactionEAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.InteractionE);
_closeOptionsAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.TycoonUi, TycoonUiActions.Cancel);
@ -72,6 +77,8 @@ public class TitleOptions : PopupUi
private void OnDestroy()
{
LocalizationSettings.SelectedLocaleChanged -= OnChangedLocale;
if (_interactionEAction != null)
{
_interactionEAction.performed -= OnInteractionE;
@ -92,6 +99,29 @@ public class TitleOptions : PopupUi
_screenModeDropdown.onValueChanged.RemoveListener(SetScreenMode);
}
}
private void OnChangedLocale(Locale locale)
{
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)
{
var options = Enum.GetNames(typeof(ScreenMode));
var savedScreenMode = ES3.Load(SaveData.ScreenMode, (int)ScreenMode.FullScreen);
_screenModeDropdown.captionText.text = Utils.GetLocalizedString(((ScreenMode)savedScreenMode).ToString());
for (int i = 0; i < _screenModeDropdown.options.Count; i++)
{
_screenModeDropdown.options[i].text = Utils.GetLocalizedString(options[i]);
}
}
}
public override void Open()
{

View File

@ -3,6 +3,7 @@ using BlueWater.Uis;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace BlueWater
@ -18,8 +19,8 @@ namespace BlueWater
[SerializeField]
private Button _cancelButton;
[SerializeField]
private UiNavigationController _uiNavigationController;
[FormerlySerializedAs("_uiNavigationController")] [SerializeField]
private UiEventsController uiEventsController;
private InputAction _interactionEAction;
private InputAction _closeOptionsAction;
@ -66,7 +67,7 @@ namespace BlueWater
_interactionEAction.performed += OnInteractionE;
_closeOptionsAction.performed += OnCloseOptions;
_uiNavigationController.Enable(_cancelButton.gameObject);
uiEventsController.EnableAutoNavigate(_cancelButton.gameObject);
}
public override void DisableInput()
@ -74,7 +75,7 @@ namespace BlueWater
_interactionEAction.performed -= OnInteractionE;
_closeOptionsAction.performed -= OnCloseOptions;
_uiNavigationController.Disable();
uiEventsController.DisableAutoNavigate();
}
public void OnInteractionE(InputAction.CallbackContext context)

View File

@ -54,8 +54,8 @@ namespace BlueWater.Titles
[SerializeField]
private Image _ink;
[SerializeField]
private UiNavigationController _uiNavigationController;
[FormerlySerializedAs("_uiNavigationController")] [SerializeField]
private UiEventsController uiEventsController;
public Material inkMaterialInstance { get; private set; }
@ -111,9 +111,18 @@ namespace BlueWater.Titles
_lobbyButton?.onClick.AddListener(() => SceneController.Instance?.LoadScene(SceneName.TycoonTile));
}
_interactionEAction = null;
_openAction = null;
_closeAction = null;
if (_interactionEAction != null)
{
_interactionEAction.performed -= OnInteractionE;
}
if (_openAction != null)
{
_openAction.performed -= OnOpen;
}
if (_closeAction != null)
{
_closeAction.performed -= OnClose;
}
}
public void OnOpen(InputAction.CallbackContext context)
@ -166,11 +175,11 @@ namespace BlueWater.Titles
{
if (_isTitleScene)
{
_uiNavigationController.Enable(_startGameButton.gameObject);
uiEventsController.EnableAutoNavigate(_startGameButton.gameObject);
}
else
{
_uiNavigationController.Enable(_resumeGameButton.gameObject);
uiEventsController.EnableAutoNavigate(_resumeGameButton.gameObject);
_closeAction.performed += OnClose;
}
@ -189,7 +198,7 @@ namespace BlueWater.Titles
}
_interactionEAction.performed -= OnInteractionE;
_uiNavigationController.Disable();
uiEventsController.DisableAutoNavigate();
}
private string GetVersion()

View File

@ -92,7 +92,6 @@ namespace BlueWater.Uis
private void SetEmpty()
{
SetItemSprite(null);
OrderCocktailData = null;
_fillTween?.Kill();
}
@ -130,6 +129,16 @@ namespace BlueWater.Uis
SetTween(waitTime, hurryTime, isReverse);
}
public void OrderItem(float waitTime, float hurryTime, bool isReverse = false)
{
_isOrdered = true;
_isWaitTimeOver = false;
_isItemReceived = false;
ShowUi();
SetTween(waitTime, hurryTime, isReverse);
}
public void SetTween(float waitTime, float hurryTime, bool isReverse = false)
{

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Npcs.Customers;
using DG.Tweening;
using TMPro;
@ -50,6 +51,9 @@ namespace BlueWater
[SerializeField]
private Color _endColor = Color.red;
[SerializeField]
private string resultSfxName = "BillResult";
public BillInfo CurrentBillInfo { get; private set; }
private Tween _sliderTween;
@ -192,6 +196,7 @@ namespace BlueWater
Debug.LogError("애니메이션 오류");
}
AudioManager.Instance.PlaySfx(resultSfxName);
_stampImageObject.SetActive(true);
_sliderTween?.Kill();
var isTrigger = false;

View File

@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Audios;
using BlueWater.Npcs.Customers;
using BlueWater.Utility;
using Sirenix.OdinInspector;
@ -19,6 +20,9 @@ namespace BlueWater.Uis
[SerializeField]
private SkeletonGraphic _chain;
[SerializeField]
private string playChainSfxName = "PlayChain";
[Title("계산서")]
[SerializeField]
private Vector3 _spawnPosition;
@ -100,6 +104,7 @@ namespace BlueWater.Uis
private void PlayChainAnimation()
{
AudioManager.Instance.PlaySfx(playChainSfxName);
_chain.AnimationState.SetAnimation(0, Move, true);
_isMovedChain = true;
}
@ -132,6 +137,7 @@ namespace BlueWater.Uis
yield return null;
}
AudioManager.Instance.StopSfx(playChainSfxName);
_chain.AnimationState.ClearTrack(0);
_isMovedChain = false;
_isActivating = false;

View File

@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Items;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BlueWater.Uis
{
public class CocktailRecipeButton : MonoBehaviour, ISelectHandler
{
[field: SerializeField]
public Button Button { get; private set; }
[SerializeField]
private Image _cocktailImage;
[SerializeField]
private Material _grayScaleMaterial;
[SerializeField]
private string _cocktailIdx;
public CocktailData CocktailData { get; private set; }
private Action<CocktailRecipeButton> _onSelectedAction;
private void OnDestroy()
{
_onSelectedAction = null;
}
public void Initialize()
{
CocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(_cocktailIdx);
_cocktailImage.sprite = CocktailData.Sprite;
}
public void OnSelect(BaseEventData eventData)
{
_onSelectedAction?.Invoke(this);
}
public void CheckUnlock(HashSet<string> unlockLiquidIdxs)
{
_cocktailImage.material = CocktailData.ValidIngredients.All(element => unlockLiquidIdxs.Contains(element.Idx)) ? null : _grayScaleMaterial;
}
public void AddSelectedAction(Action<CocktailRecipeButton> selectedAction)
{
_onSelectedAction += selectedAction;
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 17b171183981ed942ad039a9dbedbfab

View File

@ -0,0 +1,94 @@
using System;
using System.Collections;
using BlueWater.Items;
using BlueWater.Utility;
using TMPro;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
namespace BlueWater.Uis
{
public class CraftingIngredient : MonoBehaviour
{
[SerializeField]
private GameObject _connectionLine;
[SerializeField]
private Image _liquidImage;
[SerializeField]
private Image _liquidTypeImage;
[SerializeField]
private TMP_Text _liquidText;
[SerializeField]
private TMP_Text _ratioText;
[SerializeField]
private Sprite _liquidTypeSprite;
[SerializeField]
private Sprite _garnishTypeSprite;
private Coroutine _changedLocaleInstance;
private LiquidData _liquidData;
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)
{
_liquidText.text = Utils.GetLocalizedString(_liquidData.Idx);
}
}
public void Initialize(CocktailIngredient cocktailIngredient, int index)
{
_connectionLine.SetActive(index != 0);
_liquidData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(cocktailIngredient.Idx);
_liquidImage.sprite = _liquidData.Sprite;
Sprite liquidTypeSprite = null;
if (_liquidData.Type == LiquidType.Liquid)
{
liquidTypeSprite = _liquidTypeSprite;
}
else if (_liquidData.Type == LiquidType.Garnish)
{
liquidTypeSprite = _garnishTypeSprite;
}
_liquidTypeImage.sprite = liquidTypeSprite;
_liquidText.text = Utils.GetLocalizedString(_liquidData.Idx);
_ratioText.text = $"{cocktailIngredient.Ratio}%";
}
public void Show() => gameObject.SetActive(true);
public void Hide() => gameObject.SetActive(false);
}
}

View File

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

View File

@ -1,10 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BlueWater.Audios;
using BlueWater.Items;
using BlueWater.Tycoons;
using BlueWater.Utility;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
@ -12,6 +13,7 @@ using UnityEngine.InputSystem;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace BlueWater.Uis
@ -24,45 +26,68 @@ namespace BlueWater.Uis
[SerializeField]
private TMP_Text _openManualKeyText;
[Title("선택된 칵테일")]
[SerializeField]
private Transform _cocktailButtons;
[field: SerializeField]
private Image cocktailImage;
[field: SerializeField]
private TextMeshProUGUI cocktailName;
[field: SerializeField]
private ManualCocktailButton manualCocktailsPrefabs;
[field: SerializeField]
private ManualIngredientSlot slot01;
[field: SerializeField]
private ManualIngredientSlot slot02;
[field: SerializeField]
private ManualIngredientSlot slot03;
[field: SerializeField]
private TextMeshProUGUI ratioRange;
private TMP_Text _selectedCocktailName;
[SerializeField]
private string _manualSfxName = "ManualBook";
private Image _selectedCocktailImage;
[SerializeField]
private UiNavigationController _uiNavigationController;
private TMP_Text _ratioRange;
[SerializeField]
private TMP_Text _selectedCocktailDescription;
private List<ManualCocktailButton> _button;
[Title("제작 방법")]
[SerializeField]
private Transform _craftingContents;
[SerializeField]
private List<CraftingIngredient> _craftingIngredients = new(3);
[Title("사운드")]
[SerializeField]
private string _openManualSfxName = "OpenManualBook";
[SerializeField]
private string _closeManualSfxName = "CloseManualBook";
[Title("참조")]
[SerializeField]
private UiEventsController uiEventsController;
[Title("실시간 데이터")]
[SerializeField]
private List<CocktailRecipeButton> _cocktailRecipeButtons;
[ShowInInspector]
private HashSet<string> _unlockLiquidIdxs = new(7);
private CocktailRecipeButton _selectedCocktailRecipeButton;
private Coroutine _changedLocaleInstance;
private ManualCocktailButton _selectedManualCocktailButton;
private InputAction _openManualBookAction;
private InputAction _pressQAction;
private InputAction _cancelAction;
private string _openManualKeyBinding;
private void Awake()
{
_cocktailRecipeButtons = transform.GetComponentsInChildren<CocktailRecipeButton>(true).ToList();
foreach (var element in _cocktailRecipeButtons)
{
element.Initialize();
element.AddSelectedAction(SelectItem);
}
_craftingIngredients = _craftingContents.GetComponentsInChildren<CraftingIngredient>(true).ToList();
EventManager.OnLevelUp += UpdateManualBook;
LocalizationSettings.SelectedLocaleChanged += OnChangedLocale;
}
private void Start()
{
_openManualBookAction = PlayerInputKeyManager.Instance.GetAction(InputActionMaps.Tycoon, TycoonActions.OpenManualBook);
@ -74,86 +99,8 @@ namespace BlueWater.Uis
_openManualBookAction.performed += OnOpen;
var allCocktails = ItemManager.Instance.CocktailDataSo.GetData();
_button = new List<ManualCocktailButton>(allCocktails.Count);
foreach (var element in allCocktails.Values)
{
if (element.Idx.Equals("Cocktail000")) continue; //쓰레기는 메뉴얼에 표시하지 않기
var cocktail = Instantiate(manualCocktailsPrefabs, _cocktailButtons);
cocktail.AddSelectedAction(SelectedItem);
cocktail.name = element.Idx;
cocktail.SetImage(element.Sprite);
_button.Add(cocktail);
foreach (var element2 in element.ValidIngredients) //들어가는 리큐르, 가니쉬 종류
{
if (element2.Idx.Equals("LiquidA"))
{
var scale = cocktail.transform.localScale;
scale.z += 1;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("LiquidB"))
{
var scale = cocktail.transform.localScale;
scale.z += 2;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("LiquidC"))
{
var scale = cocktail.transform.localScale;
scale.z += 4;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("LiquidD"))
{
var scale = cocktail.transform.localScale;
scale.z += 8;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("LiquidE"))
{
var scale = cocktail.transform.localScale;
scale.z += 16;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("Garnish1"))
{
var scale = cocktail.transform.localScale;
scale.z += 32;
cocktail.transform.localScale = scale;
}
if (element2.Idx.Equals("Garnish2"))
{
var scale = cocktail.transform.localScale;
scale.z += 64;
cocktail.transform.localScale = scale;
}
}
}
_button = _button.OrderBy(c => c.transform.localScale.z).ToList();
SetNavigation();
_uiNavigationController.SetSelectObject(_button[0].gameObject);
EventSystem.current.SetSelectedGameObject(_uiNavigationController.SelectObject);
for (int i = 0; i < _button.Count; i++)
{
_button[i].transform.SetSiblingIndex(i);
_button[i].transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
}
Update_Cocktails();
EventManager.OnLevelUp += UpdateManualBook;
LocalizationSettings.SelectedLocaleChanged += OnChangedLocale;
uiEventsController.SetSelectObject(_cocktailRecipeButtons[0].gameObject);
EventSystem.current.SetSelectedGameObject(uiEventsController.SelectObject);
}
private void OnDestroy()
@ -178,7 +125,14 @@ namespace BlueWater.Uis
if (loadingOperation.Status == AsyncOperationStatus.Succeeded)
{
SelectedItem(_selectedManualCocktailButton);
if (_selectedCocktailRecipeButton != null)
{
_selectedCocktailName.text = Utils.GetLocalizedString(_selectedCocktailRecipeButton.CocktailData.Idx);
_ratioRange.text = $"{Utils.GetLocalizedString("MarginOfError")} : {_selectedCocktailRecipeButton.CocktailData.RatioRange}%";
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append($"{_selectedCocktailRecipeButton.CocktailData.Idx}Description");
_selectedCocktailDescription.text = Utils.GetLocalizedString(stringBuilder.ToString());
}
}
}
@ -196,8 +150,8 @@ namespace BlueWater.Uis
PopupUiController.RegisterPopup(this);
_panel.SetActive(true);
IsOpened = true;
AudioManager.Instance.PlaySfx(_manualSfxName, ignoreTimeScale: true);
EventSystem.current.SetSelectedGameObject(_uiNavigationController.SelectObject);
AudioManager.Instance.PlaySfx(_openManualSfxName, ignoreTimeScale: true);
EventSystem.current.SetSelectedGameObject(uiEventsController.SelectObject);
}
public void OnClose(InputAction.CallbackContext context)
@ -207,7 +161,7 @@ namespace BlueWater.Uis
public override void Close()
{
AudioManager.Instance.PlaySfx(_manualSfxName, ignoreTimeScale: true);
AudioManager.Instance.PlaySfx(_closeManualSfxName, ignoreTimeScale: true);
_panel.SetActive(false);
PopupUiController.UnregisterPopup(this);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
@ -219,12 +173,12 @@ namespace BlueWater.Uis
{
_pressQAction.performed += OnClose;
_cancelAction.performed += OnClose;
_uiNavigationController.Enable();
uiEventsController.EnableAutoNavigate();
}
public override void DisableInput()
{
_uiNavigationController.Disable();
uiEventsController.DisableAutoNavigate();
_pressQAction.performed -= OnClose;
_cancelAction.performed -= OnClose;
}
@ -234,232 +188,106 @@ namespace BlueWater.Uis
_openManualKeyText.text = bindingKey;
}
private void SetNavigation()
// private void SetNavigation()
// {
// int maxRow = 4;
//
// for (int i = 0; i < _button.Count; i++)
// {
// Navigation navigation = _button[i].Button.navigation;
// navigation.mode = Navigation.Mode.Explicit;
//
// // 좌측 네비게이션 설정
// if (i % maxRow != 0)
// {
// navigation.selectOnLeft = _button[i - 1].Button;
// }
//
// // 우측 네비게이션 설정
// if ((i + 1) % maxRow != 0 && (i + 1) < _button.Count)
// {
// navigation.selectOnRight = _button[i + 1].Button;
// }
//
// // 위쪽 네비게이션 설정
// if (i - maxRow >= 0)
// {
// navigation.selectOnUp = _button[i - maxRow].Button;
// }
//
// // 아래쪽 네비게이션 설정
// if (i + maxRow < _button.Count)
// {
// navigation.selectOnDown = _button[i + maxRow].Button;
// }
//
// // 설정된 네비게이션을 버튼에 적용
// _button[i].Button.navigation = navigation;
// }
// }
public void SelectItem(CocktailRecipeButton cocktailRecipeButton)
{
int maxRow = 4;
_selectedCocktailRecipeButton = cocktailRecipeButton;
uiEventsController.SetSelectObject(_selectedCocktailRecipeButton.gameObject);
_selectedCocktailName.text = Utils.GetLocalizedString(_selectedCocktailRecipeButton.CocktailData.Idx);
_selectedCocktailImage.sprite = _selectedCocktailRecipeButton.CocktailData.Sprite;
_ratioRange.text = $"{Utils.GetLocalizedString("MarginOfError")} : {_selectedCocktailRecipeButton.CocktailData.RatioRange}%";
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append($"{_selectedCocktailRecipeButton.CocktailData.Idx}Description");
_selectedCocktailDescription.text = Utils.GetLocalizedString(stringBuilder.ToString());
for (int i = 0; i < _button.Count; i++)
List<CocktailIngredient> validIngredients = _selectedCocktailRecipeButton.CocktailData.ValidIngredients;
for (int i = 0; i < _craftingIngredients.Count; i++)
{
Navigation navigation = _button[i].Button.navigation;
navigation.mode = Navigation.Mode.Explicit;
// 좌측 네비게이션 설정
if (i % maxRow != 0)
if (i >= validIngredients.Count)
{
navigation.selectOnLeft = _button[i - 1].Button;
}
// 우측 네비게이션 설정
if ((i + 1) % maxRow != 0 && (i + 1) < _button.Count)
{
navigation.selectOnRight = _button[i + 1].Button;
}
// 위쪽 네비게이션 설정
if (i - maxRow >= 0)
{
navigation.selectOnUp = _button[i - maxRow].Button;
}
// 아래쪽 네비게이션 설정
if (i + maxRow < _button.Count)
{
navigation.selectOnDown = _button[i + maxRow].Button;
}
// 설정된 네비게이션을 버튼에 적용
_button[i].Button.navigation = navigation;
}
}
private void Update_Cocktails() //해금된 칵테일의 활성 표시 유무
{
int playerLv = TycoonManager.Instance.TycoonStatus.CurrentLevel;
bool check = false;
var cocktailDatas = ItemManager.Instance.CocktailDataSo.GetData();
foreach (var element in _button)
{
check = false;
var cocktailIngredients = cocktailDatas[element.name].ValidIngredients;
foreach (var element2 in cocktailIngredients)
{
if (element2.Idx.Equals("LiquidA"))
{
}
;
if (element2.Idx.Equals("LiquidB") && playerLv < 5)
{
check = true;
break;
}
if (element2.Idx.Equals("LiquidC") && playerLv < 10)
{
check = true;
break;
}
if (element2.Idx.Equals("LiquidD") && playerLv < 15)
{
check = true;
break;
}
if (element2.Idx.Equals("LiquidE") && playerLv < 20)
{
check = true;
break;
}
if (element2.Idx.Equals("Garnish1") && playerLv < 25)
{
check = true;
break;
}
if (element2.Idx.Equals("Garnish2") && playerLv < 30)
{
check = true;
break;
}
//해금될때 어느 리퀴르랑 가니쉬가 해금되었는지 확인 불가능 하기 때문에 일단 수기로 작성...
}
if (!check)
{
element.transform.Find("Image").GetComponent<Image>().material = null;
}
}
}
public void SelectedItem(ManualCocktailButton clickedButton)
{
_selectedManualCocktailButton = clickedButton;
_uiNavigationController.SetSelectObject(_selectedManualCocktailButton.gameObject);
//if (clickedButton.GetComponent<Image>().material == null) //활성화 된 음료만 클릭이 되도록 한다.
if (true) // 테스트용
{
bool checkSlot1 = false;
bool checkSlot2 = false;
bool checkSlot3 = false;
var cocktailDatas = ItemManager.Instance.CocktailDataSo.GetData();
var liquidDatas = ItemManager.Instance.LiquidDataSo.GetData();
cocktailImage.sprite = clickedButton.Image.sprite;
cocktailName.text = Utils.GetLocalizedString(clickedButton.name);
int ratioRangePer = cocktailDatas[clickedButton.name].RatioRange;
ratioRange.text = ratioRangePer == 0
? ""
: $"{Utils.GetLocalizedString("MarginOfError")} : {ratioRangePer}%";
void Setslot(string ingredientName, int targetSlotNum = 0)
{
int targetSlotNumF = 0;
if (targetSlotNum != 0)
{
if (targetSlotNum == 1)
{
targetSlotNumF = 1;
checkSlot1 = true;
}
else if (targetSlotNum == 2)
{
targetSlotNumF = 2;
checkSlot2 = true;
}
else if (targetSlotNum == 3)
{
targetSlotNumF = 3;
checkSlot3 = true;
}
}
else if (!checkSlot1)
{
targetSlotNumF = 1;
checkSlot1 = true;
}
else if (!checkSlot2)
{
targetSlotNumF = 2;
checkSlot2 = true;
}
else if (!checkSlot3)
{
targetSlotNumF = 3;
checkSlot3 = true;
}
ManualIngredientSlot targetSlotF = null;
if (targetSlotNumF == 1) targetSlotF = slot01;
else if (targetSlotNumF == 2) targetSlotF = slot02;
else if (targetSlotNumF == 3) targetSlotF = slot03;
if (targetSlotF == null) return;
targetSlotF.SetImage(liquidDatas[ingredientName].Sprite);
targetSlotF.SetType(Utils.GetLocalizedString(ingredientName));
targetSlotF.SetPercent($"{cocktailDatas[clickedButton.name].GetIngredientRatio(ingredientName)}%");
}
//가니쉬 배치를 처음으로... 일단 대기...
/*
*
if (cocktailDatas[clickedButton.name].SearchIngredient("Garnish1") != 0)
{
Setslot("Garnish1",3);
}
else if (cocktailDatas[clickedButton.name].SearchIngredient("Garnish2") != 0)
{
Setslot("Garnish2",3);
}
*/
foreach (var element in liquidDatas)
{
if (cocktailDatas[clickedButton.name].SearchIngredient(element.Value.Idx) != 0)
Setslot(element.Value.Idx);
}
if (!checkSlot1)
{
slot01.gameObject.SetActive(false);
_craftingIngredients[i].Hide();
}
else
{
slot01.gameObject.SetActive(true);
}
if (!checkSlot2)
{
slot02.gameObject.SetActive(false);
}
else
{
slot02.gameObject.SetActive(true);
}
if (!checkSlot3)
{
slot03.gameObject.SetActive(false);
}
else
{
slot03.gameObject.SetActive(true);
_craftingIngredients[i].Initialize(validIngredients[i], i);
_craftingIngredients[i].Show();
}
}
}
private void UpdateManualBook(LevelData levelData)
{
Update_Cocktails();
if (string.IsNullOrEmpty(levelData.OpenUpgrade)) return;
int currentLevel = int.Parse(levelData.Idx);
switch (currentLevel)
{
case 1:
_unlockLiquidIdxs.Add("LiquidA");
break;
case 5:
_unlockLiquidIdxs.Add("LiquidB");
break;
case 10:
_unlockLiquidIdxs.Add("LiquidC");
break;
case 15:
_unlockLiquidIdxs.Add("LiquidD");
break;
case 20:
_unlockLiquidIdxs.Add("LiquidE");
break;
case 25:
_unlockLiquidIdxs.Add("Garnish1");
break;
case 30:
_unlockLiquidIdxs.Add("Garnish2");
break;
}
foreach (var element in _cocktailRecipeButtons)
{
element.CheckUnlock(_unlockLiquidIdxs);
}
}
}
}

View File

@ -25,7 +25,7 @@ namespace BlueWater.Uis
private Vector3 _cardLocalScale_5 = new(0.65f, 0.65f, 1f);
[SerializeField]
private string _openSfxName = "RareRewardBox";
private string _openSfxName = "OpenRareRewardBox";
[SerializeField]
private Button allOpenCardButton;
@ -61,8 +61,8 @@ namespace BlueWater.Uis
public override void Open()
{
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
AudioManager.Instance.PlaySfx(_openSfxName, ignoreTimeScale: true);
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.TycoonUi);
PopupUiController.RegisterPopup(this);
_panel.SetActive(true);
@ -70,7 +70,6 @@ namespace BlueWater.Uis
allOpenCardButton.gameObject.SetActive(true);
closeButton.gameObject.SetActive(false);
EventSystem.current.SetSelectedGameObject(allOpenCardButton.gameObject);
}
public override void Close()

View File

@ -1,7 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using BlueWater.Npcs.Customers;
using BlueWater.Audios;
using BlueWater.Tycoons;
using BlueWater.Utility;
using UnityEngine;
@ -188,6 +188,9 @@ namespace BlueWater.Uis
[SerializeField]
private float _totalGoldDuration = 1f;
[Title("사운드")]
private string _bgmName = "TycoonResult";
private Coroutine _showResultInstance;
private InputAction _pressAnyKeyAction;
@ -252,6 +255,7 @@ namespace BlueWater.Uis
[Button("결과 연출 테스트")]
public override void Open()
{
AudioManager.Instance.PlayBgm(_bgmName);
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.TycoonUi);
PopupUiController.RegisterPopup(this);
@ -417,7 +421,12 @@ namespace BlueWater.Uis
_tipGainedText.text = _tipGained.ToString("N0");
_goldSpentText.text = _goldSpent.ToString("N0");
_totalGoldText.text = $"{Utils.GetLocalizedString("TotalGold")} : {ES3.Load(SaveData.EndGold, 0):N0}";
_minusPercentText.text = $"- {Mathf.RoundToInt((1f - TycoonManager.Instance.TycoonStatus.EndGoldMultiplier) * 100)}%";
float endGoldMultiplier = -0.5f + TycoonManager.Instance.TycoonStatus.EndGoldMultiplier;
int percent = Mathf.RoundToInt(endGoldMultiplier * 100);
char sign = percent >= 0 ? '+' : '-';
_minusPercentText.color = percent >= 0 ? Color.blue : Color.red;
_minusPercentText.text = $"{sign} {percent}%";
}
[Button("결과 즉시 테스트")]

View File

@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using BlueWater.Audios;
using BlueWater.Tycoons;
using Sirenix.OdinInspector;
using UnityEngine;
@ -15,6 +16,9 @@ namespace BlueWater.Uis
[SerializeField]
private Transform _contents;
[SerializeField]
private string _openSfxName = "OpenNormalRewardBox";
private List<TycoonCard> _tycoonCards = new(3);
@ -39,6 +43,7 @@ namespace BlueWater.Uis
public override void Open()
{
AudioManager.Instance.PlaySfx(_openSfxName, ignoreTimeScale: true);
VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.TycoonUi);
PopupUiController.RegisterPopup(this);

View File

@ -1,3 +1,4 @@
using System.Threading.Tasks;
using BlueWater.Audios;
using DG.Tweening;
using Sirenix.OdinInspector;

View File

@ -8,6 +8,8 @@ using DG.Tweening;
using UnityEngine;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BlueWater.Uis
{
@ -27,6 +29,9 @@ namespace BlueWater.Uis
[SerializeField]
private Transform _contents;
[SerializeField]
private Button _purchaseCompletedButton;
[SerializeField]
private Vector3 _cardLocalScale = new(0.65f, 0.65f, 1f);
@ -99,6 +104,11 @@ namespace BlueWater.Uis
}
else
{
while (!PlayerInputKeyManager.Instance.IsInitialized)
{
await Task.Delay(100);
}
EventManager.InvokeTycoonGameStarted();
}
}
@ -117,13 +127,19 @@ namespace BlueWater.Uis
IsOpened = true;
}
public override void Close()
public override async void Close()
{
_panel.SetActive(false);
PopupUiController.UnregisterPopup(this);
PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Tycoon);
IsOpened = false;
VisualFeedbackManager.Instance.ResetTimeScale();
while (!PlayerInputKeyManager.Instance.IsInitialized)
{
await Task.Delay(100);
}
EventManager.InvokeTycoonGameStarted();
}

View File

@ -1,6 +1,8 @@
using System.Collections.Generic;
using DG.Tweening;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace BlueWater.Uis
@ -18,6 +20,16 @@ namespace BlueWater.Uis
[SerializeField]
private Image _fadeImage;
[Title("테스트")]
[SerializeField]
private bool _isUiClickTest;
[SerializeField]
private GraphicRaycaster _raycaster;
[SerializeField]
private EventSystem _eventSystem;
#endregion
@ -33,6 +45,46 @@ namespace BlueWater.Uis
{
EventManager.OnFadeInOut += FadeInOut;
}
private void Update()
{
if (!_isUiClickTest) return;
if (Input.GetMouseButtonDown(0))
{
// 1. UI Raycast
PointerEventData pointerData = new PointerEventData(_eventSystem)
{
position = Input.mousePosition
};
List<RaycastResult> uiResults = new List<RaycastResult>();
_raycaster.Raycast(pointerData, uiResults);
if (uiResults.Count > 0)
{
Debug.Log($"Clicked on UI: {uiResults[0].gameObject.name}");
return;
}
// 2. 3D Raycast
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit))
{
Debug.Log($"Clicked on 3D Object: {hit.collider.gameObject.name}");
return;
}
// 3. 2D Raycast
Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit2D = Physics2D.Raycast(mousePosition, Vector2.zero);
if (hit2D.collider != null)
{
Debug.Log($"Clicked on 2D Object: {hit2D.collider.gameObject.name}");
}
}
}
private void OnDestroy()
{

View File

@ -5,7 +5,7 @@ using UnityEngine.InputSystem.UI;
namespace BlueWater
{
public class UiNavigationController: MonoBehaviour
public class UiEventsController: MonoBehaviour
{
[field: SerializeField]
public GameObject SelectObject { get; private set; }
@ -30,25 +30,35 @@ namespace BlueWater
}
}
public void Enable(GameObject selectObject)
public void SetSelectObject(GameObject obj)
{
SelectObject = obj;
}
public void EnableAutoNavigate(GameObject selectObject)
{
SelectObject = selectObject;
_inputModule.move.action.performed += OnNavigate;
}
public void Enable()
public void EnableAutoNavigate()
{
_inputModule.move.action.performed += OnNavigate;
}
public void Disable()
public void DisableAutoNavigate()
{
_inputModule.move.action.performed -= OnNavigate;
}
public void SetSelectObject(GameObject obj)
public void EnableUiActions()
{
SelectObject = obj;
_inputModule.actionsAsset.Enable();
}
public void DisableUiActions()
{
_inputModule.actionsAsset.Disable();
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 KiB

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 KiB

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 KiB

After

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 797 KiB

After

Width:  |  Height:  |  Size: 738 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 KiB

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 KiB

After

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

After

Width:  |  Height:  |  Size: 399 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 KiB

After

Width:  |  Height:  |  Size: 414 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 726 KiB

After

Width:  |  Height:  |  Size: 682 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 KiB

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 802 KiB

After

Width:  |  Height:  |  Size: 741 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 8871b2ccf1863a24fbc61ffee1317009
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: 256
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: 18 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: f39113512867fc64195f17fda3d06d7b
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: 256
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.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: da8ec6f0e6835ec45be43ce7893c656a
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: 256
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.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 66f1c43fd7b6b494c9c2ccb5b437122d
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: 256
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: 12 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: d19f1201784687d458810f4eac41b170
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: 256
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: 13 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 17ed6e6b73f360f4da56be4109f01a86
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: 256
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: 8.5 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 98ca48e3d3ee7424c9599cc915f1f964
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: 256
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: 8.5 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: e2da613ab7d3fe94c801ea12e08ee54d
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: 256
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: 8.4 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: d2e854d9e991e8e44a308e02390cf441
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: 256
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:

View File

@ -43,12 +43,12 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1024
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@ -93,9 +93,57 @@ TextureImporter:
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: []
sprites:
- serializedVersion: 2
name: DrinkExplain1_0
rect:
serializedVersion: 2
x: 0
y: 0
width: 190
height: 67
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 32, y: 21, z: 33, w: 21}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 35d44f48c9fdb9c419baa95f0962bf0c
internalID: 1581558198
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
@ -109,7 +157,8 @@ TextureImporter:
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
nameFileIdTable:
DrinkExplain1_0: 1581558198
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: a536ab4b3069b5645a7672c33c9d158c
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: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,167 @@
fileFormatVersion: 2
guid: c83c38f6c29276848ba7821cb2e9e899
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: BottomLine_0
rect:
serializedVersion: 2
x: 0
y: 248
width: 512
height: 10
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e631b0ffc0143104283ad672b9aa6aa0
internalID: -1457442933
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: c82f13a192a3ac249b43b3e7f772fd21
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
BottomLine_0: -1457442933
BottomLine_1: -1620694755
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,166 @@
fileFormatVersion: 2
guid: 1aa9b9b713a23fe4faef2006222b9a1f
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: CocktailBox_0
rect:
serializedVersion: 2
x: 11
y: 12
width: 234
height: 232
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 51b2d020ac9fff54583be5047b34530d
internalID: -2055551643
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: e65d1b82d73694747a32122566b865f4
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
CocktailBox_0: -2055551643
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,143 @@
fileFormatVersion: 2
guid: 346954a754bb95743b1910c284572ff7
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