타이쿤 최신화

This commit is contained in:
NTG_Lenovo 2025-02-18 18:10:19 +09:00
parent 62f936092d
commit 8171828657
16 changed files with 262 additions and 110 deletions

View File

@ -25273,7 +25273,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 4974788024565528179, guid: 1fdefb248429af04e82ba61927d1c15d, type: 3}
propertyPath: m_IsActive
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5585061895982209044, guid: 1fdefb248429af04e82ba61927d1c15d, type: 3}
propertyPath: m_AnchorMax.y
@ -76305,34 +76305,7 @@ MonoBehaviour:
_customerPrefab: {fileID: -2302002259734456648, guid: 23195e611c71ad44b8a1ccb2b6e0efe5, type: 3}
_customerSpawnTransform: {fileID: 1135161495}
_createCustomerSfxName: CreateCustomer
_roundSkinData:
- <MinRound>k__BackingField: 31
<Skins>k__BackingField:
- Casper
- PumkinHead
- CasperBlack
- Reaper
- Cat
- BigCat
- Witch
- <MinRound>k__BackingField: 21
<Skins>k__BackingField:
- Casper
- PumkinHead
- CasperBlack
- Reaper
- Cat
- BigCat
- <MinRound>k__BackingField: 11
<Skins>k__BackingField:
- Casper
- PumkinHead
- CasperBlack
- Reaper
- <MinRound>k__BackingField: 0
<Skins>k__BackingField:
- Casper
- PumkinHead
_roundSkinData: []
_checkEmptySeatInterval: 0.5
<InstanceCustomers>k__BackingField: []
--- !u!114 &1665075877

View File

@ -298,9 +298,9 @@ namespace DDD.Npcs.Customers
_astarAi = GetComponent<IAstarAI>();
}
public void Initialize(LevelData levelData, Transform spawnTransform, List<string> skins)
public void Initialize(LevelData levelData, Transform spawnTransform, List<string> skins = null)
{
if (skins.Count > 0)
if (skins != null && skins.Count > 0)
{
var randomSkin = skins[Random.Range(0, skins.Count)];
SpineController.SetSkin(randomSkin);
@ -381,8 +381,7 @@ namespace DDD.Npcs.Customers
case CustomerInteractionType.None:
return false;
case CustomerInteractionType.OrderedCook:
CraftRecipeData playerPickupCook = GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.CurrentCraftRecipeData;
return playerPickupCook?.Idx == OrderedCraftRecipeData.Idx;
return GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsSameAsCompletedFood(OrderedCraftRecipeData);
default:
throw new ArgumentOutOfRangeException();
}
@ -451,7 +450,7 @@ namespace DDD.Npcs.Customers
_customerInteractionType = CustomerInteractionType.OrderedCook;
RegisterPlayerInteraction();
EventManager.InvokeOrderedCocktail(this);
EventManager.InvokeOrderedCook(this);
// if (!ES3.Load(SaveData.TutorialB, false))
// {
@ -466,7 +465,7 @@ namespace DDD.Npcs.Customers
// }
}
public void SetTableSeat(TableSeat tableSeat)
public void SetTableSeat(TableSeat tableSeat)
{
CurrentTableSeat = tableSeat;
}

View File

@ -133,6 +133,7 @@ namespace DDD.Players.Tycoons
public void InteractionCraftingTool()
{
CurrentCraftRecipeData.CraftingToolQueue.Dequeue();
EventManager.InvokeChangedPickupCook(CurrentCraftRecipeData);
if (CurrentCraftRecipeData.CraftingToolQueue.Count <= 0)
{
@ -155,7 +156,7 @@ namespace DDD.Players.Tycoons
public void SetCurrentCraftRecipeData(CraftRecipeData craftRecipeData)
{
CurrentCraftRecipeData = craftRecipeData;
EventManager.InvokeChangedPickupItem(CurrentCraftRecipeData?.Idx);
EventManager.InvokeChangedPickupCook(CurrentCraftRecipeData);
if (CurrentCraftRecipeData == null || CurrentCraftRecipeData.CraftingToolQueue.Count <= 0)
{
@ -166,5 +167,10 @@ namespace DDD.Players.Tycoons
EventManager.InvokeChangedCraftingTool(CurrentCraftRecipeData.CraftingToolQueue.Peek());
}
}
public bool IsSameAsCompletedFood(CraftRecipeData otherCraftRecipeData)
{
return CurrentCraftRecipeData != null && CurrentCraftRecipeData.CraftingToolQueue.Count == 0 && otherCraftRecipeData.Idx == CurrentCraftRecipeData.Idx;
}
}
}

View File

@ -38,7 +38,7 @@ namespace DDD.Players
[SerializeField, ShowIf("@_isSkinSet && _isRandomSkin")]
private bool _isRandomRange;
[SerializeField, ShowIf("@_isSkinSet && _isRandomSkin && _isRandomRange")]
[SerializeField, ShowIf("@_isSkinSet && _isRandomSkin && _isRandomRange"), Tooltip("x <= 값 < y")]
private Vector2 _randomRange;
[SerializeField, ShowIf("@_isSkinSet && _isRandomSkin && !_isRandomRange")]

View File

@ -69,9 +69,9 @@ namespace DDD.Tycoons
public Customer CreateCustomer()
{
var currentLevelData = TycoonManager.Instance.GetCurrentLevelData();
List<string> randomSkins = GetSkins();
//List<string> randomSkins = GetSkins();
var newCustomer = Instantiate(_customerPrefab, _customerSpawnTransform.position, Quaternion.identity);
newCustomer.Initialize(currentLevelData, _customerSpawnTransform, randomSkins);
newCustomer.Initialize(currentLevelData, _customerSpawnTransform, null);
newCustomer.gameObject.name = $"Customer (Clone) {_instanceCount}";
_instanceCount++;
RegisterCustomer(newCustomer);

View File

@ -86,6 +86,7 @@ namespace DDD.Tycoons
EventManager.OnCleaningAll += Cleaning;
EventManager.OnChangedPickupItem += ChangeMenuColor;
EventManager.OnChangedPickupCook += ChangeMenuColor;
}
private void Update()
@ -156,6 +157,7 @@ namespace DDD.Tycoons
{
EventManager.OnCleaningAll -= Cleaning;
EventManager.OnChangedPickupItem -= ChangeMenuColor;
EventManager.OnChangedPickupCook -= ChangeMenuColor;
}
public void Initialize()
@ -292,6 +294,21 @@ namespace DDD.Tycoons
}
}
public void ChangeMenuColor(CraftRecipeData craftRecipeData)
{
if (MenuBalloonUi.gameObject.activeInHierarchy)
{
if (craftRecipeData == null || (MenuBalloonUi.IsWaitServing() && MenuBalloonUi.OrderedCraftRecipeData?.Idx == craftRecipeData.Idx && craftRecipeData.CraftingToolQueue.Count <= 0))
{
ChangeMenuOriginalColor();
}
else
{
MenuBalloonUi.SetColor(_mismatchedColor);
}
}
}
public void ChangeMenuOriginalColor()
{
MenuBalloonUi.SetColor(_originalColor);

View File

@ -89,7 +89,26 @@ namespace DDD.ScriptableObjects
[JsonIgnore]
[field: SerializeField]
public List<string> ValidHashTags { get; set; }
[JsonConstructor]
public CraftRecipeData(string idx, string name, string description, int price, string ingredientIdx1,
int ingredientCount1, string ingredientIdx2, int ingredientCount2, string ingredientIdx3,
int ingredientCount3, int craftOrder, string hashTag)
{
Idx = idx;
Name = name;
Description = description;
Price = price;
IngredientIdx1 = ingredientIdx1;
IngredientCount1 = ingredientCount1;
IngredientIdx2 = ingredientIdx2;
IngredientCount2 = ingredientCount2;
IngredientIdx3 = ingredientIdx3;
IngredientCount3 = ingredientCount3;
CraftOrder = craftOrder;
HashTag = hashTag;
}
public CraftRecipeData(CraftRecipeData copy)
{
Idx = copy.Idx;

View File

@ -48,7 +48,7 @@ MonoBehaviour:
<IngredientCount3>k__BackingField: 0
<CraftOrder>k__BackingField: 3
<HashTag>k__BackingField: HashTag003, HashTag004, HashTag005
<Sprite>k__BackingField: {fileID: 21300000, guid: 471f30d31984bb64d929cf9cd729f5f3, type: 3}
<Sprite>k__BackingField: {fileID: 0}
<ValidIngredients>k__BackingField:
- <Idx>k__BackingField: Ingredient002
<Count>k__BackingField: 1
@ -88,14 +88,14 @@ MonoBehaviour:
<Idx>k__BackingField: CraftRecipe004
<Name>k__BackingField: "\uC774\uC0C1\uD55C \uD06C\uB9AC\uC2A4\uD0C8 \uC0C8\uC6B0\uBC84\uAC70"
<Description>k__BackingField: CraftRecipeDescription004
<Price>k__BackingField: 100
<Price>k__BackingField: 10
<IngredientIdx1>k__BackingField: Ingredient006
<IngredientCount1>k__BackingField: 2
<IngredientIdx2>k__BackingField: Ingredient007
<IngredientCount2>k__BackingField: 2
<IngredientIdx3>k__BackingField: Ingredient008
<IngredientCount3>k__BackingField: 1
<CraftOrder>k__BackingField: 32
<CraftOrder>k__BackingField: 23
<HashTag>k__BackingField: HashTag006, HashTag007, HashTag008
<Sprite>k__BackingField: {fileID: 21300000, guid: 12a978bb397d4194a9795a3daf6fad84, type: 3}
<ValidIngredients>k__BackingField:
@ -114,14 +114,14 @@ MonoBehaviour:
<Idx>k__BackingField: CraftRecipe005
<Name>k__BackingField: "\uC774\uC0C1\uD55C \uD0B9\uD06C\uB7A9 \uD0D5"
<Description>k__BackingField: CraftRecipeDescription005
<Price>k__BackingField: 100
<Price>k__BackingField: 20
<IngredientIdx1>k__BackingField: Ingredient011
<IngredientCount1>k__BackingField: 1
<IngredientIdx2>k__BackingField:
<IngredientCount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientCount3>k__BackingField: 0
<CraftOrder>k__BackingField: 23
<CraftOrder>k__BackingField: 32
<HashTag>k__BackingField: HashTag009, HashTag010
<Sprite>k__BackingField: {fileID: 21300000, guid: 1002a5b83127f3c43a8cfdf2f8567473, type: 3}
<ValidIngredients>k__BackingField:
@ -135,14 +135,14 @@ MonoBehaviour:
<Idx>k__BackingField: CraftRecipe006
<Name>k__BackingField: "\uC774\uC0C1\uD55C \uB2ED \uC2A4\uD504"
<Description>k__BackingField: CraftRecipeDescription006
<Price>k__BackingField: 100
<Price>k__BackingField: 50
<IngredientIdx1>k__BackingField: Ingredient008
<IngredientCount1>k__BackingField: 1
<IngredientIdx2>k__BackingField: Ingredient010
<IngredientCount2>k__BackingField: 2
<IngredientIdx3>k__BackingField:
<IngredientCount3>k__BackingField: 0
<CraftOrder>k__BackingField: 3
<CraftOrder>k__BackingField: 2
<HashTag>k__BackingField: HashTag011, HashTag012
<Sprite>k__BackingField: {fileID: 21300000, guid: 1921548edfb697e4c813502ad856e15d, type: 3}
<ValidIngredients>k__BackingField:
@ -153,3 +153,28 @@ MonoBehaviour:
<ValidHashTags>k__BackingField:
- HashTag011
- HashTag012
- <Key>k__BackingField: CraftRecipe007
<Value>k__BackingField:
<Idx>k__BackingField: CraftRecipe007
<Name>k__BackingField: "\uC774\uC0C1\uD55C \uBA54\uAC08\uB85C\uB3C8 \uBA38\uB9AC
\uD280\uAE40"
<Description>k__BackingField: CraftRecipeDescription002
<Price>k__BackingField: 100
<IngredientIdx1>k__BackingField: Ingredient008
<IngredientCount1>k__BackingField: 1
<IngredientIdx2>k__BackingField: Ingredient010
<IngredientCount2>k__BackingField: 2
<IngredientIdx3>k__BackingField:
<IngredientCount3>k__BackingField: 0
<CraftOrder>k__BackingField: 3
<HashTag>k__BackingField: HashTag003, HashTag004, HashTag005
<Sprite>k__BackingField: {fileID: 21300000, guid: 471f30d31984bb64d929cf9cd729f5f3, type: 3}
<ValidIngredients>k__BackingField:
- <Idx>k__BackingField: Ingredient008
<Count>k__BackingField: 1
- <Idx>k__BackingField: Ingredient010
<Count>k__BackingField: 2
<ValidHashTags>k__BackingField:
- HashTag003
- HashTag004
- HashTag005

View File

@ -451,6 +451,13 @@ public static class EventManager
OnChangedCraftingTool?.Invoke(craftingTool);
}
// 플레이어가 들고 있는 아이템 정보가 바뀌는 경우
public static Action<CraftRecipeData> OnChangedPickupCook;
public static void InvokeChangedPickupCook(CraftRecipeData craftRecipeData)
{
OnChangedPickupCook?.Invoke(craftRecipeData);
}
// 손님이 음식을 주문하는 이벤트
public static Action<Customer> OnOrderedCook;
public static void InvokeOrderedCook(Customer orderedCustomer)

View File

@ -808,9 +808,9 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
<SkeletonAnimation>k__BackingField: {fileID: 2961986041977982893}
_originalMaterial: {fileID: 2100000, guid: eaf5a1e524cd8ae439ec7b6036090474, type: 2}
_originalMaterial: {fileID: 2100000, guid: d018debe5b8bedf4c8f19cba9e4facec, type: 2}
_replacementMaterial: {fileID: 2100000, guid: 288a49bf884b6fc4bbb57fe5d2f4da06, type: 2}
_isSkinSet: 0
_isSkinSet: 1
_initialSkinName: Casper
_isRandomSkin: 1
_isRandomRange: 1

View File

@ -11,7 +11,6 @@ GameObject:
- component: {fileID: 6278891390445669163}
- component: {fileID: 1289663608826275115}
- component: {fileID: 5283474879809510274}
- component: {fileID: -1020311819587236498}
m_Layer: 0
m_Name: BaseBuildableObject
m_TagString: Untagged
@ -104,16 +103,3 @@ MonoBehaviour:
spawnLocalScale: {x: 1, y: 1, z: 1}
destroySpawnnedAfterDelay: 0
destroyDelay: 1
--- !u!114 &-1020311819587236498
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9144032627093884999}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adadf7878a2b4ff43a293cfa419e879e, type: 3}
m_Name:
m_EditorClassIdentifier:
_buildableObject: 0

View File

@ -48,7 +48,7 @@ MonoBehaviour:
<ItemDataSo>k__BackingField: {fileID: 11400000, guid: 10c03ceae14cfc940bb60420d2029af8, type: 2}
<CraftRecipeDataSo>k__BackingField: {fileID: 11400000, guid: 6c26214c869cf6047bb32bf5a0a7d06a, type: 2}
_testCraftRecipes:
- CraftRecipe002
- CraftRecipe004
- CraftRecipe005
- CraftRecipe006
- CraftRecipe007

File diff suppressed because one or more lines are too long

View File

@ -14,18 +14,20 @@ MonoBehaviour:
m_EditorClassIdentifier:
defaultScale: 0.01
defaultMix: 0.2
defaultShader: Universal Render Pipeline/Spine/Skeleton Lit
defaultShader: Spine/Skeleton
defaultZSpacing: 0
defaultInstantiateLoop: 1
defaultPhysicsPositionInheritance: {x: 1, y: 1}
defaultPhysicsRotationInheritance: 1
showHierarchyIcons: 1
reloadAfterPlayMode: 1
setTextureImporterSettings: 1
textureSettingsReference: Packages/com.esotericsoftware.spine.spine-unity/Editor/spine-unity/Editor/ImporterPresets/StraightAlphaPreset.preset
textureSettingsReference:
fixPrefabOverrideViaMeshFilter: 0
removePrefabPreviewMeshes: 0
blendModeMaterialMultiply: {fileID: 2100000, guid: 053fed1e18e65064ca564f05c4027e1e, type: 2}
blendModeMaterialScreen: {fileID: 2100000, guid: 1a66c2d7ee7642a459bd3831abeb30af, type: 2}
blendModeMaterialAdditive: {fileID: 2100000, guid: 517c2df5a5dc5d44a8b3820eca503d13, type: 2}
blendModeMaterialMultiply: {fileID: 0}
blendModeMaterialScreen: {fileID: 0}
blendModeMaterialAdditive: {fileID: 0}
atlasTxtImportWarning: 1
textureImporterWarning: 1
componentMaterialWarning: 1

View File

@ -45,7 +45,7 @@
"Idx": "CraftRecipe004",
"Name": "이상한 크리스탈 새우버거",
"Description": "CraftRecipeDescription004",
"Price": 100,
"Price": 10,
"IngredientIdx1": "Ingredient006",
"IngredientCount1": 2,
"IngredientIdx2": "Ingredient007",
@ -59,7 +59,7 @@
"Idx": "CraftRecipe005",
"Name": "이상한 킹크랩 탕",
"Description": "CraftRecipeDescription005",
"Price": 100,
"Price": 20,
"IngredientIdx1": "Ingredient011",
"IngredientCount1": 1,
"IngredientIdx2": "",
@ -73,7 +73,7 @@
"Idx": "CraftRecipe006",
"Name": "이상한 닭 스프",
"Description": "CraftRecipeDescription006",
"Price": 100,
"Price": 50,
"IngredientIdx1": "Ingredient008",
"IngredientCount1": 1,
"IngredientIdx2": "Ingredient010",
@ -82,5 +82,19 @@
"IngredientCount3": 0,
"CraftOrder": 3,
"HashTag": "HashTag011, HashTag012"
},
{
"Idx": "CraftRecipe007",
"Name": "이상한 메갈로돈 머리 튀김",
"Description": "CraftRecipeDescription002",
"Price": 100,
"IngredientIdx1": "Ingredient008",
"IngredientCount1": 1,
"IngredientIdx2": "Ingredient010",
"IngredientCount2": 2,
"IngredientIdx3": "",
"IngredientCount3": 0,
"CraftOrder": 3,
"HashTag": "HashTag003, HashTag004, HashTag005"
}
]