浏览代码

Merge remote-tracking branch 'tech-mkt/main'

/main
Ciro Continisio 3 年前
当前提交
6bf9cfe1
共有 62 个文件被更改,包括 1395 次插入459 次删除
  1. 85
      UOP1_Project/Assets/Art/Characters/SlimeCritter/Animation/SlimeCritter.controller
  2. 32
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_en.asset
  3. 4
      UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_fr.asset
  4. 2
      UOP1_Project/Assets/Prefabs/Characters/RockCritter.prefab
  5. 1
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/S1-Q2-QL1.asset
  6. 34
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/SD-S1-Q2-QL1.asset
  7. 1
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step3/S3-Q2-QL1.asset
  8. 9
      UOP1_Project/Assets/Scripts/Characters/Damageable.cs
  9. 64
      UOP1_Project/Assets/Scripts/Dialogues/DialogueDataSO.cs
  10. 1
      UOP1_Project/Assets/Scripts/Quests/Editor/LocalizationUtils.cs
  11. 992
      UOP1_Project/Assets/Scripts/Quests/Editor/QuestEditorWindow.cs
  12. 37
      UOP1_Project/Assets/Scripts/Quests/Resources/QuestEditorWindow.uxml
  13. 13
      UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/QuestSO.cs
  14. 13
      UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/QuestlineSO.cs
  15. 31
      UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/StepSO.cs
  16. 2
      UOP1_Project/ProjectSettings/ProjectSettings.asset
  17. 14
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset
  18. 18
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/CD-S1-Q1-QL1.asset
  19. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/CD-S1-Q1-QL1.asset.meta
  20. 18
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/ID-S1-Q1-QL1.asset
  21. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/ID-S1-Q1-QL1.asset.meta
  22. 18
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/ID-S2-Q1-QL1.asset
  23. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/ID-S2-Q1-QL1.asset.meta
  24. 24
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/CD-S1-Q2-QL1.asset
  25. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/CD-S1-Q2-QL1.asset.meta
  26. 18
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/ID-S1-Q2-QL1.asset
  27. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/ID-S1-Q2-QL1.asset.meta
  28. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter.meta
  29. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter.meta
  30. 29
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/ResetHealthSO.cs
  31. 11
      UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/ResetHealthSO.cs.meta
  32. 15
      UOP1_Project/ProjectSettings/TimelineSettings.asset
  33. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions.meta
  34. 14
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/ResetHealth.asset
  35. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/ResetHealth.asset.meta
  36. 20
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/Revive_Trigger_OnExit.asset
  37. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/Revive_Trigger_OnExit.asset.meta
  38. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions.meta
  39. 16
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions/SnoozeTime Elapsed Random Condition.asset
  40. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions/SnoozeTime Elapsed Random Condition.asset.meta
  41. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/RockCritter_TransitionTable.asset.meta
  42. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States.meta
  43. 21
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States/Snooze.asset
  44. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States/Snooze.asset.meta
  45. 153
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/RockCritter_TransitionTable.asset
  46. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions.meta
  47. 8
      UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States.meta
  48. 8
      UOP1_Project/Assets/ScriptableObjects/Quests/Questline3.meta
  49. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions/DestroyCritter.asset
  50. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions/DestroyCritter.asset.meta
  51. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States/Killed.asset
  52. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States/Killed.asset.meta
  53. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset.meta
  54. 0
      /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset

85
UOP1_Project/Assets/Art/Characters/SlimeCritter/Animation/SlimeCritter.controller


m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-7442885294224349724
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: Revive
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -4074544188507746633}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.8125001
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-6387712466842641345
AnimatorStateTransition:
m_ObjectHideFlags: 1

m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-5199397085250934123
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -682829137455043465}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-4074544188507746633
AnimatorState:
serializedVersion: 6

m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_Idle
m_Name: MovingCritter_Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_Faint
m_Name: MovingCritter_Faint
m_Transitions: []
m_Transitions:
- {fileID: -7442885294224349724}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: Revive
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer

m_Position: {x: 500, y: -100, z: 0}
- serializedVersion: 1
m_State: {fileID: 4890182667254986757}
m_Position: {x: 200, y: 0, z: 0}
m_Position: {x: 200, y: 200, z: 0}
m_Position: {x: 200, y: 300, z: 0}
m_Position: {x: 200, y: 20, z: 0}
m_Position: {x: 200, y: 100, z: 0}
m_Position: {x: 200, y: 300, z: 0}
m_Position: {x: 200, y: 200, z: 0}
m_Position: {x: 200, y: 120, z: 0}
- {fileID: -7667846545988299657}
- {fileID: -3434203993338690917}
- {fileID: -824897897767298928}
- {fileID: -7796311050635948590}

m_AnyStatePosition: {x: 0, y: 0, z: 0}
m_AnyStatePosition: {x: -40, y: 200, z: 0}
m_ExitPosition: {x: 500, y: 0, z: 0}
m_ExitPosition: {x: 500, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -4074544188507746633}
--- !u!1101 &3931638471971851364

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_Alert
m_Name: MovingCritter_Alert
m_Speed: 1
m_CycleOffset: 0
m_Transitions:

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_Attack
m_Name: MovingCritter_Attack
m_Speed: 1
m_CycleOffset: 0
m_Transitions:

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_IdleBr
m_Name: MovingCritter_IdleBr
m_Speed: 1
m_CycleOffset: 0
m_Transitions:

m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SlimeCritter_Hit
m_Name: MovingCritter_Hit
- {fileID: -5199397085250934123}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

32
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_en.asset


m_Localized: Who are you!
m_Metadata:
m_Items: []
- m_Id: 45599299228000256
m_Localized: This is an example
m_Metadata:
m_Items: []
- m_Id: 45599303694934016
m_Localized: This is an example
m_Metadata:
m_Items: []
- m_Id: 45599308925231104
m_Localized: This is an example
m_Metadata:
m_Items: []
- m_Id: 45602155272200192
m_Localized: test
m_Metadata:
m_Items: []
- m_Id: 45602159407783936
m_Localized: Ok
m_Metadata:
m_Items: []
- m_Id: 45602163023273984
m_Localized: Boo
m_Metadata:
m_Items: []
- m_Id: 45667467006959616
m_Localized: Test
m_Metadata:
m_Items: []
- m_Id: 45668460641771520
m_Localized: NO
m_Metadata:
m_Items: []
references:
version: 1

4
UOP1_Project/Assets/LocalizationFiles/AssetTables/QuestSystem/Questline Dialogue_fr.asset


m_Localized: T'es qui?
m_Metadata:
m_Items: []
- m_Id: 45667467006959616
m_Localized: Test
m_Metadata:
m_Items: []
references:
version: 1

2
UOP1_Project/Assets/Prefabs/Characters/RockCritter.prefab


m_Script: {fileID: 11500000, guid: 1eeda163c70b3cb4ebb88ba92f608fd8, type: 3}
m_Name:
m_EditorClassIdentifier:
_transitionTableSO: {fileID: 11400000, guid: c106e88137c90384bb4b18ba46869b64, type: 2}
_transitionTableSO: {fileID: 11400000, guid: 5b2c2bb005c027b4d816b6e9812429b4, type: 2}
_debugger:
debugTransitions: 1
appendConditionsInfo: 1

1
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/S1-Q2-QL1.asset


_item: {fileID: 0}
_type: 0
_isDone: 0
_endStepEvent: {fileID: 0}

34
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/SD-S1-Q2-QL1.asset


_actor: {fileID: 11400000, guid: 5e7bd0eed8324794fad1bc460c565ecb, type: 2}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: GUID:dde4d865ca93d7b4dbc6a1bbce6595b2
m_TableCollectionName: Questline Dialogue
m_KeyId: 238002471034882
m_Key:
m_KeyId: 0
m_Key: L1-SD-S1-Q2-QL1
m_FallbackState: 0
m_TableCollectionName: GUID:dde4d865ca93d7b4dbc6a1bbce6595b2
m_TableCollectionName: Questline Dialogue
m_KeyId: 238002471034883
m_Key:
_choices: []
m_KeyId: 0
m_Key: L2-SD-S1-Q2-QL1
m_FallbackState: 0
_choices:
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322714321281024
m_Key:
m_FallbackState: 0
_nextDialogue: {fileID: 11400000, guid: bc4422bcb6b4ecd4da1951a735f57b1f, type: 2}
_actionType: 0
- _response:
m_TableReference:
m_TableCollectionName: GUID:f81a49615d56c1a4fbbd14b4569b06f3
m_TableEntryReference:
m_KeyId: 20322813445267456
m_Key:
m_FallbackState: 0
_nextDialogue: {fileID: 11400000, guid: c1120b75e12d6424189743f165c33b40, type: 2}
_actionType: 0
_dialogueType: 0

1
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step3/S3-Q2-QL1.asset


_item: {fileID: 11400000, guid: 4e4f02d17d76e4c94b68971951eaa717, type: 2}
_type: 3
_isDone: 0
_endStepEvent: {fileID: 0}

9
UOP1_Project/Assets/Scripts/Characters/Damageable.cs


public void ReceiveAnAttack(int damage)
{
if (IsDead)
return;
_currentHealth -= damage;
GetHit = true;
if (_currentHealth <= 0)

OnDie.Invoke();
}
}
public void ResetHealth()
{
_currentHealth = _healthConfigSO.MaxHealth;
IsDead = false;
}
}

64
UOP1_Project/Assets/Scripts/Dialogues/DialogueDataSO.cs


using UnityEngine.Timeline;
using UnityEngine.Localization;
using UnityEditor.Localization;
using UnityEditor;
public enum DialogueType
{

public ActorSO Actor => _actor;
public List<LocalizedString> DialogueLines => _dialogueLines;
public List<Choice> Choices => _choices;
public DialogueType DialogueType => _dialogueType;
public DialogueType DialogueType
{
get { return _dialogueType; }
set { _dialogueType = value; }
}
public void SetActor(ActorSO newActor)
{

{
int index = 0;
LocalizedString _dialogueLine = null;
do
{
index++;

}
else
{
_dialogueLine = null;
}
} while (_dialogueLine != null);
}
}
public void CreateLine()
{
if (_dialogueLines == null)
_dialogueLines = new List<LocalizedString>();
_dialogueLines.Clear();
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
if (collection != null)
{
string DefaultKey = "L" + 1 + "-" + this.name;
if (!collection.SharedData.Contains(DefaultKey))
{
collection.SharedData.AddKey(DefaultKey);
}
}
SetDialogueLines();
}
public void RemoveLineFromSharedTable()
{
StringTableCollection collection = LocalizationEditorSettings.GetStringTableCollection("Questline Dialogue");
if (collection != null)
{
int index = 0;
LocalizedString _dialogueLine = null;
do
{
index++;
string key = "L" + index + "-" + this.name;
if (collection.SharedData.Contains(key))
{
collection.SharedData.RemoveKey(key);
}
else
{
_dialogueLine = null;
}

}
public string GetPath()
{
return AssetDatabase.GetAssetPath(this);
}
#endif
}

1
UOP1_Project/Assets/Scripts/Quests/Editor/LocalizationUtils.cs


{
StringTable table = (StringTable)tableCollection.GetTable(locale.Identifier);
if (table != null)
if (table.GetEntryFromReference(localizedStringReference.TableEntryReference)!=null)
text = table.GetEntryFromReference(localizedStringReference.TableEntryReference).LocalizedValue;
}
}

992
UOP1_Project/Assets/Scripts/Quests/Editor/QuestEditorWindow.cs
文件差异内容过多而无法显示
查看文件

37
UOP1_Project/Assets/Scripts/Quests/Resources/QuestEditorWindow.uxml


<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<Style src="QuestEditorWindow.uss" />
<Style src="DialogueUSS.uss" />
<ui:VisualElement name="quest-editor-window" style="flex-direction: row; height: 100%; width: 100%; min-height: 700px;">
<ui:VisualElement name="1st-column" style="width: 30%;">
<ui:VisualElement name="questlines" class="padding5 ColorStyling1" style="width: auto; height: 150px;">
<ui:VisualElement name="quest-editor-window" style="flex-direction: row; height: 100%; width: 100%; min-height: 500px;">
<ui:VisualElement name="1st-column" style="width: 30%; height: 100%;">
<ui:VisualElement name="questlines" class="padding5 ColorStyling1" style="width: auto; height: 25%;">
<ui:Button text="+" display-tooltip-when-elided="true" name="CreateQL" class="AddButton" />
<ui:Button text="-" display-tooltip-when-elided="true" name="remove-QL-btn" class="AddButton" />
<ui:Button text="+" display-tooltip-when-elided="true" name="create-QL-btn" class="AddButton" />
<ui:VisualElement name="steps" class="padding5 ColorStyling2" style="width: auto; height: 150px;">
<ui:VisualElement name="steps" class="padding5 ColorStyling2" style="width: auto; height: 25%;">
<ui:Button text="+" display-tooltip-when-elided="true" name="CreateS" class="AddButton" />
<ui:Button text="-" display-tooltip-when-elided="true" name="remove-S-btn" class="AddButton" />
<ui:Button text="+" display-tooltip-when-elided="true" name="create-S-btn" class="AddButton" />
<ui:VisualElement name="step-info-panel" class="padding5 ColorStyling1" style="width: auto; height: 100%;">
<ui:VisualElement name="step-info-panel" class="padding5 ColorStyling1" style="width: auto; height: 50%;">
<ui:VisualElement name="2nd-column" style="width: 30%;">
<ui:VisualElement name="quests" class="padding5 ColorStyling2" style="width: auto; height: 150px;">
<ui:VisualElement name="2nd-column" style="width: 30%; height: 100%;">
<ui:VisualElement name="quests" class="padding5 ColorStyling2" style="width: auto; height: 25%;">
<ui:Button text="+" display-tooltip-when-elided="true" name="CreateQ" class="AddButton" />
<ui:Button text="-" display-tooltip-when-elided="true" name="remove-Q-btn" class="AddButton" />
<ui:Button text="+" display-tooltip-when-elided="true" name="create-Q-btn" class="AddButton" />
<ui:VisualElement name="dialogues" class="padding5 ColorStyling1" style="width: auto; height: 150px;">
<ui:VisualElement name="dialogues" class="padding5 ColorStyling1" style="width: auto; height: 25%;">
<ui:VisualElement name="dialogues-list" style="height: 100%;" />
<ui:VisualElement name="dialogues-list" style="height: 100%;">
<ui:VisualElement name="buttons-panel" />
</ui:VisualElement>
<ui:VisualElement name="dialogue-info-panel" class="padding5 ColorStyling2" style="width: auto; height: 100%;">
<ui:VisualElement name="dialogue-info-panel" class="padding5 ColorStyling2" style="width: auto; height: 50%;">
<ui:VisualElement name="3rd-column" class="3rdColumn">
<ui:Label text="Quest Preview" display-tooltip-when-elided="true" name="quest-preview-title" class="title" style="color: rgb(65, 65, 65); height: 18.5px;" />
<ui:VisualElement name="3rd-column" class="3rdColumn" style="height: 100%;">
<ui:Label text="Preview" display-tooltip-when-elided="true" name="preview-title" class="title" style="color: rgb(65, 65, 65); height: 18.5px;" />
<ui:VisualElement name="questline-preview" />
<ui:VisualElement name="quest-preview" />
<ui:ScrollView name="actor-conversations" show-vertical-scroller="true" style="height: 100%;" />
</ui:VisualElement>
</ui:VisualElement>

13
UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/QuestSO.cs


using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[CreateAssetMenu(fileName = "Quest", menuName = "Quests/Quest", order = 51)]

private List<StepSO> _steps = new List<StepSO>();
[SerializeField]
bool _isDone = false;
[SerializeField]
VoidEventChannelSO _endQuestEvent = default;
public VoidEventChannelSO EndQuestEvent => _endQuestEvent;
if(_endQuestEvent != null)
{
_endQuestEvent.RaiseEvent();
}
}
public void SetQuestId(int id)

}
public string GetPath()
{
return AssetDatabase.GetAssetPath(this);
}
}

13
UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/QuestlineSO.cs


using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[CreateAssetMenu(fileName = "Questline", menuName = "Quests/Questline", order = 51)]

private List<QuestSO> _quests = new List<QuestSO>();
[SerializeField]
bool _isDone = false;
[SerializeField]
VoidEventChannelSO _endQuestlineEvent = default;
public VoidEventChannelSO EndQuestlineEvent => _endQuestlineEvent;
if(_endQuestlineEvent!=null)
{ _endQuestlineEvent.RaiseEvent(); }
public string GetPath()
{
return AssetDatabase.GetAssetPath(this);
}
}

31
UOP1_Project/Assets/Scripts/Quests/ScriptableObjects/StepSO.cs


using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Serialization;

private StepType _type = default;
[SerializeField]
bool _isDone = false;
public DialogueDataSO DialogueBeforeStep => _dialogueBeforeStep;
public DialogueDataSO CompleteDialogue => _completeDialogue;
public DialogueDataSO IncompleteDialogue => _incompleteDialogue;
[SerializeField]
VoidEventChannelSO _endStepEvent = default;
public DialogueDataSO DialogueBeforeStep {
get { return _dialogueBeforeStep; }
set { _dialogueBeforeStep = value; }
}
public DialogueDataSO CompleteDialogue
{
get { return _completeDialogue; }
set { _completeDialogue = value; }
}
public DialogueDataSO IncompleteDialogue
{
get { return _incompleteDialogue; }
set { _incompleteDialogue = value; }
}
public VoidEventChannelSO EndStepEvent => _endStepEvent;
public StepType Type => _type;
public bool IsDone => _isDone;
public ActorSO Actor => _actor;

if(_endStepEvent!=null)
_endStepEvent.RaiseEvent();
_isDone = true;
}

return dialogueData;
}
public string GetPath()
{
return AssetDatabase.GetAssetPath(this);
}
}

2
UOP1_Project/ProjectSettings/ProjectSettings.asset


androidSupportedAspectRatio: 1
androidMaxAspectRatio: 2.1
applicationIdentifier:
Standalone: com.openprojects.chopchop
Standalone: com.UnityOpenProjects.ChopChop
buildNumber:
Standalone: 0
iPhone: 0

14
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset


m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 872cbaa965d1f6e4e98365d74e2060df, type: 3}
m_Name: SlimeRockCritter_TransitionTable
m_Name: SlimeCritter_TransitionTable
m_EditorClassIdentifier:
_transitions:
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}

- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:

- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 658f06f54a3654c498a26d9714beaff0, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0

18
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/CD-S1-Q1-QL1.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: CD-S1-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 0}
_dialogueLines: []
_choices: []
_dialogueType: 0

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/CD-S1-Q1-QL1.asset.meta


fileFormatVersion: 2
guid: d7e7c043e16a39b49b6b40b3a4cc36c7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

18
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/ID-S1-Q1-QL1.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S1-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 0}
_dialogueLines: []
_choices: []
_dialogueType: 0

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step1/ID-S1-Q1-QL1.asset.meta


fileFormatVersion: 2
guid: a226d788c70131247ae4d0e249fe9e76
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

18
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/ID-S2-Q1-QL1.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S2-Q1-QL1
m_EditorClassIdentifier:
_actor: {fileID: 0}
_dialogueLines: []
_choices: []
_dialogueType: 0

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest1/Step2/ID-S2-Q1-QL1.asset.meta


fileFormatVersion: 2
guid: 473361716230ea64da50adc3c5dc5a67
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

24
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/CD-S1-Q2-QL1.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: CD-S1-Q2-QL1
m_EditorClassIdentifier:
_actor: {fileID: 0}
_dialogueLines:
- m_TableReference:
m_TableCollectionName: Questline Dialogue
m_TableEntryReference:
m_KeyId: 0
m_Key: L1-CD-S1-Q2-QL1
m_FallbackState: 0
_choices: []
_dialogueType: 1

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/CD-S1-Q2-QL1.asset.meta


fileFormatVersion: 2
guid: bc4422bcb6b4ecd4da1951a735f57b1f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

18
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/ID-S1-Q2-QL1.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0c0171b565b4074a9462307824be26c, type: 3}
m_Name: ID-S1-Q2-QL1
m_EditorClassIdentifier:
_actor: {fileID: 0}
_dialogueLines: []
_choices: []
_dialogueType: 0

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline1/Quest2/Step1/ID-S1-Q2-QL1.asset.meta


fileFormatVersion: 2
guid: c1120b75e12d6424189743f165c33b40
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter.meta


fileFormatVersion: 2
guid: 1991493f92fd38c48ac40552e9d86343
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter.meta


fileFormatVersion: 2
guid: f53f33337c4122648be86d02228f5f59
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

29
UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/ResetHealthSO.cs


using UnityEngine;
using UOP1.StateMachine;
using UOP1.StateMachine.ScriptableObjects;
[CreateAssetMenu(fileName = "ResetHealth", menuName = "State Machines/Actions/Reset Health")]
public class ResetHealthSO : StateActionSO
{
protected override StateAction CreateAction() => new ResetHealth();
}
public class ResetHealth : StateAction
{
private Damageable _damageableEntity;
public override void Awake(StateMachine stateMachine)
{
_damageableEntity = stateMachine.GetComponent<Damageable>();
}
public override void OnUpdate()
{
}
public override void OnStateExit()
{
_damageableEntity.ResetHealth();
}
}

11
UOP1_Project/Assets/Scripts/Characters/StateMachine/Actions/ResetHealthSO.cs.meta


fileFormatVersion: 2
guid: 5455c4a73b1ee9d409aa3ce9ac7a1470
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

15
UOP1_Project/ProjectSettings/TimelineSettings.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3}
m_Name:
m_EditorClassIdentifier:
assetDefaultFramerate: 60

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions.meta


fileFormatVersion: 2
guid: 6e851211f5f69a947bba9000d2bd0b34
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

14
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/ResetHealth.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5455c4a73b1ee9d409aa3ce9ac7a1470, type: 3}
m_Name: ResetHealth
m_EditorClassIdentifier:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/ResetHealth.asset.meta


fileFormatVersion: 2
guid: aa58914929b0d9943bf114e36912e20b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

20
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/Revive_Trigger_OnExit.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c70afd7f911db7449d578cc18700875, type: 3}
m_Name: Revive_Trigger_OnExit
m_EditorClassIdentifier:
parameterType: 3
parameterName: Revive
boolValue: 0
intValue: 0
floatValue: 0
whenToRun: 1

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Actions/Revive_Trigger_OnExit.asset.meta


fileFormatVersion: 2
guid: 0dd9ca7401a791340b32ff661d2e9839
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions.meta


fileFormatVersion: 2
guid: 7326d0d4bc3cc0d4fa77359e205d5dd5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

16
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions/SnoozeTime Elapsed Random Condition.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 176cefe776b9f114393e9f982ce6e208, type: 3}
m_Name: SnoozeTime Elapsed Random Condition
m_EditorClassIdentifier:
minTimerLength: 8
maxTimerLength: 12

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/Conditions/SnoozeTime Elapsed Random Condition.asset.meta


fileFormatVersion: 2
guid: 64622fb90aa1df4499ab86d9672714f6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/RockCritter_TransitionTable.asset.meta


fileFormatVersion: 2
guid: 5b2c2bb005c027b4d816b6e9812429b4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States.meta


fileFormatVersion: 2
guid: 52d89a2c85a80bc4cad0e854cfb0fc35
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

21
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States/Snooze.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 35432205b9a6a374bbbfe6b7cac92179, type: 3}
m_Name: Snooze
m_EditorClassIdentifier:
_actions:
- {fileID: 11400000, guid: 6280dd8dcf3738844b707fc16e8bb236, type: 2}
- {fileID: 11400000, guid: aa58914929b0d9943bf114e36912e20b, type: 2}
- {fileID: 11400000, guid: 0dd9ca7401a791340b32ff661d2e9839, type: 2}
- {fileID: 11400000, guid: d33b24ef9d2a6ac4fb91c11c189b81f2, type: 2}
- {fileID: 11400000, guid: 5cc2ce97159d08647a4577ccf90bd204, type: 2}
- {fileID: 11400000, guid: 071fecb332ceabb4ba338d86d34759ac, type: 2}

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/States/Snooze.asset.meta


fileFormatVersion: 2
guid: bb3efc24e2b6efc4d8fb2d3d01cab1e1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

153
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/RockCritter/RockCritter_TransitionTable.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 872cbaa965d1f6e4e98365d74e2060df, type: 3}
m_Name: RockCritter_TransitionTable
m_EditorClassIdentifier:
_transitions:
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 72dd7a9972bd3614ead2fd62cebc6144, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 050fbbaa48ac74961952b20dabfd6e88, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 72dd7a9972bd3614ead2fd62cebc6144, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 72dd7a9972bd3614ead2fd62cebc6144, type: 2}
Operator: 1
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 5d0cf556c54f5154a9edc595f1958590, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe9688a46e58a24d8a88cd363a8e472, type: 2}
ToState: {fileID: 11400000, guid: 658f06f54a3654c498a26d9714beaff0, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 8d78c6cbad5610342b28e8f66a8a9d11, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
ToState: {fileID: 11400000, guid: bb3efc24e2b6efc4d8fb2d3d01cab1e1, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: b5098991df6fea14294cbd13e586cfd8, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 3d30788033cfd9d4fa24fa5112d9430c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
ToState: {fileID: 11400000, guid: 628073f665cfda9468013b5ecbc7e6c3, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: fa8a674126a68004888ee6cef86cb5f5, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
ToState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
Conditions:
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 7bcf4f38958f2d34b97fee183d1d7c25, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 822af955c346ff5429598d4280c5ba73, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 4b41f0e0e0982384b8f7a718509ea3a9, type: 2}
ToState: {fileID: 11400000, guid: ea7a8e48b1a87c241bb721da98d1d812, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 27c06ead5f7a1ed4d89197fe9a61d0c2, type: 2}
Operator: 0
- ExpectedResult: 1
Condition: {fileID: 11400000, guid: 050fbbaa48ac74961952b20dabfd6e88, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 658f06f54a3654c498a26d9714beaff0, type: 2}
ToState: {fileID: 11400000, guid: 05826b0374eccc245b9b1da390ab7d04, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 8f1dae963c547274b808dd5db78a28e3, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: 658f06f54a3654c498a26d9714beaff0, type: 2}
ToState: {fileID: 11400000, guid: 5b0e38103a74c054cb968153b3227b71, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 1ff6d66c9ad367543beb3f2455a1d06c, type: 2}
Operator: 0
- FromState: {fileID: 11400000, guid: bb3efc24e2b6efc4d8fb2d3d01cab1e1, type: 2}
ToState: {fileID: 11400000, guid: 0fe0dc68c0fc2604ca06ad36d16b1117, type: 2}
Conditions:
- ExpectedResult: 0
Condition: {fileID: 11400000, guid: 64622fb90aa1df4499ab86d9672714f6, type: 2}
Operator: 0

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions.meta


fileFormatVersion: 2
guid: b35eb761640a0544f8b39932cf398e57
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States.meta


fileFormatVersion: 2
guid: 70d6f2a3532e517469f3126ecb67f0c2
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
UOP1_Project/Assets/ScriptableObjects/Quests/Questline3.meta


fileFormatVersion: 2
guid: cc0d7169fb8564bec9db9943e8075cb4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/Actions/DestroyCritter.asset → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions/DestroyCritter.asset

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/Actions/DestroyCritter.asset.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/Actions/DestroyCritter.asset.meta

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/States/Killed.asset → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States/Killed.asset

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/States/Killed.asset.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/States/Killed.asset.meta

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeRockCritter_TransitionTable.asset.meta → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset.meta

/UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeRockCritter_TransitionTable.asset → /UOP1_Project/Assets/ScriptableObjects/StateMachine/Critters/SlimeRockCritter/SlimeCritter/SlimeCritter_TransitionTable.asset

正在加载...
取消
保存