# Conflicts:
#	Assets/02.Scripts/Ui/Tycoon/TycoonSelectCard.cs
This commit is contained in:
SweetJJuya 2024-10-28 13:24:39 +09:00
commit da35977888
43 changed files with 671 additions and 524 deletions

View File

@ -2554,13 +2554,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 737939132}
- {fileID: 1621314686}
m_Father: {fileID: 1049919592}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &186139409
MonoBehaviour:
@ -7651,112 +7651,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1001 &737939131
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 186139408}
m_Modifications:
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchorMax.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchorMax.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchorMin.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchorMin.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_SizeDelta.x
value: 100
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_SizeDelta.y
value: 100
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5785355462301107295, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_Name
value: Card
objectReference: {fileID: 0}
- target: {fileID: 5785355462301107295, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
--- !u!224 &737939132 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 725714798138964366, guid: 2116ffd228314c745b8615652b11d19e, type: 3}
m_PrefabInstance: {fileID: 737939131}
m_PrefabAsset: {fileID: 0}
--- !u!1 &738101929
GameObject:
m_ObjectHideFlags: 0
@ -18345,6 +18239,81 @@ MonoBehaviour:
m_DeselectOnBackgroundClick: 1
m_PointerBehavior: 0
m_CursorLockBehavior: 0
--- !u!1 &1621314685
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1621314686}
- component: {fileID: 1621314688}
- component: {fileID: 1621314687}
m_Layer: 5
m_Name: Panel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1621314686
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1621314685}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 186139408}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1621314687
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1621314685}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0.78431374}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1621314688
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1621314685}
m_CullTransparentMesh: 1
--- !u!1001 &1627308700
PrefabInstance:
m_ObjectHideFlags: 0
@ -20778,7 +20747,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
version: 1073741824
data:
dataString: UEsDBBQAAAgIAABIIeyASX/muwIAAAEGAAALACQAZ3JhcGgwLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFlVE1v4jAQ/SvI56VKoKVlb7tA2z20RaWrHjY9OPGEWBg78keBVvz3HTuGBEBIid58vXkzk2/CpamhsEo/aM6eFAPys0f8O/nRa42PsKVLJRf8Cw4+75zZyjvR4PNKLVeIpz7MqDVYzYtfcim8c4Kgk7xUej1jS5goYw3CJRUG0KSV9dESoe8e2caAXXx++Wdvj28FSAv60qufXKXRsZ8Or8bhFyKcLARd18A88zZwcIgcNIkl9hQ9kqsbX0kJwU2kROyuDi1PaG0cNoQOjFNsMZBpilfAl5W9TPBSlgYaPPEGTXdTrlGwJjn5rRoV19SsGoKfVDhfbnh3Hcg1mZ8u7KPGXGq1fjwUTxPfma14sXqlu4Ia25G5C09b/mnQaUPFiuYC3iuQz+pBKycZGq12PtQZGEw7qY7tTSooVq1fw/UMdPXlyNJ2sPvQ/XZhoX5sRbxu0b8GzEKoMIOY0lsiMvYpQeME/2A/YY9MLISo54jxb3TZXbhouOfaWDRFPhH1vnOcEDCQBUTd+95Benq5ctrnIrPA1Yvh7ERpCQGOBGuQVNjdHDPaky24tHV4nVnuqb+9yC7aDid1FhLg1j9JzkxztTkOW+MOm7DYh7d/H34IplKbJzDVi7OCy47a3vCMAk+UlM3mdsU8hC2cLmnRCbOwtU7DlFoaqiEdXDDWDUUtQ4R0QvhdDg0ERtiA/394fSuKdUWAybOS4QBPnoH+0nF2eiEkobd0zPLyZpDmo9u7vD/Mh5AXMMyTEYPROCXhhLhEuamYN3rFKeF2ybYXiefiM76CsdRpKsPkmaabB/61Vp3Jc1mqRaEB5EuT4dgsaCyCXxk2YxzbXIC1XIa9JN8ZEapYAcuOibIg7GxrNc3aLBmp+aeyHsnIJHwPM+Lh40Xi6n5y2PjiJ8lA4OiAvXEBa1p7U7In+/9QSwMEFAAACAgAAEgh7P2jyVJrAAAAdwAAAAkAJABtZXRhLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQGrVipLLSrOzM9TslIw1TPUM9RRUEovSizIKAYKgDmlmSkgdrSSQaJ5omVKUpqpkWGSmblFkq5xknFqUnKqcZKBWUqqmaWhUixQfUllQapfYm4qRE9AYklGWmZeSmZeup57UWaKO8hopdhaAFBLAQItABQAAAgIAABIIeyASX/muwIAAAEGAAALACQAAAAAAAAAAAAAAAAAAABncmFwaDAuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAVBLAQItABQAAAgIAABIIez9o8lSawAAAHcAAAAJACQAAAAAAAAAAAAAAAgDAABtZXRhLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFQSwUGAAAAAAIAAgC4AAAAvgMAAAAA
dataString: UEsDBBQAAAgIAABIIeyIBIXztwIAAPUFAAALACQAZ3JhcGgwLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQFlVE1v4jAQ/SvI56WC0tKyt12g7R7aotJVD0sPTjwhFsaO/FGgFf99ZxxDApUiJXrzZubNV76Y1K6C3Bt7b6V4NALYzw6jb/aj0xgfYMuXRs/lJxw4b1L4kkg8cl64lwbxPrk5swZvZf5LLxWRewgGLQtj11OxhLFx3iFccOUATdZ48tYIfXXYNjns0vuT3p09fuWgPdjvrG7vop+I3dHFdeQGnSu+rkCQ5salf5N8RpGlsZhEqGPkRinpkhbmd1WsdcwrF7ASJAjJsbaogvglyGXpo/t12/25KBz4pNHy3URabFIdl/02defW3K1qaR9cBco0uL2Kuuqwj9/sw9pcWLN+OGTu9yiHL2W+euG7nDvfam0bnpxKD3rD1YpnCt5K0E/m3pqgBRq9DeQaHFxOWqGOtY1LyFcNr9Z6Bobq+5j6zTD3sfrt3EP10HTwqkH/OnBzZWL7U0iyJGREIcHi8P5gPXF3XEqEKGlE/1e+bC9ZMtxJ6zyakp6EEneGEwIBOofU9y4RNMnLTLAUi02jVmpG8GNjNUQ4CaxAc+V3M4zoz1fgzNbSdWa543RvSV2yHc7ozCXCDb/XOzPNzOY4bIvr6+JOH77+vdMQXGk2j+DK5+CV1K1uk+EJGzw2Wteb227mwW0ebMHzlpuHrQ8WJtzzmA3l4IKJtiv2MnrooBTtciwgKsIC6Hmn/pYc86oIsyej4+2dvKP8ZZDi9EJYj9/wkciK68t+Nry5zbqDbABZDoOsNxQwHPVZPCGpsd1czep+pSnhdummFo3nQhFfwHkeLNdx8sLyzb38XJvW5KUuzDy3APq5jnAsFiwmwR+MmAqJZc7Be6njXrKvBVMmX4FYHAMtYmOnW2/5oomyYJX8MJ6QBRvHf+CCEXy8SFzdDwkbSn4SDBSODsSrVLDmFZl6e7b/D1BLAwQUAAAICAAASCHs/aPJUmsAAAB3AAAACQAkAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAatWKkstKs7Mz1OyUjDVM9Qz1FFQSi9KLMgoBgqAOaWZKSB2tJJBonmiZUpSmqmRYZKZuUWSrnGScWpScqpxkoFZSqqZpaFSLFB9SWVBql9ibipET0BiSUZaZl5KZl66nntRZoo7yGil2FoAUEsBAi0AFAAACAgAAEgh7IgEhfO3AgAA9QUAAAsAJAAAAAAAAAAAAAAAAAAAAGdyYXBoMC5qc29uCgAgAAAAAAABABgAAIA+1d6xnQEAgD7V3rGdAQCAPtXesZ0BUEsBAi0AFAAACAgAAEgh7P2jyVJrAAAAdwAAAAkAJAAAAAAAAAAAAAAABAMAAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAVBLBQYAAAAAAgACALgAAAC6AwAAAAA=
file_cachedStartup: {fileID: 0}
cacheStartup: 0
showNavGraphs: 1

View File

@ -21,7 +21,7 @@ namespace BlueWater.BehaviorTrees.Actions
var orderedCustomer = tycoonManager.CustomerController.FindCustomerMatchingItem(_serverCrew.CurrentPickupItem);
if (orderedCustomer)
{
_serverCrew.OnMission(orderedCustomer, orderedCustomer);
_serverCrew.OnMission(orderedCustomer, orderedCustomer, ActionType.ServingToCustomer);
return TaskStatus.Success;
}
@ -29,8 +29,7 @@ namespace BlueWater.BehaviorTrees.Actions
var emptyServingTable = tycoonManager.ServingTableController.FindEmptyServingTable();
if (emptyServingTable)
{
_serverCrew.OnMission(emptyServingTable);
_serverCrew.AIMovement.Move(emptyServingTable.CenterTransform.position);
_serverCrew.OnMission(emptyServingTable, null, ActionType.PlaceOnServingTable);
return TaskStatus.Success;
}

View File

@ -23,7 +23,7 @@ namespace BlueWater.BehaviorTrees.Actions
public override TaskStatus OnUpdate()
{
if (_crew.CrewInteraction == null || !_crew.CrewInteraction.CanInteractionCrew())
if (_crew.CrewInteraction == null || !_crew.CrewInteraction.CanInteractionCrew(_crew))
{
_crew.AIMovement.StopMove();
_crew.ResetMission();

View File

@ -29,7 +29,7 @@ namespace BlueWater.BehaviorTrees.Actions
public override TaskStatus OnUpdate()
{
if (!_serverCrew.CrewInteraction.CanInteractionCrew())
if (!_serverCrew.CrewInteraction.CanInteractionCrew(_serverCrew))
{
_serverCrew.AIMovement.StopMove();
_serverCrew.CanNotServing();

View File

@ -15,7 +15,7 @@ namespace BlueWater.BehaviorTrees.Actions
public override void OnStart()
{
if (_serverCrew.CrewInteraction != null && _serverCrew.CurrentPickupItem == null)
if (_serverCrew.CrewInteraction != null)
{
_serverCrew.AIMovement.Move(_serverCrew.CrewInteraction.CenterTransform.position);
}
@ -25,7 +25,8 @@ namespace BlueWater.BehaviorTrees.Actions
{
if (_serverCrew.CurrentPickupItem != null) return TaskStatus.Success;
if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew() || !_serverCrew.OrderedCustomer.CanInteractionCrew())
if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew(_serverCrew) ||
_serverCrew.OrderedCustomer == null || !_serverCrew.OrderedCustomer.CanInteractionCrew())
{
_serverCrew.AIMovement.StopMove();
_serverCrew.ResetMission();

View File

@ -3,11 +3,21 @@ using BlueWater.Npcs.Customers;
namespace BlueWater.Npcs.Crews.Server
{
public enum ActionType
{
None = 0,
Patrol,
TakeCocktail,
PlaceOnServingTable,
ServingToCustomer
}
public class ServerCrew : Crew
{
public Customer OrderedCustomer { get; private set; }
public IPickup CurrentPickupItem { get; private set; }
public bool IsServing { get; private set; }
public ActionType CurrentActionType { get; private set; }
public StateMachineController<ServerCrew> StateMachineController { get; private set; }
public IStateMachine<ServerCrew> IdleState { get; private set; }
@ -22,6 +32,7 @@ namespace BlueWater.Npcs.Crews.Server
public override void Initialize()
{
CurrentActionType = ActionType.Patrol;
IdleState = new IdleState();
WalkingState = new WalkingState();
ServingState = new ServingState();
@ -33,6 +44,8 @@ namespace BlueWater.Npcs.Crews.Server
public override void ResetMission()
{
CurrentActionType = ActionType.Patrol;
CrewInteraction = null;
IsOnMission = false;
BalloonUi.DiscardItem();
@ -53,10 +66,11 @@ namespace BlueWater.Npcs.Crews.Server
return CrewInteraction == null && !OrderedCustomer && CurrentPickupItem == null && !IsServing;
}
public void OnMission(ICrewInteraction crewInteraction, Customer orderedCustomer)
public void OnMission(ICrewInteraction crewInteraction, Customer orderedCustomer, ActionType actionType)
{
base.OnMission(crewInteraction);
OrderedCustomer = orderedCustomer;
CurrentActionType = actionType;
}
public void TakeFromServingTable(IPickup pickupItem, Customer orderedCustomer)

View File

@ -33,7 +33,7 @@ namespace BlueWater.Npcs.Customers
public enum CustomerInteractionType
{
None = 0,
OrderCocktail
ServedCocktail
}
public class Customer : MonoBehaviour, IPlayerInteraction, ICrewInteraction
@ -273,9 +273,16 @@ namespace BlueWater.Npcs.Customers
public void ServedItem(CocktailData cocktailData)
{
CurrentTableSeat.SetFood();
BalloonUi.ReceiveItem(cocktailData);
StateMachineController.TransitionToState(IsOrderedSucceed ? HappyState : UpsetState, this);
if (IsOrderedSucceed)
{
CurrentTableSeat.SetFood();
StateMachineController.TransitionToState(HappyState, this);
}
else
{
StateMachineController.TransitionToState(UpsetState, this);
}
}
public void Interaction()
@ -284,7 +291,7 @@ namespace BlueWater.Npcs.Customers
{
case CustomerInteractionType.None:
break;
case CustomerInteractionType.OrderCocktail:
case CustomerInteractionType.ServedCocktail:
var currentPickupItem = GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem();
var servedCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(currentPickupItem.Idx);
IsOrderedSucceed = currentPickupItem.Idx == OrderedCocktailData.Idx;
@ -306,7 +313,7 @@ namespace BlueWater.Npcs.Customers
{
case CustomerInteractionType.None:
return false;
case CustomerInteractionType.OrderCocktail:
case CustomerInteractionType.ServedCocktail:
var currentPickupItem = GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem();
return currentPickupItem != null;
default:
@ -332,9 +339,9 @@ namespace BlueWater.Npcs.Customers
throw new NotImplementedException();
}
public bool CanInteractionCrew()
public bool CanInteractionCrew(Crew crew = null)
{
return !IsReceivedItem;
return !IsReceivedItem && CurrentTableSeat;
}
public virtual void ShowInteractionUi()
@ -438,7 +445,7 @@ namespace BlueWater.Npcs.Customers
InteractionMessage = "칵테일 전달";
OrderedCocktailData = TycoonManager.Instance.TycoonIngredientController.GetRandomCocktailData();
BalloonUi.OrderItem(OrderedCocktailData.Idx, CurrentLevelData.WaitTime, CurrentLevelData.HurryTime);
_customerInteractionType = CustomerInteractionType.OrderCocktail;
_customerInteractionType = CustomerInteractionType.ServedCocktail;
RegisterPlayerInteraction();
EventManager.InvokeOrderedCocktail(this);

View File

@ -57,8 +57,12 @@ namespace BlueWater
OnHideInteractionUi?.Invoke();
}
// 플레이어 상호작용중 이벤트
public static Action<float> OnInteracting;
// 플레이어 홀딩 상호작용중 이벤트
public static Action<float> OnHoldInteracting;
public static void InvokeHoldInteracting(float value)
{
OnHoldInteracting?.Invoke(value);
}
#endregion
@ -137,13 +141,6 @@ namespace BlueWater
OnPlaceOnServingTable?.Invoke();
}
// 플레이어가 서빙테이블에 있는 칵테일을 가져오는 이벤트
public static Action OnTakeFromServingTable;
public static void InvokeTakeFromServingTable()
{
OnTakeFromServingTable?.Invoke();
}
// Npc
// 손님 생성 이벤트
public static Action OnCreateCustomer;

View File

@ -14,7 +14,7 @@ namespace BlueWater.Interfaces
void InteractionCrew(Crew crew);
void CancelInteractionCrew();
bool CanInteractionCrew();
bool CanInteractionCrew(Crew crew = null);
event Action OnInteractionCompleted;
}

View File

@ -1,6 +1,5 @@
using System;
using BlueWater.Items;
using BlueWater.Players.Tycoons;
using Sirenix.OdinInspector;
using UnityEngine;
@ -25,9 +24,19 @@ namespace BlueWater.Tycoons
[field: SerializeField]
public int CurrentAmount { get; private set; }
[field: SerializeField]
public bool IsActivated { get; private set; }
[SerializeField]
private bool _isActivated;
public bool IsActivated
{
get => _isActivated;
private set
{
_isActivated = value;
_liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
}
}
private Material _instanceMaterial;
@ -49,10 +58,12 @@ namespace BlueWater.Tycoons
SetCurrentAmount(0);
}
private void Start()
protected override void Start()
{
base.Start();
_liquidImage.sprite = _isActivated ? _liquidData.Sprite : DataManager.Instance.SpriteDataSo.Lock;
InteractionMessage = $"{_liquidData.Name} 따르기";
_liquidImage.sprite = _liquidData.Sprite;
_instanceMaterial.SetColor(LiquidColorHash, _liquidData.Color * _colorIntensity);
}

View File

@ -1,4 +1,7 @@
using System;
using BlueWater.Interfaces;
using BlueWater.Npcs.Crews;
using BlueWater.Npcs.Crews.Server;
namespace BlueWater.Tycoons
{
@ -9,12 +12,12 @@ namespace BlueWater.Tycoons
// 테이블의 칵테일을 가져가는 경우
if (CurrentPickupItem != null)
{
EventManager.InvokeTakeFromServingTable();
CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem);
CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
CocktailGlassImage.enabled = false;
InteractionCanvas.BalloonUi.DiscardItem();
CurrentPickupItem = null;
OrderedCustomer = null;
}
}
@ -23,9 +26,15 @@ namespace BlueWater.Tycoons
return CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail();
}
public override bool CanInteractionCrew()
public override bool CanInteractionCrew(Crew crew = null)
{
return CurrentPickupItem != null && _orderedCustomer != null;
var servingCrew = (ServerCrew)crew;
if (!servingCrew)
{
throw new Exception("상호작용 오브젝트 오류");
}
return servingCrew.CurrentActionType == ActionType.TakeCocktail && CurrentPickupItem != null && OrderedCustomer;
}
public void CompleteMakingCocktail(IPickup cocktailData)

View File

@ -36,8 +36,10 @@ namespace BlueWater.Tycoons
protected bool IsOpened;
protected TycoonPlayer CurrentTycoonPlayer;
protected bool IsQuitting;
protected Material OriginalMaterial;
protected bool IsQuitting;
protected bool IsShowing;
protected float HoldingElapsedTime;
private void OnDrawGizmosSelected()
{
@ -60,6 +62,11 @@ namespace BlueWater.Tycoons
RegisterPlayerInteraction();
}
protected virtual void Start()
{
}
protected virtual void OnDisable()
{
@ -100,6 +107,8 @@ namespace BlueWater.Tycoons
{
VisualLook.material = OutlineMaterial;
EventManager.InvokeShowInteractionUi(InteractionMessage);
EventManager.InvokeHoldInteracting(HoldingElapsedTime);
IsShowing = true;
}
public virtual void HideInteractionUi()
@ -109,6 +118,7 @@ namespace BlueWater.Tycoons
VisualLook.material = OriginalMaterial;
}
EventManager.InvokeHideInteractionUi();
IsShowing = false;
}
protected void RegisterPlayerInteraction()

View File

@ -45,10 +45,10 @@ namespace BlueWater.Tycoons
}
}
protected Customer OrderedCustomer;
private Material _originalCocktailGlassMaterial;
private Coroutine _findCustomerMatchingItemInstance;
private Coroutine _findServerCrewInstance;
protected Customer _orderedCustomer;
public event Action OnInteractionCompleted;
@ -64,21 +64,21 @@ namespace BlueWater.Tycoons
// 테이블의 칵테일을 가져가는 경우
if (CurrentPickupItem != null)
{
EventManager.InvokeTakeFromServingTable();
CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem);
CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
CocktailGlassImage.enabled = false;
InteractionCanvas.BalloonUi.DiscardItem();
CurrentPickupItem = null;
OrderedCustomer = null;
}
// 테이블에 칵테일을 놓는 경우
else
{
EventManager.InvokePlaceOnServingTable();
CurrentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem();
CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(CurrentPickupItem);
CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem();
InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
CurrentTycoonPlayer.TycoonPickupHandler.DiscardItem();
CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem();
CocktailGlassImage.enabled = true;
}
}
@ -108,15 +108,17 @@ namespace BlueWater.Tycoons
public void InteractionCrew(Crew crew)
{
// 테이블의 칵테일을 가져가는 경우
// 종업원이 테이블의 칵테일을 가져가는 경우
if (CurrentPickupItem != null)
{
var serverCrew = (ServerCrew)crew;
serverCrew.TakeFromServingTable(CurrentPickupItem, _orderedCustomer);
serverCrew.TakeFromServingTable(CurrentPickupItem, OrderedCustomer);
CocktailGlassImage.enabled = false;
InteractionCanvas.BalloonUi.DiscardItem();
CurrentPickupItem = null;
OrderedCustomer = null;
}
// 종업원이 테이블에 칵테일을 놓는 경우
else
{
var serverCrew = (ServerCrew)crew;
@ -132,10 +134,16 @@ namespace BlueWater.Tycoons
throw new NotImplementedException();
}
public virtual bool CanInteractionCrew()
public virtual bool CanInteractionCrew(Crew crew = null)
{
return (CurrentPickupItem != null && _orderedCustomer != null) ||
CurrentPickupItem == null;
var servingCrew = (ServerCrew)crew;
if (!servingCrew)
{
throw new Exception("상호작용 오브젝트 오류");
}
return (servingCrew.CurrentActionType == ActionType.TakeCocktail && CurrentPickupItem != null && OrderedCustomer) ||
servingCrew.CurrentActionType == ActionType.PlaceOnServingTable && CurrentPickupItem == null;
}
private IEnumerator FindCustomerMatchingItem()
@ -143,12 +151,13 @@ namespace BlueWater.Tycoons
var waitTime = new WaitForSeconds(2f);
while (true)
{
_orderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem);
if (_orderedCustomer && _orderedCustomer.CanInteractionCrew())
OrderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem);
if (OrderedCustomer && OrderedCustomer.CanInteractionCrew())
{
var crewController = TycoonManager.Instance.CrewController;
Utils.StartUniqueCoroutine(this, ref _findServerCrewInstance,
crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, crew => crew.OnMission(this, _orderedCustomer)));
crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews,
crew => crew.OnMission(this, OrderedCustomer, ActionType.TakeCocktail)));
}
yield return waitTime;

View File

@ -1,6 +1,4 @@
using System;
using System.Collections;
using System.Linq;
using BlueWater.Interfaces;
using BlueWater.Npcs.Crews;
using BlueWater.Npcs.Crews.Cleaner;
@ -32,21 +30,15 @@ namespace BlueWater.Tycoons
[field: SerializeField]
public int TableNumber;
[SerializeField]
private Sprite _foodImage;
[SerializeField]
private Sprite _dirtyImage;
[SerializeField]
private float _interactionHoldingTime = 3f;
private Sprite _fullBeerGlass;
private Sprite _emptyBeerGlass;
private Coroutine _findCleanerCrewInstance;
private bool _isPlayerInteracting;
private bool _isCrewInteracting;
private float _playerElapsedTime;
private float _crewElapsedTime;
public event Action OnInteractionCompleted;
@ -57,6 +49,14 @@ namespace BlueWater.Tycoons
Initialize();
}
protected override void Start()
{
base.Start();
_fullBeerGlass = DataManager.Instance.SpriteDataSo.FullBeerGlass;
_emptyBeerGlass = DataManager.Instance.SpriteDataSo.EmptyBeerGlass;
}
private void Update()
{
if (InteractionCanvas.BalloonUi.IsWaitTimeOver())
@ -65,29 +65,46 @@ namespace BlueWater.Tycoons
damageable?.TakeDamage(1);
CleanTable();
}
if (_isPlayerInteracting)
{
var clamp = Mathf.Clamp(_playerElapsedTime / _interactionHoldingTime, 0f, 1f);
EventManager.OnInteracting?.Invoke(clamp);
if (_playerElapsedTime > _interactionHoldingTime)
{
CleanTable();
}
_playerElapsedTime += Time.deltaTime;
if (IsCleaned) return;
var holdingGauge = 0f;
if (HoldingElapsedTime > 0f)
{
holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f);
}
if (IsShowing)
{
EventManager.InvokeHoldInteracting(holdingGauge);
}
if (_isCrewInteracting)
if (HoldingElapsedTime > _interactionHoldingTime)
{
if (_crewElapsedTime > _interactionHoldingTime)
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
CleanTable();
}
CleanTable();
}
if (_isPlayerInteracting)
{
HoldingElapsedTime += Time.deltaTime;
}
if (_isCrewInteracting)
{
HoldingElapsedTime += Time.deltaTime;
}
_crewElapsedTime += Time.deltaTime;
if (!_isPlayerInteracting && !_isCrewInteracting)
{
if (HoldingElapsedTime > 0f)
{
HoldingElapsedTime -= Time.deltaTime;
}
}
}
@ -104,22 +121,18 @@ namespace BlueWater.Tycoons
public void SetFood()
{
Food.sprite = _foodImage;
Food.sprite = _fullBeerGlass;
Food.enabled = true;
}
public override void Interaction()
{
_playerElapsedTime = 0f;
EventManager.OnInteracting?.Invoke(_playerElapsedTime);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningTable = true;
_isPlayerInteracting = true;
}
public override void CancelInteraction()
{
_playerElapsedTime = 0f;
EventManager.OnInteracting?.Invoke(_playerElapsedTime);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningTable = false;
_isPlayerInteracting = false;
}
@ -143,13 +156,14 @@ namespace BlueWater.Tycoons
_isCrewInteracting = false;
InteractionCanvas.BalloonUi.HideUi();
InteractionCanvas.BalloonUi.ResetUi();
HoldingElapsedTime = 0f;
}
public void DirtyTable()
{
Food.sprite = _dirtyImage;
Food.sprite = _emptyBeerGlass;
Food.enabled = true;
InteractionCanvas.BalloonUi.OrderItem(_dirtyImage, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime);
InteractionCanvas.BalloonUi.OrderItem(_emptyBeerGlass, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime);
IsCleaned = false;
var crewController = TycoonManager.Instance.CrewController;
@ -159,20 +173,18 @@ namespace BlueWater.Tycoons
public void InteractionCrew(Crew crew)
{
_crewElapsedTime = 0f;
_isCrewInteracting = true;
((CleanerCrew)crew).SetIsCleaningTable(true);
}
public void CancelInteractionCrew()
{
_crewElapsedTime = 0f;
_isCrewInteracting = false;
}
public bool CanInteractionCrew()
public bool CanInteractionCrew(Crew crew = null)
{
return !_isPlayerInteracting;
return !IsCleaned;
}
}
}

View File

@ -17,8 +17,6 @@ namespace BlueWater.Tycoons
private Coroutine _findCleanerCrewInstance;
private bool _isPlayerInteracting;
private bool _isCrewInteracting;
private float _playerElapsedTime;
private float _crewElapsedTime;
public event Action OnInteractionCompleted;
@ -38,28 +36,43 @@ namespace BlueWater.Tycoons
Destroy();
}
if (_isPlayerInteracting)
var holdingGauge = 0f;
if (HoldingElapsedTime > 0f)
{
var clamp = Mathf.Clamp(_playerElapsedTime / _interactionHoldingTime, 0f, 1f);
EventManager.OnInteracting?.Invoke(clamp);
if (_playerElapsedTime > _interactionHoldingTime)
{
Destroy();
}
holdingGauge = Mathf.Clamp(HoldingElapsedTime / _interactionHoldingTime, 0f, 1f);
}
_playerElapsedTime += Time.deltaTime;
if (IsShowing)
{
EventManager.InvokeHoldInteracting(holdingGauge);
}
if (_isCrewInteracting)
if (HoldingElapsedTime > _interactionHoldingTime)
{
if (_crewElapsedTime > _interactionHoldingTime)
if (_isCrewInteracting)
{
OnInteractionCompleted?.Invoke();
OnInteractionCompleted = null;
Destroy();
}
Destroy();
}
if (_isPlayerInteracting)
{
HoldingElapsedTime += Time.deltaTime;
}
if (_isCrewInteracting)
{
HoldingElapsedTime += Time.deltaTime;
}
_crewElapsedTime += Time.deltaTime;
if (!_isPlayerInteracting && !_isCrewInteracting)
{
if (HoldingElapsedTime > 0f)
{
HoldingElapsedTime -= Time.deltaTime;
}
}
}
@ -75,16 +88,12 @@ namespace BlueWater.Tycoons
public override void Interaction()
{
_playerElapsedTime = 0f;
EventManager.OnInteracting?.Invoke(_playerElapsedTime);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = true;
_isPlayerInteracting = true;
}
public override void CancelInteraction()
{
_playerElapsedTime = 0f;
EventManager.OnInteracting?.Invoke(_playerElapsedTime);
GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false;
_isPlayerInteracting = false;
}
@ -102,20 +111,18 @@ namespace BlueWater.Tycoons
public void InteractionCrew(Crew crew)
{
_crewElapsedTime = 0f;
_isCrewInteracting = true;
((CleanerCrew)crew).SetIsCleaningFloor(true);
}
public void CancelInteractionCrew()
{
_crewElapsedTime = 0f;
_isCrewInteracting = false;
}
public bool CanInteractionCrew()
public bool CanInteractionCrew(Crew crew = null)
{
return !_isPlayerInteracting;
return true;
}
}
}

View File

@ -130,7 +130,7 @@ MonoBehaviour:
<Value>k__BackingField:
<Idx>k__BackingField: ExpGetUp
<Img>k__BackingField: ExpGetUpImg
<ScriptText>k__BackingField: "\uACBD\uD5D8\uCE58 \uD68D\uB4DD 5% \uC99D\uAC00"
<ScriptText>k__BackingField: "\uACBD\uD5D8\uCE58 \uD68D\uB4DD 20% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Sprite>k__BackingField: {fileID: 21300000, guid: 400a47b8bcd0a1e4b823160ce9f40232, type: 3}
@ -138,7 +138,7 @@ MonoBehaviour:
<Value>k__BackingField:
<Idx>k__BackingField: GoldGetUp
<Img>k__BackingField: GoldGetUpImg
<ScriptText>k__BackingField: "\uACE8\uB4DC \uD68D\uB4DD 5% \uC99D\uAC00"
<ScriptText>k__BackingField: "\uACE8\uB4DC \uD68D\uB4DD 20% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
<Sprite>k__BackingField: {fileID: 21300000, guid: 121ed7da4e55d2a43ba798a00f95a474, type: 3}

View File

@ -30,9 +30,9 @@ MonoBehaviour:
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 19
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 3
@ -43,7 +43,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 18
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 4
@ -54,7 +54,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 17
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 5
@ -65,227 +65,227 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 16
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade1
- <Key>k__BackingField: 6
<Value>k__BackingField:
<Idx>k__BackingField: 6
<CustomerRespawn>k__BackingField: 13
<CustomerRespawn>k__BackingField: 10
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 15
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 7
<Value>k__BackingField:
<Idx>k__BackingField: 7
<CustomerRespawn>k__BackingField: 13
<CustomerRespawn>k__BackingField: 10
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 19
<HurryTime>k__BackingField: 15
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 8
<Value>k__BackingField:
<Idx>k__BackingField: 8
<CustomerRespawn>k__BackingField: 13
<CustomerRespawn>k__BackingField: 10
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 15
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 9
<Value>k__BackingField:
<Idx>k__BackingField: 9
<CustomerRespawn>k__BackingField: 13
<CustomerRespawn>k__BackingField: 10
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 17
<HurryTime>k__BackingField: 15
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 10
<Value>k__BackingField:
<Idx>k__BackingField: 10
<CustomerRespawn>k__BackingField: 13
<CustomerRespawn>k__BackingField: 10
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 15
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade2
- <Key>k__BackingField: 11
<Value>k__BackingField:
<Idx>k__BackingField: 11
<CustomerRespawn>k__BackingField: 11
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 14
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 12
<Value>k__BackingField:
<Idx>k__BackingField: 12
<CustomerRespawn>k__BackingField: 11
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 13
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 13
<Value>k__BackingField:
<Idx>k__BackingField: 13
<CustomerRespawn>k__BackingField: 11
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 12
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 14
<Value>k__BackingField:
<Idx>k__BackingField: 14
<CustomerRespawn>k__BackingField: 11
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 11
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 15
<Value>k__BackingField:
<Idx>k__BackingField: 15
<CustomerRespawn>k__BackingField: 11
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade3
- <Key>k__BackingField: 16
<Value>k__BackingField:
<Idx>k__BackingField: 16
<CustomerRespawn>k__BackingField: 9
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 17
<Value>k__BackingField:
<Idx>k__BackingField: 17
<CustomerRespawn>k__BackingField: 9
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 10
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 18
<Value>k__BackingField:
<Idx>k__BackingField: 18
<CustomerRespawn>k__BackingField: 9
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 13
<HurryTime>k__BackingField: 10
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 19
<Value>k__BackingField:
<Idx>k__BackingField: 19
<CustomerRespawn>k__BackingField: 9
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 10
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 20
<Value>k__BackingField:
<Idx>k__BackingField: 20
<CustomerRespawn>k__BackingField: 9
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 11
<HurryTime>k__BackingField: 10
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade4
- <Key>k__BackingField: 21
<Value>k__BackingField:
<Idx>k__BackingField: 21
<CustomerRespawn>k__BackingField: 7
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 22
<Value>k__BackingField:
<Idx>k__BackingField: 22
<CustomerRespawn>k__BackingField: 7
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 9
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 23
<Value>k__BackingField:
<Idx>k__BackingField: 23
<CustomerRespawn>k__BackingField: 7
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 8
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 24
<Value>k__BackingField:
<Idx>k__BackingField: 24
<CustomerRespawn>k__BackingField: 7
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 7
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 25
<Value>k__BackingField:
<Idx>k__BackingField: 25
<CustomerRespawn>k__BackingField: 7
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 6
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade5
- <Key>k__BackingField: 26
@ -294,9 +294,9 @@ MonoBehaviour:
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 27
@ -307,7 +307,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 28
@ -318,7 +318,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 29
@ -329,7 +329,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 30
@ -340,7 +340,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade6
- <Key>k__BackingField: 31
@ -349,9 +349,9 @@ MonoBehaviour:
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 32
@ -362,7 +362,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 33
@ -373,7 +373,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 34
@ -384,7 +384,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 35
@ -395,7 +395,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 36
@ -404,9 +404,9 @@ MonoBehaviour:
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 37
@ -417,7 +417,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 38
@ -428,7 +428,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 39
@ -439,7 +439,7 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 40
@ -450,6 +450,6 @@ MonoBehaviour:
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:

View File

@ -13,3 +13,6 @@ MonoBehaviour:
m_Name: SpriteData
m_EditorClassIdentifier:
<Gold>k__BackingField: {fileID: 21300000, guid: 51c11bee66d04f64d8d44afcb9975321, type: 3}
<EmptyBeerGlass>k__BackingField: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3}
<FullBeerGlass>k__BackingField: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3}
<Lock>k__BackingField: {fileID: 21300000, guid: 8ef64d8ac85ff4681987c8b621bef86b, type: 3}

View File

@ -13,7 +13,7 @@ MonoBehaviour:
m_Name: StageData
m_EditorClassIdentifier:
<WaitTimeInStarted>k__BackingField: 5
<VomitingPercent>k__BackingField: 10
<VomitingPercent>k__BackingField: 20
<VomitingWaitTime>k__BackingField: 30
<DirtyTablePercent>k__BackingField: 20
<DirtyTablePercent>k__BackingField: 40
<DirtyTableWaitTime>k__BackingField: 30

View File

@ -9,6 +9,12 @@ namespace BlueWater
public Sprite Gold { get; private set; }
[field: SerializeField]
public Sprite UnfinishedCocktail { get; private set; }
public Sprite EmptyBeerGlass { get; private set; }
[field: SerializeField]
public Sprite FullBeerGlass { get; private set; }
[field: SerializeField]
public Sprite Lock { get; private set; }
}
}

View File

@ -136,12 +136,12 @@ namespace BlueWater.Tycoons
{
foreach (var element in BartenderCrews)
{
if (orderedCustomer.IsReceivedItem) yield break;
if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue;
var orderedCocktailIngredients = orderedCustomer.OrderedCocktailData.ValidIngredients;
if (!tycoonIngredientController.IsMakingCocktail(orderedCocktailIngredients)) break;
if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue;
if (orderedCustomer.IsReceivedItem || orderedCustomer.IsMatchedServer) yield break;
element.SetOrderedCustomer(orderedCustomer);
tycoonIngredientController.ConsumeMakingCocktailIngredient(orderedCocktailIngredients);

View File

@ -169,22 +169,22 @@ namespace BlueWater
SetCurrentAmount(0f);
}
private void Update()
private void FixedUpdate()
{
if (_isPouring)
{
var currentBarrel = _currentBarrel;
// 술이 완성되었을 때
if (_instanceLiquidCount >= _maxLiquidCount)
{
StartCoroutine(nameof(CompleteCocktail));
return;
}
_elapsedTime += Time.deltaTime;
if (_elapsedTime >= _timeInterval)
while (_elapsedTime >= _timeInterval)
{
// 술이 완성되었을 때
if (_instanceLiquidCount >= _maxLiquidCount)
{
StartCoroutine(nameof(CompleteCocktail));
return;
}
switch (currentBarrel.GetLiquidData().Type)
{
case LiquidType.None:

View File

@ -23,14 +23,14 @@ namespace BlueWater.Uis
{
EventManager.OnShowInteractionUi += ShowUi;
EventManager.OnHideInteractionUi += HideUi;
EventManager.OnInteracting += SetFillAmount;
EventManager.OnHoldInteracting += SetFillAmount;
}
private void OnDestroy()
{
EventManager.OnShowInteractionUi -= ShowUi;
EventManager.OnHideInteractionUi -= HideUi;
EventManager.OnInteracting -= SetFillAmount;
EventManager.OnHoldInteracting -= SetFillAmount;
}
public void ShowUi(string message)

View File

@ -69,18 +69,11 @@ namespace BlueWater.Uis
public void SetItemImage(IPickup item)
{
//_orderItemData = ItemManager.Instance.GetItemDataByIdx(foodIdx);
// if (_orderItemData == null)
// {
// Debug.LogError($"{foodIdx} 해당 음식을 등록할 수 없습니다.");
// return;
// }
if (!item.Sprite)
{
Debug.LogWarning($"{item.Sprite} 해당 음식의 이미지가 없습니다.");
}
_isUnfinishedCocktailPickedUp = false;
SetItemSprite(item.Sprite);
ShowUi();

View File

@ -85,6 +85,7 @@ namespace BlueWater
private void OnDestroy()
{
_slider.onValueChanged.RemoveListener(OnSliderValueChanged);
DOTween.Kill(_rect);
}
private void OnSliderValueChanged(float value)
@ -94,6 +95,8 @@ namespace BlueWater
public void Move(BillInfo billInfo)
{
if (!_rect) return;
if (CurrentBillInfo != null)
{
CurrentBillInfo.IsEmpty = true;
@ -108,7 +111,7 @@ namespace BlueWater
var rotationAngle = Mathf.Lerp(8f, 40f, distance / _maxDistance);
var punchStrength = Mathf.Lerp(1f, 5f, distance / _maxDistance);
var moveSequence = DOTween.Sequence();
var moveSequence = DOTween.Sequence().SetAutoKill(true);
moveSequence.Append(_rect.DOLocalMoveX(CurrentBillInfo.Position.x, moveTime));
moveSequence.Join(_rect.DOLocalRotate(new Vector3(0, 0, rotationAngle), moveTime / 5f));
moveSequence.Join(_rect.DOPunchRotation(new Vector3(0f, 0f, punchStrength), moveTime * 4f / 5f, 3, 0.2f)
@ -119,6 +122,8 @@ namespace BlueWater
private void OnArrivedTarget()
{
if (!_rect) return;
CurrentBillInfo.IsMoving = false;
var randomZ = Random.Range(-15f, 15f);
var arrivedSequence = DOTween.Sequence();
@ -174,14 +179,14 @@ namespace BlueWater
public void BartenderMakingCocktail()
{
_makingCocktailPivotObject.gameObject.SetActive(true);
_makingCocktailPivotObject?.gameObject.SetActive(true);
}
public void BartenderCompleteMakingCocktail()
{
_makingCocktailPivotObject.gameObject.SetActive(false);
_checkImageObject.gameObject.SetActive(true);
_animationController.SetAnimationParameter("isBartenderChecked", true);
_makingCocktailPivotObject?.gameObject.SetActive(false);
_checkImageObject?.gameObject.SetActive(true);
_animationController?.SetAnimationParameter("isBartenderChecked", true);
}
}
}

View File

@ -36,7 +36,7 @@ public class TycoonCardArea : MonoBehaviour, IPointerEnterHandler, IPointerExitH
private float _maxRotationAngle;
private float _returnSpeed;
private TycoonCard _parent; //부모
private TycoonCard _tycoonCard; //부모
private float _returnSpeedTime = 0.0f; // 복원속도를 더할 메서드
private bool _isPointerInside; // 이미지 안에 마우스가 있는지 여부를 추적
private Coroutine _startRotationCoroutine;
@ -49,12 +49,12 @@ public class TycoonCardArea : MonoBehaviour, IPointerEnterHandler, IPointerExitH
private void Awake()
{
_parent = transform.parent.GetComponent<TycoonCard>();
_tycoonCard = transform.parent.GetComponent<TycoonCard>();
_rectTransform = this.GetComponent<RectTransform>();
_cardComTransform = transform.parent.Find("CardCom").GetComponent<Transform>();
_image = _cardComTransform.Find("Image").GetComponent<Image>();
_maxRotationAngle = _parent.maxRotationAngle;
_returnSpeed = _parent.returnSpeed;
_maxRotationAngle = _tycoonCard.maxRotationAngle;
_returnSpeed = _tycoonCard.returnSpeed;
}
void Start()
@ -120,7 +120,7 @@ public class TycoonCardArea : MonoBehaviour, IPointerEnterHandler, IPointerExitH
{
if (_enable)
{
_parent.transform.parent.GetComponent<TycoonSelectCard>().SelectedCard(_parent);
_tycoonCard.transform.parent.parent.GetComponent<TycoonSelectCard>().SelectedCard(_tycoonCard);
//해당 밑줄은 따로 메소드를 만들어주자... 여기서 호출하는게 아니라 SelectCardUi에서 호출받는 방식으로...
this.SetEnable(false);

View File

@ -1,10 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Players.Tycoons;
using BlueWater.Tycoons;
using Mono.Cecil.Cil;
using Sirenix.OdinInspector;
using UnityEngine;
using Random = UnityEngine.Random;
@ -13,7 +8,7 @@ namespace BlueWater.Uis
{
public class TycoonSelectCard : MonoBehaviour
{
private GameObject _panel;
private Camera uiCamera;
[field: SerializeField, CLabel("카드 1")]
@ -33,13 +28,12 @@ namespace BlueWater.Uis
private LevelData _lvData;
[field: SerializeField, CLabel("업그레이드 팝업")]
private GameObject upgradePopup;
private void Awake()
{
EventManager.OnLevelUp += Test;
_panel = transform.Find("Panel").gameObject;
HideUi();
}
void Start()
@ -59,6 +53,7 @@ namespace BlueWater.Uis
VisualFeedbackManager.Instance.SetBaseTimeScale(0f);
// 기존 카드가 있으면 삭제
if (_currentCard01 != null)
{
@ -73,13 +68,13 @@ namespace BlueWater.Uis
Destroy(_currentCard03);
}
_currentCard01 = Instantiate(card01, this.transform);
_currentCard01 = Instantiate(card01, _panel.transform);
_currentCard01.name = "Card01";
_currentCard02 = Instantiate(card02, this.transform);
_currentCard02 = Instantiate(card02, _panel.transform);
_currentCard02.name = "Card02";
_currentCard03 = Instantiate(card03, this.transform);
_currentCard03 = Instantiate(card03, _panel.transform);
_currentCard03.name = "Card03";
_currentCard01.transform.localPosition = new Vector3(-550, 0, 0);
@ -89,7 +84,8 @@ namespace BlueWater.Uis
_tycoonCard01Componet = _currentCard01.GetComponent<TycoonCard>();
_tycoonCard02Componet = _currentCard02.GetComponent<TycoonCard>();
_tycoonCard03Componet = _currentCard03.GetComponent<TycoonCard>();
ShowUi();
//----카드 값 지정 및 초기화----
@ -184,9 +180,9 @@ namespace BlueWater.Uis
case "SpeedUp":
TycoonManager.Instance.TycoonStatus.PlayerMoveSpeedMultiplier += 0.05f; break;
case "ExpGetUp":
TycoonManager.Instance.TycoonStatus.ExpMultiplier += 0.05f; break;
TycoonManager.Instance.TycoonStatus.ExpMultiplier += 0.2f; break;
case "GoldGetUp":
TycoonManager.Instance.TycoonStatus.GoldMultiplier += 0.05f; break;
TycoonManager.Instance.TycoonStatus.GoldMultiplier += 0.2f; break;
// case "CleanUp": return; break;
// case "GaugeReset": return; break;
default: Debug.Log("Not Found Card : IDX" + currTycoonCard.CardDataForIdx.Idx); return; break;
@ -202,29 +198,29 @@ namespace BlueWater.Uis
{
Vector2 startPosition01; //시작 위치
Vector2 endPosition01; // 목표 위치
Vector2 startPosition02; //시작 위치
Vector2 endPosition02; // 목표 위치
Vector2 startPosition03; //시작 위치
Vector2 endPosition03; //목표 위치
RectTransform rect01;
RectTransform rect02;
RectTransform rect03;
rect03 = currTycoonCard.GetComponent<RectTransform>();
rect03 = currTycoonCard.GetComponent<RectTransform>();
startPosition03 = rect03.anchoredPosition;
endPosition03 = new Vector2(0.0f, 0.0f);
// 화면의 해상도를 가져옴
if (currTycoonCard == _tycoonCard01Componet) //우우
{
rect01 = _tycoonCard02Componet.GetComponent<RectTransform>();
startPosition01 = rect01.anchoredPosition; // 시작 위치
endPosition01 = new Vector2(Screen.width + 1500, startPosition01.y); // 목표 위치(좌측)
rect02 = _tycoonCard03Componet.GetComponent<RectTransform>();
startPosition02 = rect02.anchoredPosition; // 시작 위치
endPosition02 = new Vector2(Screen.width + 1500, startPosition02.y); // 목표 위치(좌측)
@ -234,7 +230,7 @@ namespace BlueWater.Uis
rect01 = _tycoonCard01Componet.GetComponent<RectTransform>();
startPosition01 = rect01.anchoredPosition; // 시작 위치
endPosition01 = new Vector2(-1500, startPosition01.y); // 목표 위치(좌측)
rect02 = _tycoonCard03Componet.GetComponent<RectTransform>();
startPosition02 = rect02.anchoredPosition; // 시작 위치
endPosition02 = new Vector2(Screen.width + 1500, startPosition02.y); // 목표 위치(좌측)
@ -244,29 +240,28 @@ namespace BlueWater.Uis
rect01 = _tycoonCard01Componet.GetComponent<RectTransform>();
startPosition01 = rect01.anchoredPosition; // 시작 위치
endPosition01 = new Vector2(-1500, startPosition01.y); // 목표 위치(좌측)
rect02 = _tycoonCard02Componet.GetComponent<RectTransform>();
startPosition02 = rect02.anchoredPosition; // 시작 위치
endPosition02 = new Vector2(-1500, startPosition02.y); // 목표 위치(좌측)
}
float time = 0.0f; // 타이머 초기화
int rotationDirection = Random.Range(0, 2) * 2 - 1; // 결과는 -1 또는 1
while (time < 1.0f)
{
time += Time.unscaledDeltaTime; // 시간 업데이트
float t = EaseEffect.ExpoOut((time / 1.0f)); // 정규화된 시간
//캐릭터의 위치 반환 (실시간으로 움직이기 때문에... 계속 업데이트하면서 가져오기.)
// 위치 업데이트
rect01.anchoredPosition = Vector2.Lerp(startPosition01, endPosition01, t);
rect02.anchoredPosition = Vector2.Lerp(startPosition02, endPosition02, t);
// 선형 보간을 사용하여 위치와 크기 조정
rect03.anchoredPosition =
Vector2.Lerp(startPosition03, endPosition03, EaseEffect.ExpoOut((time / 1.0f) + 1.0f)); // 정규화된 시간
rect03.anchoredPosition = Vector2.Lerp(startPosition03, endPosition03, EaseEffect.ExpoOut((time / 1.0f) + 1.0f)); // 정규화된 시간
rect03.localScale = Vector3.Lerp(Vector3.one, Vector3.zero, t);
// 포물선 효과 추가
@ -277,7 +272,7 @@ namespace BlueWater.Uis
// Z축 회전 추가
float rotationAngle = 15f * rotationDirection * t; // 최대 15도 회전
rect03.rotation = Quaternion.Euler(new Vector3(0, 0, rotationAngle));
yield return null;
}
@ -285,29 +280,21 @@ namespace BlueWater.Uis
{
Destroy(_currentCard01);
}
if (_currentCard02 != null)
{
Destroy(_currentCard02);
}
if (_currentCard03 != null)
{
Destroy(_currentCard03);
}
var currentLevelData = TycoonManager.Instance.GetCurrentLevelData();
if (int.Parse(currentLevelData.Idx) % 5 == 0)
{
upgradePopup.SetActive(true);
EventManager.InvokeUpgradeUi(currentLevelData);
}
else
{
VisualFeedbackManager.Instance.ResetTimeScale();
}
HideUi();
VisualFeedbackManager.Instance.ResetTimeScale();
}
public void ShowUi() => _panel.SetActive(true);
public void HideUi() => _panel.SetActive(false);
}
}

View File

@ -200,6 +200,7 @@ GameObject:
- component: {fileID: 479823629690914954}
- component: {fileID: 2588384133887034894}
- component: {fileID: 2961986041977982893}
- component: {fileID: 2322101151879677010}
m_Layer: 14
m_Name: VisualLook
m_TagString: Untagged
@ -319,6 +320,18 @@ MonoBehaviour:
_animationName: Idle
loop: 1
timeScale: 1
--- !u!210 &2322101151879677010
SortingGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 813964778509222274}
m_Enabled: 1
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 5
m_SortAtRoot: 0
--- !u!1 &2781393898199067900
GameObject:
m_ObjectHideFlags: 0
@ -604,13 +617,13 @@ CapsuleCollider:
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Bits: 256
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.1
m_Radius: 0.25
m_Height: 0.5
m_Direction: 1
m_Center: {x: 0, y: 0.25, z: 0}
@ -655,7 +668,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
version: 1073741824
radius: 0.1
radius: 0.25
height: 0.5
canMove: 1
maxSpeed: 2
@ -663,7 +676,7 @@ MonoBehaviour:
groundMask:
serializedVersion: 2
m_Bits: 4294967295
endReachedDistance: 0.5
endReachedDistance: 0.2
whenCloseToDestination: 0
rvoDensityBehavior:
enabled: 1

View File

@ -200,6 +200,7 @@ GameObject:
- component: {fileID: 479823629690914954}
- component: {fileID: 2588384133887034894}
- component: {fileID: 2961986041977982893}
- component: {fileID: 1143287283172291005}
m_Layer: 14
m_Name: VisualLook
m_TagString: Untagged
@ -319,6 +320,18 @@ MonoBehaviour:
_animationName: Idle
loop: 1
timeScale: 1
--- !u!210 &1143287283172291005
SortingGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 813964778509222274}
m_Enabled: 1
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 5
m_SortAtRoot: 0
--- !u!1 &2781393898199067900
GameObject:
m_ObjectHideFlags: 0
@ -604,13 +617,13 @@ CapsuleCollider:
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Bits: 256
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.1
m_Radius: 0.25
m_Height: 0.5
m_Direction: 1
m_Center: {x: 0, y: 0.25, z: 0}
@ -655,7 +668,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
version: 1073741824
radius: 0.1
radius: 0.25
height: 0.5
canMove: 1
maxSpeed: 2
@ -663,7 +676,7 @@ MonoBehaviour:
groundMask:
serializedVersion: 2
m_Bits: 4294967295
endReachedDistance: 0.5
endReachedDistance: 0.2
whenCloseToDestination: 0
rvoDensityBehavior:
enabled: 1

View File

@ -200,6 +200,7 @@ GameObject:
- component: {fileID: 479823629690914954}
- component: {fileID: 2588384133887034894}
- component: {fileID: 2961986041977982893}
- component: {fileID: 1333026624613754047}
m_Layer: 14
m_Name: VisualLook
m_TagString: Untagged
@ -319,6 +320,18 @@ MonoBehaviour:
_animationName: Idle
loop: 1
timeScale: 1
--- !u!210 &1333026624613754047
SortingGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 813964778509222274}
m_Enabled: 1
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 5
m_SortAtRoot: 0
--- !u!1 &2781393898199067900
GameObject:
m_ObjectHideFlags: 0
@ -604,13 +617,13 @@ CapsuleCollider:
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Bits: 256
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.1
m_Radius: 0.25
m_Height: 0.5
m_Direction: 1
m_Center: {x: 0, y: 0.25, z: 0}
@ -655,7 +668,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
version: 1073741824
radius: 0.1
radius: 0.25
height: 0.5
canMove: 1
maxSpeed: 2
@ -663,7 +676,7 @@ MonoBehaviour:
groundMask:
serializedVersion: 2
m_Bits: 4294967295
endReachedDistance: 0.5
endReachedDistance: 0.2
whenCloseToDestination: 0
rvoDensityBehavior:
enabled: 1

View File

@ -200,6 +200,7 @@ GameObject:
- component: {fileID: 479823629690914954}
- component: {fileID: 2588384133887034894}
- component: {fileID: 2961986041977982893}
- component: {fileID: 4034770193240481967}
m_Layer: 14
m_Name: VisualLook
m_TagString: Untagged
@ -318,6 +319,18 @@ MonoBehaviour:
_animationName: Idle
loop: 1
timeScale: 1
--- !u!210 &4034770193240481967
SortingGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 813964778509222274}
m_Enabled: 1
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 5
m_SortAtRoot: 0
--- !u!1 &2781393898199067900
GameObject:
m_ObjectHideFlags: 0
@ -913,13 +926,13 @@ CapsuleCollider:
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_Bits: 256
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.1
m_Radius: 0.25
m_Height: 0.5
m_Direction: 1
m_Center: {x: 0, y: 0.25, z: 0}
@ -964,7 +977,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
version: 1073741824
radius: 0.1
radius: 0.25
height: 0.5
canMove: 1
maxSpeed: 2
@ -972,7 +985,7 @@ MonoBehaviour:
groundMask:
serializedVersion: 2
m_Bits: 4294967295
endReachedDistance: 0.5
endReachedDistance: 0.2
whenCloseToDestination: 0
rvoDensityBehavior:
enabled: 1
@ -1134,16 +1147,19 @@ MonoBehaviour:
<Name>k__BackingField:
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField:
<IngredientAmount1>k__BackingField: 0
<IngredientRatio1>k__BackingField: 0
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientRatio2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientRatio3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientRatio4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
<ValidIngredients>k__BackingField: []
<CurrentBill>k__BackingField: {fileID: 0}
<IsMatchedServer>k__BackingField: 0
<IsReceivedItem>k__BackingField: 0
<IsOrderedSucceed>k__BackingField: 0
_customerInteractionType: 0

View File

@ -320,9 +320,9 @@ CapsuleCollider:
m_Enabled: 1
serializedVersion: 2
m_Radius: 0.25
m_Height: 1
m_Height: 0.5
m_Direction: 1
m_Center: {x: 0, y: 0.5, z: 0}
m_Center: {x: 0, y: 0.25, z: 0}
--- !u!114 &6054159730444663926
MonoBehaviour:
m_ObjectHideFlags: 0
@ -585,7 +585,9 @@ MonoBehaviour:
_replacementMaterial: {fileID: 0}
_initialSkinName: Basic
_isRandomSkin: 0
_isRandomRange: 0
_randomRange: {x: 0, y: 0}
_randomStrings: []
--- !u!114 &3359549505901716120
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -107,7 +107,7 @@ SpriteRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 6
m_Sprite: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3}
m_Sprite: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0

View File

@ -53,7 +53,7 @@ MonoBehaviour:
<InteractionCanvas>k__BackingField: {fileID: 3099553823688037663}
<OutlineMaterial>k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2}
<EnableInteraction>k__BackingField: 1
<InteractionRadius>k__BackingField: 0.7
<InteractionRadius>k__BackingField: 0.5
<InteractionMessage>k__BackingField:
IsOpened: 0
<IsOccupied>k__BackingField: 0
@ -63,8 +63,6 @@ MonoBehaviour:
<Food>k__BackingField: {fileID: 8752266548893034047}
TableDirection: {x: -1, y: 0, z: 0}
TableNumber: 0
_foodImage: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3}
_dirtyImage: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3}
_interactionHoldingTime: 3
--- !u!1 &1352874222752200122
GameObject:
@ -380,7 +378,7 @@ MonoBehaviour:
<InteractionCanvas>k__BackingField: {fileID: 1675779991655778469}
<OutlineMaterial>k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2}
<EnableInteraction>k__BackingField: 1
<InteractionRadius>k__BackingField: 0.7
<InteractionRadius>k__BackingField: 0.5
<InteractionMessage>k__BackingField:
IsOpened: 0
<IsOccupied>k__BackingField: 0
@ -390,8 +388,6 @@ MonoBehaviour:
<Food>k__BackingField: {fileID: 4724775134085759924}
TableDirection: {x: 1, y: 0, z: 0}
TableNumber: 0
_foodImage: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3}
_dirtyImage: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3}
_interactionHoldingTime: 3
--- !u!1 &6493535781353555306
GameObject:
@ -741,7 +737,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
propertyPath: m_Center.z
value: 0.2
value: 0.15
objectReference: {fileID: 0}
- target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
propertyPath: m_LocalScale.x

View File

@ -76,7 +76,7 @@ SpriteRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 6
m_Sprite: {fileID: 21300000, guid: cda1d961a563b6143a024170ed6f0f44, type: 3}
m_Sprite: {fileID: 21300000, guid: 514247b5965aef447b13b5da95f3281a, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
@ -103,6 +103,10 @@ PrefabInstance:
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2234961990804426782, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
propertyPath: m_Center.z
value: 0.2
objectReference: {fileID: 0}
- target: {fileID: 2301048832536013177, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
propertyPath: m_LocalScale.x
value: 1

View File

@ -18,7 +18,7 @@ Material:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 3000
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:

View File

@ -18,7 +18,7 @@ Material:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 3000
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:

View File

@ -100,14 +100,14 @@
{
"Idx": "ExpGetUp",
"Img": "ExpGetUpImg",
"ScriptText": "경험치 획득 5% 증가",
"ScriptText": "경험치 획득 20% 증가",
"Max": 10,
"Ratio": 5
},
{
"Idx": "GoldGetUp",
"Img": "GoldGetUpImg",
"ScriptText": "골드 획득 5% 증가",
"ScriptText": "골드 획득 20% 증가",
"Max": 10,
"Ratio": 5
},

View File

@ -15,9 +15,9 @@
"CustomerRespawn": 15,
"Gold": 100,
"Exp": 100,
"RequiredExp": 100,
"RequiredExp": 200,
"WaitTime": 20,
"HurryTime": 19,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
},
@ -28,7 +28,7 @@
"Exp": 100,
"RequiredExp": 200,
"WaitTime": 20,
"HurryTime": 18,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
},
@ -39,7 +39,7 @@
"Exp": 100,
"RequiredExp": 200,
"WaitTime": 20,
"HurryTime": 17,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": ""
},
@ -50,227 +50,227 @@
"Exp": 100,
"RequiredExp": 200,
"WaitTime": 20,
"HurryTime": 16,
"HurryTime": 20,
"EatingTime": 10,
"OpenUpgrade": "Upgrade1"
},
{
"Idx": 6,
"CustomerRespawn": 13,
"CustomerRespawn": 10,
"Gold": 100,
"Exp": 100,
"RequiredExp": 200,
"WaitTime": 20,
"HurryTime": 15,
"RequiredExp": 300,
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
},
{
"Idx": 7,
"CustomerRespawn": 13,
"CustomerRespawn": 10,
"Gold": 100,
"Exp": 100,
"RequiredExp": 300,
"WaitTime": 19,
"HurryTime": 15,
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
},
{
"Idx": 8,
"CustomerRespawn": 13,
"CustomerRespawn": 10,
"Gold": 100,
"Exp": 100,
"RequiredExp": 300,
"WaitTime": 18,
"HurryTime": 15,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
},
{
"Idx": 9,
"CustomerRespawn": 13,
"CustomerRespawn": 10,
"Gold": 100,
"Exp": 100,
"RequiredExp": 300,
"WaitTime": 17,
"HurryTime": 15,
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": ""
},
{
"Idx": 10,
"CustomerRespawn": 13,
"CustomerRespawn": 10,
"Gold": 100,
"Exp": 100,
"RequiredExp": 300,
"WaitTime": 16,
"HurryTime": 15,
"WaitTime": 18,
"HurryTime": 18,
"EatingTime": 10,
"OpenUpgrade": "Upgrade2"
},
{
"Idx": 11,
"CustomerRespawn": 11,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 300,
"WaitTime": 15,
"HurryTime": 14,
"RequiredExp": 400,
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 12,
"CustomerRespawn": 11,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 400,
"WaitTime": 15,
"HurryTime": 13,
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 13,
"CustomerRespawn": 11,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 400,
"WaitTime": 15,
"HurryTime": 12,
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 14,
"CustomerRespawn": 11,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 400,
"WaitTime": 15,
"HurryTime": 11,
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 15,
"CustomerRespawn": 11,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 400,
"WaitTime": 15,
"HurryTime": 10,
"WaitTime": 16,
"HurryTime": 16,
"EatingTime": 8,
"OpenUpgrade": "Upgrade3"
},
{
"Idx": 16,
"CustomerRespawn": 9,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 400,
"WaitTime": 15,
"HurryTime": 10,
"RequiredExp": 500,
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 17,
"CustomerRespawn": 9,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 500,
"WaitTime": 14,
"HurryTime": 10,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 18,
"CustomerRespawn": 9,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 500,
"WaitTime": 13,
"HurryTime": 10,
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 19,
"CustomerRespawn": 9,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 500,
"WaitTime": 12,
"HurryTime": 10,
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": ""
},
{
"Idx": 20,
"CustomerRespawn": 9,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 500,
"WaitTime": 11,
"HurryTime": 10,
"WaitTime": 14,
"HurryTime": 14,
"EatingTime": 8,
"OpenUpgrade": "Upgrade4"
},
{
"Idx": 21,
"CustomerRespawn": 7,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 500,
"WaitTime": 10,
"HurryTime": 10,
"RequiredExp": 600,
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
},
{
"Idx": 22,
"CustomerRespawn": 7,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 600,
"WaitTime": 10,
"HurryTime": 9,
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
},
{
"Idx": 23,
"CustomerRespawn": 7,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 600,
"WaitTime": 10,
"HurryTime": 8,
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
},
{
"Idx": 24,
"CustomerRespawn": 7,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 600,
"WaitTime": 10,
"HurryTime": 7,
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": ""
},
{
"Idx": 25,
"CustomerRespawn": 7,
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 600,
"WaitTime": 10,
"HurryTime": 6,
"WaitTime": 12,
"HurryTime": 12,
"EatingTime": 6,
"OpenUpgrade": "Upgrade5"
},
@ -279,9 +279,9 @@
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 600,
"RequiredExp": 700,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -292,7 +292,7 @@
"Exp": 100,
"RequiredExp": 700,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -303,7 +303,7 @@
"Exp": 100,
"RequiredExp": 700,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -314,7 +314,7 @@
"Exp": 100,
"RequiredExp": 700,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -325,7 +325,7 @@
"Exp": 100,
"RequiredExp": 700,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": "Upgrade6"
},
@ -334,9 +334,9 @@
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 700,
"RequiredExp": 800,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -347,7 +347,7 @@
"Exp": 100,
"RequiredExp": 800,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -358,7 +358,7 @@
"Exp": 100,
"RequiredExp": 800,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -369,7 +369,7 @@
"Exp": 100,
"RequiredExp": 800,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -380,7 +380,7 @@
"Exp": 100,
"RequiredExp": 800,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -389,9 +389,9 @@
"CustomerRespawn": 5,
"Gold": 100,
"Exp": 100,
"RequiredExp": 800,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -402,7 +402,7 @@
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -413,7 +413,7 @@
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -424,7 +424,7 @@
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
},
@ -435,7 +435,7 @@
"Exp": 100,
"RequiredExp": 900,
"WaitTime": 10,
"HurryTime": 5,
"HurryTime": 10,
"EatingTime": 6,
"OpenUpgrade": ""
}

View File

@ -1,9 +1,16 @@
fileFormatVersion: 2
guid: 8ef64d8ac85ff4681987c8b621bef86b
AssetOrigin:
serializedVersion: 1
productId: 154574
packageName: Ultimate Clean GUI Pack
packageVersion: 2.1.3
assetPath: Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png
uploadId: 621733
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
@ -20,9 +27,12 @@ TextureImporter:
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
@ -31,9 +41,9 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
@ -43,9 +53,9 @@ TextureImporter:
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
alignment: 7
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spritePixelsToUnits: 256
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
@ -54,12 +64,17 @@ TextureImporter:
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 1
platformSettings:
- serializedVersion: 3
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
@ -69,12 +84,53 @@ TextureImporter:
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
@ -84,16 +140,11 @@ TextureImporter:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 154574
packageName: Ultimate Clean GUI Pack
packageVersion: 2.1.3
assetPath: Assets/UltimateCleanGUIPack/Common/Sprites/Icons Colored/Basic/Lock.png
uploadId: 621733

View File

@ -140,7 +140,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 0.3.2.0
bundleVersion: 0.3.2.5
preloadedAssets:
- {fileID: -944628639613478452, guid: 4ed6540e2f7ce234888adf8deff1f241, type: 3}
metroInputSource: 0