literally half of the game
This commit is contained in:
parent
1590b5faa6
commit
b842289076
77 changed files with 11904 additions and 72 deletions
16
Assets/Dialogue/RegularNPC.asset
Normal file
16
Assets/Dialogue/RegularNPC.asset
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
%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: 6a4c8d6e10ec0d884abbdf0ec9d2213b, type: 3}
|
||||
m_Name: RegularNPC
|
||||
m_EditorClassIdentifier: Assembly-CSharp::DialogueCharacter
|
||||
characterName: RegularNPC
|
||||
portrait: {fileID: 0}
|
||||
8
Assets/Dialogue/RegularNPC.asset.meta
Normal file
8
Assets/Dialogue/RegularNPC.asset.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b70c4a5f78a94a3848f9ea6309051665
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -14,5 +14,6 @@ MonoBehaviour:
|
|||
m_EditorClassIdentifier: Assembly-CSharp::DialogueScript
|
||||
characters:
|
||||
- {fileID: 11400000, guid: 2ee4f2adbca14e6bd9381b84b49f42db, type: 2}
|
||||
- {fileID: 11400000, guid: b70c4a5f78a94a3848f9ea6309051665, type: 2}
|
||||
script: {fileID: 4900000, guid: 77d1c362d7eeb2f9abbe0fff8b219e1e, type: 3}
|
||||
taskToStart: {fileID: 0}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
text Reisen "what!"
|
||||
text reisen "i'm supposed to type more here"
|
||||
text regularnpc i am very normal
|
||||
task add TestTask
|
||||
item add water 2
|
||||
choice hello!:testscriptB nope!:testscriptC alright:testScriptD
|
||||
# i can add comments like this!
|
||||
END
|
||||
|
|
|
|||
545
Assets/Prefabs/AllDirections.prefab
Normal file
545
Assets/Prefabs/AllDirections.prefab
Normal file
|
|
@ -0,0 +1,545 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &262396105701904904
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6677195982080669768}
|
||||
m_Layer: 6
|
||||
m_Name: Direction4
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6677195982080669768
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 262396105701904904}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.5, y: 0.87, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &814828903471332526
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6382581350332595289}
|
||||
m_Layer: 6
|
||||
m_Name: Direction15
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6382581350332595289
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 814828903471332526}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.7, y: -0.7, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1819643006260995842
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4426422662409766139}
|
||||
m_Layer: 6
|
||||
m_Name: Direction5
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4426422662409766139
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1819643006260995842}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2021674471877545186
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7224075092648634651}
|
||||
m_Layer: 6
|
||||
m_Name: Direction11
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7224075092648634651
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2021674471877545186}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.7, y: -0.7, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2174267575732978552
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 261668413908791286}
|
||||
m_Layer: 6
|
||||
m_Name: Direction14
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &261668413908791286
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2174267575732978552}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.5, y: -0.87, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2662592098356404080
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5734695333304255521}
|
||||
m_Layer: 6
|
||||
m_Name: Direction3
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5734695333304255521
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2662592098356404080}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.7, y: 0.7, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &4143430925395673941
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3374203767933135905}
|
||||
m_Layer: 6
|
||||
m_Name: Direction2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3374203767933135905
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4143430925395673941}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.87, y: 0.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &4400087795333129961
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2058427622604349084}
|
||||
m_Layer: 6
|
||||
m_Name: Direction1
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2058427622604349084
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4400087795333129961}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 1, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &5174476781525141361
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3328697951113075921}
|
||||
m_Layer: 6
|
||||
m_Name: Direction8
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3328697951113075921
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5174476781525141361}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.87, y: 0.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &5494320759715374729
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7754934515627769455}
|
||||
m_Layer: 6
|
||||
m_Name: Direction16
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7754934515627769455
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5494320759715374729}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0.87, y: -0.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &6185705713985518441
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5052386159153959376}
|
||||
m_Layer: 6
|
||||
m_Name: Direction7
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5052386159153959376
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6185705713985518441}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.7, y: 0.7, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &6194569802148172871
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9129886911222689424}
|
||||
m_Layer: 6
|
||||
m_Name: Direction6
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9129886911222689424
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6194569802148172871}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.5, y: 0.87, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &6846423902344877995
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6686216045267344327}
|
||||
m_Layer: 6
|
||||
m_Name: Direction13
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6686216045267344327
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6846423902344877995}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -1, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &7542208421737593386
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8757682873166094553}
|
||||
m_Layer: 6
|
||||
m_Name: Direction9
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8757682873166094553
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7542208421737593386}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -1, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &8392002682579303358
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1707299186583404847}
|
||||
m_Layer: 6
|
||||
m_Name: Direction10
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1707299186583404847
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8392002682579303358}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.87, y: -0.5, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &8890828234863003646
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2577689290192967795}
|
||||
m_Layer: 6
|
||||
m_Name: Direction12
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &2577689290192967795
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8890828234863003646}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.5, y: -0.87, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 5496960370968302669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &9079747590522285494
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5496960370968302669}
|
||||
m_Layer: 6
|
||||
m_Name: AllDirections
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5496960370968302669
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9079747590522285494}
|
||||
serializedVersion: 2
|
||||
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:
|
||||
- {fileID: 2058427622604349084}
|
||||
- {fileID: 3374203767933135905}
|
||||
- {fileID: 5734695333304255521}
|
||||
- {fileID: 6677195982080669768}
|
||||
- {fileID: 4426422662409766139}
|
||||
- {fileID: 9129886911222689424}
|
||||
- {fileID: 5052386159153959376}
|
||||
- {fileID: 3328697951113075921}
|
||||
- {fileID: 8757682873166094553}
|
||||
- {fileID: 1707299186583404847}
|
||||
- {fileID: 7224075092648634651}
|
||||
- {fileID: 2577689290192967795}
|
||||
- {fileID: 6686216045267344327}
|
||||
- {fileID: 261668413908791286}
|
||||
- {fileID: 6382581350332595289}
|
||||
- {fileID: 7754934515627769455}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
7
Assets/Prefabs/AllDirections.prefab.meta
Normal file
7
Assets/Prefabs/AllDirections.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 53c7fd16b16cdba11bb5ef5c48dfef69
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -13,9 +13,9 @@ GameObject:
|
|||
- component: {fileID: 3323265858175563607}
|
||||
- component: {fileID: 5137008447281215965}
|
||||
- component: {fileID: 4238920829079305270}
|
||||
m_Layer: 0
|
||||
m_Layer: 6
|
||||
m_Name: Reisen
|
||||
m_TagString: Untagged
|
||||
m_TagString: Friendly
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
|
|
@ -34,6 +34,7 @@ Transform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3941853349907168343}
|
||||
- {fileID: 7244463834251301841}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &5116862291649672381
|
||||
|
|
@ -86,7 +87,7 @@ SpriteRenderer:
|
|||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
|
||||
m_Color: {r: 0.7637667, g: 0.514151, b: 1, a: 1}
|
||||
m_Color: {r: 0.8573353, g: 0.7311321, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
|
|
@ -181,22 +182,17 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 49c22a60b2d3a5d0bbd4c02c922abfe8, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Player
|
||||
sprite: {fileID: 0}
|
||||
speed: 8
|
||||
rb: {fileID: 3323265858175563607}
|
||||
moveDirection: {x: 0, y: 0, z: 0}
|
||||
noMovement: 0
|
||||
stalled: 0
|
||||
isFacingRight: 0
|
||||
maxHealth: 10
|
||||
health: 10
|
||||
invulnerable: 0
|
||||
moveAction:
|
||||
m_Name: Move
|
||||
m_Type: 0
|
||||
m_ExpectedControlType:
|
||||
m_Id: 96cc2b22-e9c6-41c1-8019-11ef47b13c80
|
||||
m_Processors:
|
||||
m_Interactions:
|
||||
m_SingletonActionBindings: []
|
||||
m_Flags: 0
|
||||
abilitiesDisabled: 0
|
||||
abilities: []
|
||||
--- !u!1 &999003274763771850
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -207,7 +203,7 @@ GameObject:
|
|||
m_Component:
|
||||
- component: {fileID: 3941853349907168343}
|
||||
- component: {fileID: 4701336418075448882}
|
||||
m_Layer: 0
|
||||
m_Layer: 6
|
||||
m_Name: Center
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
|
|
@ -289,3 +285,86 @@ SpriteRenderer:
|
|||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
m_BlendShapeWeights: []
|
||||
--- !u!1 &4903654009276980716
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7244463834251301841}
|
||||
- component: {fileID: 3961286837409822475}
|
||||
- component: {fileID: 7898017773265387538}
|
||||
m_Layer: 6
|
||||
m_Name: TalkRange
|
||||
m_TagString: Friendly
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7244463834251301841
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4903654009276980716}
|
||||
serializedVersion: 2
|
||||
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: 7385012550472661787}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!58 &3961286837409822475
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4903654009276980716}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Radius: 3
|
||||
--- !u!114 &7898017773265387538
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4903654009276980716}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a494e77da3dc9d4898d5429d915efbe4, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::PlayerTalkRange
|
||||
talkPopupUI: {fileID: 0}
|
||||
uiOffset: {x: 0, y: 0, z: 0}
|
||||
|
|
|
|||
188
Assets/Prefabs/ReisenBullet.prefab
Normal file
188
Assets/Prefabs/ReisenBullet.prefab
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6384550223361444534
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1391473895419527070}
|
||||
- component: {fileID: 4138902491117003841}
|
||||
- component: {fileID: 7544628964646843350}
|
||||
- component: {fileID: 5512827625312582265}
|
||||
- component: {fileID: 3257195852993716077}
|
||||
m_Layer: 7
|
||||
m_Name: ReisenBullet
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1391473895419527070
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6384550223361444534}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.7, y: 0.15, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &4138902491117003841
|
||||
SpriteRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6384550223361444534}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
m_BlendShapeWeights: []
|
||||
--- !u!61 &7544628964646843350
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6384550223361444534}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!50 &5512827625312582265
|
||||
Rigidbody2D:
|
||||
serializedVersion: 5
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6384550223361444534}
|
||||
m_BodyType: 0
|
||||
m_Simulated: 1
|
||||
m_UseFullKinematicContacts: 0
|
||||
m_UseAutoMass: 0
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_GravityScale: 0
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_Interpolate: 0
|
||||
m_SleepingMode: 1
|
||||
m_CollisionDetection: 0
|
||||
m_Constraints: 0
|
||||
--- !u!114 &3257195852993716077
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6384550223361444534}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1d5cb9c244e3fb41ca6b3cbdc762432a, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Projectile
|
||||
lifetime: 3
|
||||
damage: 5
|
||||
pierceAmount: 0
|
||||
currentPierce: 0
|
||||
rb: {fileID: 5512827625312582265}
|
||||
speed: 8
|
||||
7
Assets/Prefabs/ReisenBullet.prefab.meta
Normal file
7
Assets/Prefabs/ReisenBullet.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9111cd224913c6ab7ac72c722f98c280
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
532
Assets/Prefabs/TestEnemy.prefab
Normal file
532
Assets/Prefabs/TestEnemy.prefab
Normal file
|
|
@ -0,0 +1,532 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1782308228482403541
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4914217591075070214}
|
||||
- component: {fileID: 3565404934066269115}
|
||||
- component: {fileID: 9036354623390929756}
|
||||
m_Layer: 6
|
||||
m_Name: DetectionRange
|
||||
m_TagString: Friendly
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4914217591075070214
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1782308228482403541}
|
||||
serializedVersion: 2
|
||||
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: 4145614653981181188}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!58 &3565404934066269115
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1782308228482403541}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Radius: 3
|
||||
--- !u!114 &9036354623390929756
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1782308228482403541}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 75cd0318c03eac209af986e5dffde52b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::EnemyDetection
|
||||
thisEnemy: {fileID: 4460078955385501333}
|
||||
--- !u!1 &6544023038521120031
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3703348233131172223}
|
||||
- component: {fileID: 1840689214366163413}
|
||||
m_Layer: 6
|
||||
m_Name: Center
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3703348233131172223
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6544023038521120031}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.2, y: 0.2, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4145614653981181188}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1840689214366163413
|
||||
SpriteRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6544023038521120031}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 1
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
m_BlendShapeWeights: []
|
||||
--- !u!1 &7172306645735303387
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4145614653981181188}
|
||||
- component: {fileID: 1164033858733614927}
|
||||
- component: {fileID: 7556028049786111104}
|
||||
- component: {fileID: 7438264154290988065}
|
||||
- component: {fileID: 4460078955385501333}
|
||||
m_Layer: 6
|
||||
m_Name: TestEnemy
|
||||
m_TagString: Enemy
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4145614653981181188
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7172306645735303387}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -6.79, y: 0.06, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3703348233131172223}
|
||||
- {fileID: 4914217591075070214}
|
||||
- {fileID: 4855864091329408217}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &1164033858733614927
|
||||
SpriteRenderer:
|
||||
serializedVersion: 3
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7172306645735303387}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_MaskInteraction: 0
|
||||
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
|
||||
m_Color: {r: 1, g: 0.3537736, b: 0.3776106, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_SpriteSortPoint: 0
|
||||
m_BlendShapeWeights: []
|
||||
--- !u!50 &7556028049786111104
|
||||
Rigidbody2D:
|
||||
serializedVersion: 5
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7172306645735303387}
|
||||
m_BodyType: 0
|
||||
m_Simulated: 1
|
||||
m_UseFullKinematicContacts: 0
|
||||
m_UseAutoMass: 0
|
||||
m_Mass: 1
|
||||
m_LinearDamping: 0
|
||||
m_AngularDamping: 0.05
|
||||
m_GravityScale: 0
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_Interpolate: 0
|
||||
m_SleepingMode: 1
|
||||
m_CollisionDetection: 0
|
||||
m_Constraints: 4
|
||||
--- !u!61 &7438264154290988065
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7172306645735303387}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_CompositeOperation: 0
|
||||
m_CompositeOrder: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &4460078955385501333
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7172306645735303387}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f58572e837a31d71b911561d242ca9a5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Enemy
|
||||
sprite: {fileID: 1164033858733614927}
|
||||
speed: 6
|
||||
rb: {fileID: 7556028049786111104}
|
||||
moveDirection: {x: 0, y: 0, z: 0}
|
||||
stalled: 0
|
||||
isFacingRight: 0
|
||||
maxHealth: 4
|
||||
health: 4
|
||||
invulnerable: 0
|
||||
closestTarget: {fileID: 0}
|
||||
detectedPlayer: 0
|
||||
possibleDirections:
|
||||
- {fileID: 1421835630007789064}
|
||||
- {fileID: 2448210591031284917}
|
||||
- {fileID: 4665700597427895477}
|
||||
- {fileID: 6016937345077592284}
|
||||
- {fileID: 3623023894091857007}
|
||||
- {fileID: 8185715886655411716}
|
||||
- {fileID: 5275949980137056580}
|
||||
- {fileID: 2385702578078803013}
|
||||
- {fileID: 8548910511392217165}
|
||||
- {fileID: 1773245538857826747}
|
||||
- {fileID: 7740365017142595983}
|
||||
- {fileID: 3237969643560984807}
|
||||
- {fileID: 6043946070320997203}
|
||||
- {fileID: 904094281919993698}
|
||||
- {fileID: 6321124334151648461}
|
||||
- {fileID: 7256795600020834043}
|
||||
forwardPercent: 0.6
|
||||
strafePercent: 0.4
|
||||
directionVariance: 0.1
|
||||
--- !u!1001 &1092790298946615444
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 4145614653981181188}
|
||||
m_Modifications:
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9079747590522285494, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: AllDirections
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
--- !u!4 &904094281919993698 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 261668413908791286, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &1421835630007789064 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 2058427622604349084, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &1773245538857826747 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 1707299186583404847, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &2385702578078803013 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3328697951113075921, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &2448210591031284917 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3374203767933135905, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &3237969643560984807 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 2577689290192967795, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &3623023894091857007 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4426422662409766139, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &4665700597427895477 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5734695333304255521, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &4855864091329408217 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5496960370968302669, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &5275949980137056580 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5052386159153959376, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &6016937345077592284 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6677195982080669768, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &6043946070320997203 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6686216045267344327, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &6321124334151648461 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 6382581350332595289, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &7256795600020834043 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 7754934515627769455, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &7740365017142595983 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 7224075092648634651, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &8185715886655411716 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 9129886911222689424, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &8548910511392217165 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8757682873166094553, guid: 53c7fd16b16cdba11bb5ef5c48dfef69, type: 3}
|
||||
m_PrefabInstance: {fileID: 1092790298946615444}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
7
Assets/Prefabs/TestEnemy.prefab.meta
Normal file
7
Assets/Prefabs/TestEnemy.prefab.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d2a046739a67f97c7ad2c1cea866f704
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
17
Assets/Prefabs/TestItem.asset
Normal file
17
Assets/Prefabs/TestItem.asset
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
%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: a100b9e8279440fd88e58bae66ffb885, type: 3}
|
||||
m_Name: TestItem
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Item
|
||||
itemName: Water
|
||||
description: h2o
|
||||
icon: {fileID: 0}
|
||||
8
Assets/Prefabs/TestItem.asset.meta
Normal file
8
Assets/Prefabs/TestItem.asset.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: eaef781da6195e1a491978951b17d3b8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
23
Assets/Prefabs/TestTask.asset
Normal file
23
Assets/Prefabs/TestTask.asset
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
%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: 1c01ddc715d8c67a484f6db39ab1dea8, type: 3}
|
||||
m_Name: TestTask
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Task
|
||||
taskName: Test
|
||||
taskID: tesktask
|
||||
description: Task
|
||||
deadline: 4
|
||||
completed: 0
|
||||
itemRequirements:
|
||||
- item: {fileID: 11400000, guid: eaef781da6195e1a491978951b17d3b8, type: 2}
|
||||
amount: 1
|
||||
enemyRequirements: []
|
||||
8
Assets/Prefabs/TestTask.asset.meta
Normal file
8
Assets/Prefabs/TestTask.asset.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 70b3a8fdaf907279ebfa7e5c5bd29bcd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load diff
1657
Assets/Scenes/MainMenu.unity
Normal file
1657
Assets/Scenes/MainMenu.unity
Normal file
File diff suppressed because it is too large
Load diff
7
Assets/Scenes/MainMenu.unity.meta
Normal file
7
Assets/Scenes/MainMenu.unity.meta
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5002a5f219fa4cc9ba6201a0fdfa9888
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,7 +1,9 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class DialogueManager : MonoBehaviour
|
||||
{
|
||||
|
|
@ -21,31 +23,41 @@ public class DialogueManager : MonoBehaviour
|
|||
|
||||
#endregion
|
||||
|
||||
private class Choice
|
||||
{
|
||||
public string choiceName;
|
||||
public DialogueScript choiceScript;
|
||||
}
|
||||
[Header("Player")]
|
||||
public Player player;
|
||||
[Header("Dialogue Script")]
|
||||
[SerializeField] private DialogueScript currentDialogueScript;
|
||||
public DialogueScript currentDialogueScript;
|
||||
public DialogueScript[] allDialogue;
|
||||
public bool clickingDisabled = false;
|
||||
private int textProgress;
|
||||
public string[] scriptLines;
|
||||
[Header("UI")]
|
||||
public GameObject uiCanvas;
|
||||
public TextMeshProUGUI nameText;
|
||||
public TextMeshProUGUI dialogueText;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
StartDialogue(currentDialogueScript);
|
||||
}
|
||||
public Button choiceButton;
|
||||
public Transform choicePanel;
|
||||
|
||||
public void StartDialogue(DialogueScript scriptToShow)
|
||||
{
|
||||
uiCanvas.SetActive(true);
|
||||
textProgress = 0;
|
||||
currentDialogueScript = scriptToShow;
|
||||
scriptLines = currentDialogueScript.script.text.Split("\n");
|
||||
player.abilitiesDisabled = true;
|
||||
player.stalled = true;
|
||||
UpdateDialogue();
|
||||
}
|
||||
|
||||
private void ContinueDialogue()
|
||||
{
|
||||
textProgress++;
|
||||
clickingDisabled = false;
|
||||
UpdateDialogue();
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +82,73 @@ public class DialogueManager : MonoBehaviour
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case "TASK": //must use 3 words on these.
|
||||
string taskModifier = words[1].ToUpper();
|
||||
if (taskModifier == "ADD")
|
||||
{
|
||||
foreach (Task task in TaskManager.instance.taskList)
|
||||
{
|
||||
if (string.Equals(task.taskID, words[2], StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
TaskManager.instance.AddTask(task);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ContinueDialogue();
|
||||
break;
|
||||
case "ITEM":
|
||||
string itemModifier = words[1].ToUpper();
|
||||
if (itemModifier == "ADD")
|
||||
{
|
||||
foreach (Item item in InventoryManager.instance.itemList)
|
||||
{
|
||||
if (string.Equals(item.itemName, words[2], StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
InventoryManager.instance.AddItem(item, Int32.Parse(words[3]));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
ContinueDialogue();
|
||||
break;
|
||||
case "#":
|
||||
ContinueDialogue();
|
||||
break;
|
||||
case "CHOICE":
|
||||
clickingDisabled = true;
|
||||
List<Choice> choices = new();
|
||||
for (int i = 1; i < words.Length; i++)
|
||||
{
|
||||
Choice newChoice = new Choice();
|
||||
string[] c = words[i].Split(":");
|
||||
newChoice.choiceName = c[0];
|
||||
foreach (DialogueScript dialogueScript in allDialogue)
|
||||
{
|
||||
if (string.Equals(c[1], dialogueScript.dialogueID, StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
newChoice.choiceScript = dialogueScript; //this is the worst way ever to find a matching id but WHATEVER
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!newChoice.choiceScript)
|
||||
{
|
||||
Debug.LogWarning("BRO WTF THERE IS NO MATCHING ID!!!");
|
||||
}
|
||||
else
|
||||
{
|
||||
choices.Add(newChoice);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Choice possibleChoice in choices)
|
||||
{
|
||||
Button newChoiceButton = Instantiate(choiceButton, choicePanel);
|
||||
newChoiceButton.onClick.AddListener(() => StartDialogue(possibleChoice.choiceScript));
|
||||
newChoiceButton.GetComponentInChildren<TextMeshProUGUI>().text = possibleChoice.choiceName;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -80,6 +158,8 @@ public class DialogueManager : MonoBehaviour
|
|||
uiCanvas.SetActive(false);
|
||||
currentDialogueScript = null;
|
||||
scriptLines = null;
|
||||
player.abilitiesDisabled = false;
|
||||
player.stalled = false;
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using UnityEngine;
|
|||
[CreateAssetMenu(fileName = "New Dialogue Script", menuName = "Dialogue/Script")]
|
||||
public class DialogueScript : ScriptableObject
|
||||
{
|
||||
public string dialogueID;
|
||||
public List<DialogueCharacter> characters;
|
||||
public TextAsset script;
|
||||
public Task taskToStart;
|
||||
|
|
|
|||
8
Assets/Scripts/Entity/Abilities.meta
Normal file
8
Assets/Scripts/Entity/Abilities.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c6dd5cc4a0f89b83f84fe63d4ac77341
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
46
Assets/Scripts/Entity/Abilities/Ability.cs
Normal file
46
Assets/Scripts/Entity/Abilities/Ability.cs
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
using System;
|
||||
using Core.Extensions;
|
||||
using UnityEngine;
|
||||
|
||||
public class Ability : MonoBehaviour
|
||||
{
|
||||
[Header("Flags")]
|
||||
public bool cooldownBlocked;
|
||||
public bool blocked;
|
||||
[Header("Cooldown")]
|
||||
public float cooldown;
|
||||
protected float currentCooldown;
|
||||
[Header("Stats")]
|
||||
public float power;
|
||||
|
||||
public bool TryAbility()
|
||||
{
|
||||
if (!blocked && currentCooldown <= 0)
|
||||
{
|
||||
currentCooldown = cooldown;
|
||||
AbilityEffects();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected virtual void AbilityEffects()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (currentCooldown > 0 && !cooldownBlocked)
|
||||
{
|
||||
currentCooldown -= Time.deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
protected void ShootBullet(Projectile projectile, Vector3 direction)
|
||||
{
|
||||
Projectile newProjectile = Instantiate(projectile, transform.position, Quaternion.identity);
|
||||
newProjectile.transform.Lookat2D(direction);
|
||||
newProjectile.tag = tag; //will have to figure out stats and projectile creation
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Entity/Abilities/Ability.cs.meta
Normal file
2
Assets/Scripts/Entity/Abilities/Ability.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0057d0e1aa27e88a6922b74c1ef23cc8
|
||||
10
Assets/Scripts/Entity/Abilities/PlayerAbility.cs
Normal file
10
Assets/Scripts/Entity/Abilities/PlayerAbility.cs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.InputSystem.LowLevel;
|
||||
|
||||
public class PlayerAbility : Ability
|
||||
{
|
||||
[Header("Input")]
|
||||
public KeyCode inputKey; //change to better input system later
|
||||
|
||||
public MouseButton mouseButton; //alternative input
|
||||
}
|
||||
2
Assets/Scripts/Entity/Abilities/PlayerAbility.cs.meta
Normal file
2
Assets/Scripts/Entity/Abilities/PlayerAbility.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e1cd082fa4f5e51d6b807f4914aa021f
|
||||
12
Assets/Scripts/Entity/Abilities/ReisenShoot.cs
Normal file
12
Assets/Scripts/Entity/Abilities/ReisenShoot.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
using UnityEngine;
|
||||
|
||||
public class ReisenShoot : PlayerAbility
|
||||
{
|
||||
[Header("Projectile")]
|
||||
[SerializeField] private Projectile projectile;
|
||||
protected override void AbilityEffects()
|
||||
{
|
||||
base.AbilityEffects();
|
||||
ShootBullet(projectile, GameManager.instance.GetMouseWorldPos());
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Entity/Abilities/ReisenShoot.cs.meta
Normal file
2
Assets/Scripts/Entity/Abilities/ReisenShoot.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d1ac34739e2f9c100901a9488a5d8218
|
||||
|
|
@ -6,6 +6,7 @@ public class CombatEntity : Entity
|
|||
public float maxHealth;
|
||||
public float health;
|
||||
public bool invulnerable;
|
||||
public bool isSafe;
|
||||
|
||||
public void TakeDamage(float damage)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,4 +2,59 @@ using UnityEngine;
|
|||
|
||||
public class Enemy : CombatEntity
|
||||
{
|
||||
[Header("Targetting")]
|
||||
public CombatEntity closestTarget; //actually get the detected target first
|
||||
public bool detectedPlayer = false;
|
||||
[Header("Direction")]
|
||||
public Transform[] possibleDirections;
|
||||
public float forwardPercent;
|
||||
public float strafePercent;
|
||||
public float directionVariance; //how much strafe/forward vary
|
||||
protected float xSign = -1f;
|
||||
protected float ySign = 1f;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (Random.Range(0f, 2f) > 1f)
|
||||
{
|
||||
xSign = -xSign;
|
||||
ySign = -ySign;
|
||||
}
|
||||
float newVariance = Random.Range(-directionVariance, directionVariance);
|
||||
forwardPercent += newVariance;
|
||||
strafePercent -= newVariance;
|
||||
}
|
||||
|
||||
protected override void Movement()
|
||||
{
|
||||
if (stalled || !closestTarget || !detectedPlayer || closestTarget.isSafe)
|
||||
{
|
||||
moveDirection = Vector3.zero;
|
||||
}
|
||||
else
|
||||
{
|
||||
Vector2 directionToTarget = (closestTarget.transform.position - transform.position).normalized;
|
||||
Vector2 directionToMove = directionToTarget;
|
||||
float currentHighestScore = float.NegativeInfinity;
|
||||
Vector2 strafeDirection = new Vector3(directionToTarget.y * ySign, directionToTarget.x * xSign);
|
||||
foreach (Transform direction in possibleDirections)
|
||||
{
|
||||
Vector3 directionToPoint = (direction.position - transform.position).normalized;
|
||||
float forwardScore = Vector3.Dot(directionToPoint, directionToTarget);
|
||||
float strafeScore = Vector3.Dot(directionToPoint, strafeDirection);
|
||||
float finalScore = (forwardScore * forwardPercent) + (strafeScore * strafePercent);
|
||||
//Debug.Log($"Forward: {forwardScore} Strafe: {strafeScore} Final: {finalScore}");
|
||||
if (finalScore > currentHighestScore)
|
||||
{
|
||||
//Debug.Log($"{finalScore} is higher than current score: {currentHighestScore}");
|
||||
currentHighestScore = finalScore;
|
||||
directionToMove = directionToPoint;
|
||||
}
|
||||
}
|
||||
|
||||
moveDirection = directionToMove;
|
||||
//FlipSprite(directionToMove);
|
||||
// ^ add when you actually draw sprites
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
Assets/Scripts/Entity/EnemyDetection.cs
Normal file
15
Assets/Scripts/Entity/EnemyDetection.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class EnemyDetection : MonoBehaviour
|
||||
{
|
||||
public Enemy thisEnemy;
|
||||
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (!other.CompareTag(thisEnemy.tag) && other.TryGetComponent(out Player isPlayer))
|
||||
{
|
||||
thisEnemy.detectedPlayer = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Entity/EnemyDetection.cs.meta
Normal file
2
Assets/Scripts/Entity/EnemyDetection.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 75cd0318c03eac209af986e5dffde52b
|
||||
|
|
@ -3,11 +3,27 @@ using UnityEngine;
|
|||
|
||||
public class Entity : MonoBehaviour
|
||||
{
|
||||
[Header("Sprite")]
|
||||
public SpriteRenderer sprite;
|
||||
[Header("Movement")]
|
||||
public float speed;
|
||||
[SerializeField] protected Rigidbody2D rb;
|
||||
public Vector3 moveDirection;
|
||||
public bool noMovement;
|
||||
public bool stalled;
|
||||
public bool isFacingRight;
|
||||
protected void FlipSprite(Vector2 lookDirection)
|
||||
{
|
||||
if (lookDirection.x > 0f && isFacingRight)
|
||||
{
|
||||
sprite.flipX = true;
|
||||
isFacingRight = !isFacingRight;
|
||||
}
|
||||
else if (lookDirection.x < 0f && !isFacingRight)
|
||||
{
|
||||
sprite.flipX = false;
|
||||
isFacingRight = !isFacingRight;
|
||||
}
|
||||
}
|
||||
protected virtual void Movement()
|
||||
{
|
||||
|
||||
|
|
@ -15,10 +31,14 @@ public class Entity : MonoBehaviour
|
|||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (!noMovement)
|
||||
if (!stalled)
|
||||
{
|
||||
Movement();
|
||||
rb.linearVelocity = moveDirection * speed;
|
||||
}
|
||||
else
|
||||
{
|
||||
rb.linearVelocity = Vector2.zero;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,5 +2,10 @@ using UnityEngine;
|
|||
|
||||
public class NPC : Entity
|
||||
{
|
||||
|
||||
[Header("Dialogue")]
|
||||
public DialogueScript dialogueToShow; //supposed to be able to have different dialogue but we'll go with this for now
|
||||
public void StartDialogue()
|
||||
{
|
||||
DialogueManager.instance.StartDialogue(dialogueToShow);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.InputSystem.LowLevel;
|
||||
|
||||
public class Player : CombatEntity
|
||||
{
|
||||
|
|
@ -11,7 +13,10 @@ public class Player : CombatEntity
|
|||
{
|
||||
//moveAction = InputSystem.actions.FindAction("Move");
|
||||
}*/
|
||||
|
||||
[Header("Abilities")]
|
||||
public bool abilitiesDisabled;
|
||||
public List<PlayerAbility> abilities = new();
|
||||
|
||||
protected override void Movement()
|
||||
{
|
||||
base.Movement();
|
||||
|
|
@ -19,4 +24,20 @@ public class Player : CombatEntity
|
|||
//moveDirection = moveAction.ReadValue<Vector2>();
|
||||
moveDirection = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"), 0);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
foreach (PlayerAbility ability in abilities)
|
||||
{
|
||||
if (Input.GetKeyDown(ability.inputKey))
|
||||
{
|
||||
ability.TryAbility();
|
||||
}
|
||||
else if (ability.inputKey == KeyCode.None && Input.GetMouseButtonDown((int)ability.mouseButton))
|
||||
{
|
||||
//really needs to be fixed to the new input system
|
||||
ability.TryAbility();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
60
Assets/Scripts/Entity/PlayerTalkRange.cs
Normal file
60
Assets/Scripts/Entity/PlayerTalkRange.cs
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class PlayerTalkRange : MonoBehaviour
|
||||
{
|
||||
private List<NPC> npcsInRange = new(); //also indicate the npc you're closest to
|
||||
[Header("UI")]
|
||||
[SerializeField] private Transform talkPopupUI;
|
||||
[SerializeField] private Vector3 uiOffset;
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (other.TryGetComponent(out NPC isNPC) && !npcsInRange.Contains(isNPC)) //placeholder key lol
|
||||
{
|
||||
npcsInRange.Add(isNPC);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit2D(Collider2D other)
|
||||
{
|
||||
if (other.TryGetComponent(out NPC isNPC) && npcsInRange.Contains(isNPC)) //placeholder key lol
|
||||
{
|
||||
npcsInRange.Remove(isNPC);
|
||||
if (npcsInRange.Count == 0)
|
||||
{
|
||||
talkPopupUI.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (npcsInRange.Count > 0)
|
||||
{
|
||||
NPC closestNPC = null;
|
||||
foreach (NPC npc in npcsInRange)
|
||||
{
|
||||
if (!closestNPC || Vector3.Distance(closestNPC.transform.position, transform.position) >
|
||||
Vector3.Distance(npc.transform.position, transform.position))
|
||||
{
|
||||
closestNPC = npc;
|
||||
}
|
||||
}
|
||||
|
||||
if (closestNPC)
|
||||
{
|
||||
if (!talkPopupUI.gameObject.activeSelf)
|
||||
{
|
||||
talkPopupUI.gameObject.SetActive(true);
|
||||
}
|
||||
talkPopupUI.position = closestNPC.transform.position + uiOffset;
|
||||
}
|
||||
|
||||
if (DialogueManager.instance.currentDialogueScript == null && Input.GetKeyDown(KeyCode.E))
|
||||
{
|
||||
closestNPC.StartDialogue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Entity/PlayerTalkRange.cs.meta
Normal file
2
Assets/Scripts/Entity/PlayerTalkRange.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a494e77da3dc9d4898d5429d915efbe4
|
||||
63
Assets/Scripts/GameManager.cs
Normal file
63
Assets/Scripts/GameManager.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class GameManager : MonoBehaviour
|
||||
{
|
||||
#region Statication
|
||||
|
||||
public static GameManager instance;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (instance != null && instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
DontDestroyOnLoad(this);
|
||||
instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
//this is just for general functions and variables that will be reused
|
||||
public Camera camera;
|
||||
public GameObject pauseMenu;
|
||||
public Vector3 GetMouseWorldPos()
|
||||
{
|
||||
return camera.ScreenToWorldPoint(Input.mousePosition);
|
||||
}
|
||||
|
||||
public void SetPause(bool state)
|
||||
{
|
||||
if (state)
|
||||
{
|
||||
Time.timeScale = 0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
Time.timeScale = 1f;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPauseMenu()
|
||||
{
|
||||
if (!pauseMenu.activeSelf)
|
||||
{
|
||||
SetPause(true);
|
||||
pauseMenu.SetActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
pauseMenu.SetActive(false);
|
||||
SetPause(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.Escape))
|
||||
{
|
||||
SetPauseMenu();
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/GameManager.cs.meta
Normal file
2
Assets/Scripts/GameManager.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 406f53e48d26986aa932abc4b34e5760
|
||||
32
Assets/Scripts/GatheringSpot.cs
Normal file
32
Assets/Scripts/GatheringSpot.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class GatheringSpot : MonoBehaviour
|
||||
{
|
||||
[Serializable]
|
||||
public class ItemAmount
|
||||
{
|
||||
public Item item;
|
||||
public int amount;
|
||||
}
|
||||
public List<ItemAmount> gatherableItems = new();
|
||||
public bool hasGathered;
|
||||
|
||||
public void Gather()
|
||||
{
|
||||
foreach (ItemAmount item in gatherableItems)
|
||||
{
|
||||
InventoryManager.instance.AddItem(item.item, item.amount);
|
||||
//needs check for if inventory cannot fit
|
||||
}
|
||||
hasGathered = true;
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
private void OnMouseDown()
|
||||
{
|
||||
//placeholder function to add items
|
||||
Gather();
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/GatheringSpot.cs.meta
Normal file
2
Assets/Scripts/GatheringSpot.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e3cff17c13b8ba2208e650f32f4cb1fc
|
||||
30
Assets/Scripts/Inventory/CraftingSystem.cs
Normal file
30
Assets/Scripts/Inventory/CraftingSystem.cs
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class CraftingSystem : MonoBehaviour
|
||||
{
|
||||
public bool TryCraftingItem(Item requestedItem)
|
||||
{
|
||||
List<InventoryManager.ItemAmount> missingItems = new();
|
||||
foreach (InventoryManager.ItemAmount requiredMaterial in requestedItem.requiredMaterials)
|
||||
{
|
||||
if (InventoryManager.instance.CheckItemAmount(requiredMaterial.item) < requiredMaterial.amount)
|
||||
{
|
||||
InventoryManager.ItemAmount newMissingItem = new();
|
||||
newMissingItem.item = requiredMaterial.item;
|
||||
newMissingItem.amount = requiredMaterial.amount - InventoryManager.instance.CheckItemAmount(requiredMaterial.item);
|
||||
}
|
||||
}
|
||||
if (missingItems.Count > 0)
|
||||
{
|
||||
return false; //supposed to return what items were missing
|
||||
}
|
||||
foreach (InventoryManager.ItemAmount requiredMaterial in requestedItem.requiredMaterials)
|
||||
{
|
||||
InventoryManager.instance.RemoveItem(requiredMaterial.item, requiredMaterial.amount);
|
||||
}
|
||||
InventoryManager.instance.AddItem(requestedItem, requestedItem.craftedAmount);
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Inventory/CraftingSystem.cs.meta
Normal file
2
Assets/Scripts/Inventory/CraftingSystem.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7d679797190d2f6689dcb050b4d2ace8
|
||||
|
|
@ -1,20 +1,56 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using Unity.Mathematics;
|
||||
using UnityEngine;
|
||||
|
||||
public class InventoryManager : MonoBehaviour
|
||||
{
|
||||
#region Statication
|
||||
|
||||
public static InventoryManager instance;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (instance != null && instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
DontDestroyOnLoad(this);
|
||||
instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
[Serializable]
|
||||
public class ItemAmount
|
||||
{
|
||||
public Item item;
|
||||
public int amount;
|
||||
}
|
||||
public Item[] itemList; //list of all items in the game
|
||||
public int maxCapacity;
|
||||
public int currentlyStored;
|
||||
public Dictionary<Item, int> storedItems = new();
|
||||
public Item[] itemList;
|
||||
public int money;
|
||||
[Header("UI")]
|
||||
public TextMeshProUGUI moneyUI;
|
||||
public GameObject inventoryUI;
|
||||
public InventoryUIObject templateUIObject;
|
||||
public Transform inventoryGrid;
|
||||
public Dictionary<Item, InventoryUIObject> allInventoryUIObjects = new();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
UpdateMoneyUI();
|
||||
}
|
||||
|
||||
public bool RemoveMoney(int change)
|
||||
{
|
||||
if (money - change >= 0)
|
||||
{
|
||||
money -= change;
|
||||
UpdateMoneyUI();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -22,6 +58,12 @@ public class InventoryManager : MonoBehaviour
|
|||
public void AddMoney(int change)
|
||||
{
|
||||
money += change;
|
||||
UpdateMoneyUI();
|
||||
}
|
||||
|
||||
public void UpdateMoneyUI()
|
||||
{
|
||||
moneyUI.text = $"Money: {money}";
|
||||
}
|
||||
|
||||
public int AddItem(Item itemToAdd, int amount = 1)
|
||||
|
|
@ -36,6 +78,8 @@ public class InventoryManager : MonoBehaviour
|
|||
{
|
||||
storedItems[itemToAdd] += amount;
|
||||
currentlyStored += amount;
|
||||
UpdateTaskTracker();
|
||||
Debug.Log($"ADDED ALL {itemToAdd.itemName}");
|
||||
return 0;
|
||||
}
|
||||
//return the amount that wasn't able to be stored.
|
||||
|
|
@ -43,11 +87,21 @@ public class InventoryManager : MonoBehaviour
|
|||
storedItems[itemToAdd] += stored;
|
||||
currentlyStored += stored;
|
||||
amount -= stored;
|
||||
UpdateTaskTracker();
|
||||
Debug.Log($"ADDED {stored} OF {itemToAdd.itemName} AND DROPPED {amount}");
|
||||
return amount;
|
||||
}
|
||||
Debug.Log($"COULD NOT ADD {itemToAdd.itemName}; INVENTORY FULL");
|
||||
return -1;
|
||||
}
|
||||
|
||||
public void UpdateTaskTracker()
|
||||
{
|
||||
if (TaskManager.instance.activeTasks.Count > 0)
|
||||
{
|
||||
TaskManager.instance.CheckInventory();
|
||||
}
|
||||
}
|
||||
public bool RemoveItem(Item itemToRemove, int amount = 1)
|
||||
{
|
||||
if (!storedItems.ContainsKey(itemToRemove) || storedItems[itemToRemove] < amount)
|
||||
|
|
@ -57,4 +111,34 @@ public class InventoryManager : MonoBehaviour
|
|||
storedItems[itemToRemove] -= amount;
|
||||
return true;
|
||||
}
|
||||
|
||||
public int CheckItemAmount(Item itemToCheck)
|
||||
{
|
||||
return storedItems[itemToCheck];
|
||||
}
|
||||
public void UpdateInventoryUI()
|
||||
{
|
||||
foreach (var item in storedItems)
|
||||
{
|
||||
if (allInventoryUIObjects.ContainsKey(item.Key))
|
||||
{
|
||||
if (item.Value == 0)
|
||||
{
|
||||
Destroy(allInventoryUIObjects[item.Key]);
|
||||
allInventoryUIObjects.Remove(item.Key);
|
||||
}
|
||||
else
|
||||
{
|
||||
allInventoryUIObjects[item.Key].SetObject(item.Key);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
InventoryUIObject newUIObject = Instantiate(templateUIObject, inventoryGrid);
|
||||
newUIObject.gameObject.SetActive(true);
|
||||
newUIObject.SetObject(item.Key);
|
||||
allInventoryUIObjects[item.Key] = newUIObject;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
18
Assets/Scripts/Inventory/InventoryUIObject.cs
Normal file
18
Assets/Scripts/Inventory/InventoryUIObject.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class InventoryUIObject : MonoBehaviour
|
||||
{
|
||||
public TextMeshProUGUI itemNameText;
|
||||
public TextMeshProUGUI amountText;
|
||||
public Image itemIcon;
|
||||
|
||||
public void SetObject(Item itemToSet)
|
||||
{
|
||||
Debug.Log("here");
|
||||
itemNameText.text = itemToSet.itemName; //it would be reset every time you open the inventory instead of updating only the amount but whatever it doesn't matter
|
||||
amountText.text = $"x{InventoryManager.instance.CheckItemAmount(itemToSet)}";
|
||||
itemIcon.sprite = itemToSet.icon;
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Inventory/InventoryUIObject.cs.meta
Normal file
2
Assets/Scripts/Inventory/InventoryUIObject.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6f2a88e73d2507a229d0c3d869826b39
|
||||
|
|
@ -1,8 +1,14 @@
|
|||
using UnityEngine;
|
||||
|
||||
public class Item : MonoBehaviour
|
||||
[CreateAssetMenu(fileName = "New Item", menuName = "Item")]
|
||||
public class Item : ScriptableObject
|
||||
{
|
||||
[Header("Identification")]
|
||||
public string itemName;
|
||||
public string description;
|
||||
public Sprite icon;
|
||||
[Header("Crafting")]
|
||||
public InventoryManager.ItemAmount[] requiredMaterials;
|
||||
public int craftedAmount = 1; //amount of items received after being crafted
|
||||
public int value; //items will be sold at a percentage of value?
|
||||
}
|
||||
|
|
|
|||
37
Assets/Scripts/LevelSwitcher.cs
Normal file
37
Assets/Scripts/LevelSwitcher.cs
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class LevelSwitcher : MonoBehaviour
|
||||
{
|
||||
#region Statication
|
||||
|
||||
public static LevelSwitcher instance;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (instance != null && instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
DontDestroyOnLoad(this);
|
||||
instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
[SerializeField] private int mapSceneIndex;
|
||||
public void LoadMap(Map requestedMap, int exitIndex)
|
||||
{
|
||||
SceneManager.LoadScene(mapSceneIndex);
|
||||
Map newMap = Instantiate(requestedMap);
|
||||
newMap.Load();
|
||||
//load player and set to exit position
|
||||
|
||||
}
|
||||
|
||||
public void SwitchMenu(int sceneIndex)
|
||||
{
|
||||
SceneManager.LoadScene(sceneIndex);
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/LevelSwitcher.cs.meta
Normal file
2
Assets/Scripts/LevelSwitcher.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a5b5ba3ea60e917b5bb351a8dff7e24c
|
||||
24
Assets/Scripts/MainMenuHandler.cs
Normal file
24
Assets/Scripts/MainMenuHandler.cs
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class MainMenuHandler : MonoBehaviour
|
||||
{
|
||||
public void ContinueSave()
|
||||
{
|
||||
|
||||
}
|
||||
public void NewSave()
|
||||
{
|
||||
SceneManager.LoadScene(1);
|
||||
}
|
||||
|
||||
public void QuitGame()
|
||||
{
|
||||
Application.Quit();
|
||||
}
|
||||
public void ShowUI(GameObject openedUI, GameObject closedUI)
|
||||
{
|
||||
openedUI.gameObject.SetActive(true);
|
||||
closedUI.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/MainMenuHandler.cs.meta
Normal file
2
Assets/Scripts/MainMenuHandler.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0ca32d5e19d4ccf01a6fcccb9ce39d28
|
||||
16
Assets/Scripts/Map.cs
Normal file
16
Assets/Scripts/Map.cs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class Map : MonoBehaviour
|
||||
{
|
||||
public List<NPC> npcs = new();
|
||||
public GameObject mapObject;
|
||||
public List<Enemy> enemies = new();
|
||||
public List<GatheringSpot> gatheringSpots = new();
|
||||
public List<Transform> exits;
|
||||
public void Load()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Map.cs.meta
Normal file
2
Assets/Scripts/Map.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cbc224f69699e27089513ee95064432e
|
||||
19
Assets/Scripts/MapEntrance.cs
Normal file
19
Assets/Scripts/MapEntrance.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class MapEntrance : MonoBehaviour
|
||||
{
|
||||
public Map mapToEnter;
|
||||
public int exitIndex;
|
||||
|
||||
public void EnterMap()
|
||||
{
|
||||
LevelSwitcher.instance.LoadMap(mapToEnter, exitIndex);
|
||||
}
|
||||
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
//fade to black
|
||||
EnterMap();
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/MapEntrance.cs.meta
Normal file
2
Assets/Scripts/MapEntrance.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 758f961c2aa802a9fa448bbd19212c16
|
||||
32
Assets/Scripts/MapManager.cs
Normal file
32
Assets/Scripts/MapManager.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using UnityEngine;
|
||||
|
||||
public class MapManager : MonoBehaviour
|
||||
{
|
||||
#region Statication
|
||||
|
||||
public static MapManager instance;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (instance != null && instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
DontDestroyOnLoad(this);
|
||||
instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public Player player;
|
||||
|
||||
public void TravelToLocation(Map mapToLoad)
|
||||
{
|
||||
//needs to fade to black beforehand and afterhand in reverse
|
||||
|
||||
mapToLoad.Load();
|
||||
//add location parameter.
|
||||
//needs a check for where the player entered from so the game knows where to spawn the player
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/MapManager.cs.meta
Normal file
2
Assets/Scripts/MapManager.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 42289cf891926f076bebc4464453ec50
|
||||
8
Assets/Scripts/Projectiles.meta
Normal file
8
Assets/Scripts/Projectiles.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e3f63997870d80b05a765a7bfd83f03e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
40
Assets/Scripts/Projectiles/Projectile.cs
Normal file
40
Assets/Scripts/Projectiles/Projectile.cs
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class Projectile : MonoBehaviour
|
||||
{
|
||||
[Header("Base Stats")]
|
||||
public float lifetime;
|
||||
public float damage;
|
||||
|
||||
[Header("Piercing")]
|
||||
public int pierceAmount;
|
||||
public int currentPierce;
|
||||
|
||||
[Header("Movement")]
|
||||
[SerializeField] private Rigidbody2D rb;
|
||||
public float speed;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
Destroy(gameObject, lifetime);
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
rb.linearVelocity = transform.right * speed;
|
||||
}
|
||||
|
||||
protected void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (!other.CompareTag(tag) && other.TryGetComponent(out CombatEntity isEntity))
|
||||
{
|
||||
currentPierce++;
|
||||
isEntity.TakeDamage(damage);
|
||||
if (currentPierce > pierceAmount) //if 0 then no one pierced. if 1 then can pierce 1 enemy and gets destroyed by second enemy, and so on...
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Projectiles/Projectile.cs.meta
Normal file
2
Assets/Scripts/Projectiles/Projectile.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 1d5cb9c244e3fb41ca6b3cbdc762432a
|
||||
|
|
@ -5,16 +5,21 @@ using UnityEngine;
|
|||
[CreateAssetMenu(fileName = "New Task", menuName = "Task")]
|
||||
public class Task : ScriptableObject
|
||||
{
|
||||
[Serializable]
|
||||
public class ItemRequirment
|
||||
{
|
||||
public Item item;
|
||||
public int amount;
|
||||
}
|
||||
[Header("Identification")]
|
||||
public string taskName;
|
||||
public string taskID;
|
||||
public string description;
|
||||
[Header("Requirements")]
|
||||
public int deadline; //in days from started
|
||||
public bool completed;
|
||||
public ItemRequirment[] requirements;
|
||||
public Dictionary<Item, int> itemProgress = new();
|
||||
|
||||
public InventoryManager.ItemAmount[] itemRequirements;
|
||||
public Enemy[] enemyRequirements;
|
||||
[Header("Rewards")]
|
||||
public InventoryManager.ItemAmount[] itemRewards;
|
||||
public int moneyReward;
|
||||
|
||||
public void FailTask()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class TaskManager : MonoBehaviour
|
||||
|
|
@ -18,9 +20,18 @@ public class TaskManager : MonoBehaviour
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Task> activeTasks = new();
|
||||
|
||||
public Task[] taskList; //list of all tasks in the game
|
||||
public List<Task> activeTasks = new(); //it doesn't need to be serialized wtf are you talking about
|
||||
public int maxTasksActive;
|
||||
public Task startingTask;
|
||||
[Header("UI")]
|
||||
[SerializeField] private TaskUIObject templateTaskUI;
|
||||
public Transform taskGrid;
|
||||
public TextMeshProUGUI taskNameUI;
|
||||
public TextMeshProUGUI taskDescriptionUI;
|
||||
public Dictionary<Task, TaskUIObject> allTaskUIObjects = new();
|
||||
|
||||
public bool AddTask(Task taskToAdd)
|
||||
{
|
||||
if (activeTasks.Count >= maxTasksActive)
|
||||
|
|
@ -28,6 +39,56 @@ public class TaskManager : MonoBehaviour
|
|||
return false;
|
||||
}
|
||||
activeTasks.Add(taskToAdd);
|
||||
AddTaskUIObject(taskToAdd);
|
||||
return true;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
//AddTask(startingTask);
|
||||
}
|
||||
|
||||
public void CompleteTask(Task taskToComplete)
|
||||
{
|
||||
//remove items from inventory aswell. also need to
|
||||
//activeTasks.Remove(taskToComplete);
|
||||
Debug.Log($"{taskToComplete.taskName} COMPLETED");
|
||||
foreach (InventoryManager.ItemAmount itemReward in taskToComplete.itemRewards)
|
||||
{
|
||||
InventoryManager.instance.AddItem(itemReward.item, itemReward.amount);
|
||||
}
|
||||
InventoryManager.instance.AddMoney(taskToComplete.moneyReward);
|
||||
}
|
||||
|
||||
public void CheckInventory()
|
||||
{
|
||||
foreach (Task task in activeTasks)
|
||||
{
|
||||
bool skip = false;
|
||||
foreach (InventoryManager.ItemAmount itemRequirment in task.itemRequirements)
|
||||
{
|
||||
if (InventoryManager.instance.storedItems[itemRequirment.item] < itemRequirment.amount) //doesn't track enemies killed yet but i haven't added combat yet
|
||||
{
|
||||
skip = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!skip)
|
||||
{
|
||||
CompleteTask(task);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddTaskUIObject(Task requestedTask)
|
||||
{
|
||||
TaskUIObject newTaskUIObject = Instantiate(templateTaskUI, taskGrid);
|
||||
allTaskUIObjects[requestedTask] = newTaskUIObject;
|
||||
newTaskUIObject.SetTask(requestedTask);
|
||||
}
|
||||
public void SetTaskUI(Task requestedTask)
|
||||
{
|
||||
taskNameUI.text = requestedTask.taskName;
|
||||
taskDescriptionUI.text = requestedTask.description;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
17
Assets/Scripts/Task/TaskUIObject.cs
Normal file
17
Assets/Scripts/Task/TaskUIObject.cs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class TaskUIObject : MonoBehaviour
|
||||
{
|
||||
public Task taskToShow;
|
||||
public TextMeshProUGUI taskTitle;
|
||||
public Button thisButton;
|
||||
public void SetTask(Task requestedTask)
|
||||
{
|
||||
taskToShow = requestedTask;
|
||||
taskTitle.text = requestedTask.taskName;
|
||||
thisButton.onClick.RemoveAllListeners();
|
||||
thisButton.onClick.AddListener(() => TaskManager.instance.SetTaskUI(taskToShow)); //unsure if it should be on here or the new task ui function
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Task/TaskUIObject.cs.meta
Normal file
2
Assets/Scripts/Task/TaskUIObject.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 853eb37676d17e28f8b73e4434f633e7
|
||||
56
Assets/Scripts/TimeManager.cs
Normal file
56
Assets/Scripts/TimeManager.cs
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class TimeManager : MonoBehaviour
|
||||
{
|
||||
#region Statication
|
||||
|
||||
public static TimeManager instance;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (instance != null && instance != this)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
return;
|
||||
}
|
||||
DontDestroyOnLoad(this);
|
||||
instance = this;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public Player player;
|
||||
[Header("Time")]
|
||||
public int currentDay;
|
||||
public int currentTime; //measured in minutes
|
||||
[Header("UI")]
|
||||
public TextMeshProUGUI timeUI; //i might have to move the main ui off to a different scene?
|
||||
|
||||
private void Start()
|
||||
{
|
||||
UpdateTimeUI();
|
||||
}
|
||||
|
||||
public void PassTime(int minutes)
|
||||
{
|
||||
currentTime += minutes;
|
||||
UpdateTimeUI();
|
||||
}
|
||||
|
||||
public void EndDay()
|
||||
{
|
||||
//full heal player
|
||||
//reset gathering spots
|
||||
currentDay++;
|
||||
currentTime = 360;
|
||||
UpdateTimeUI();
|
||||
}
|
||||
|
||||
private void UpdateTimeUI()
|
||||
{
|
||||
string convertedTime = $"{TimeSpan.FromMinutes(currentTime):hh\\:mm}";
|
||||
timeUI.text = $"Time: {convertedTime}";
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/TimeManager.cs.meta
Normal file
2
Assets/Scripts/TimeManager.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 85711fc00a7dda7aa82f04deb338e560
|
||||
29
Assets/Scripts/UIHandler.cs
Normal file
29
Assets/Scripts/UIHandler.cs
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
using UnityEngine;
|
||||
|
||||
public class UIHandler : MonoBehaviour
|
||||
{
|
||||
public GameObject mainHUD;
|
||||
|
||||
public void OpenUI(UIObject targetUI)
|
||||
{
|
||||
if (targetUI.willCloseMainUI && mainHUD.activeSelf)
|
||||
{
|
||||
mainHUD.SetActive(false);
|
||||
}
|
||||
targetUI.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
public void CloseUI(UIObject targetUI)
|
||||
{
|
||||
if (!mainHUD.activeSelf)
|
||||
{
|
||||
mainHUD.SetActive(true);
|
||||
}
|
||||
targetUI.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void ExitGame()
|
||||
{
|
||||
//LevelSwitcher.instance.SwitchMenu(0); //replace with main menu
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/UIHandler.cs.meta
Normal file
2
Assets/Scripts/UIHandler.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e078166b1e73bcc818073475826af5ca
|
||||
6
Assets/Scripts/UIObject.cs
Normal file
6
Assets/Scripts/UIObject.cs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
using UnityEngine;
|
||||
|
||||
public class UIObject : MonoBehaviour
|
||||
{
|
||||
public bool willCloseMainUI;
|
||||
}
|
||||
2
Assets/Scripts/UIObject.cs.meta
Normal file
2
Assets/Scripts/UIObject.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8b771646c61a1b3628d93ebf530f0f2e
|
||||
21
Assets/Scripts/ZonePlayerFlagCollision.cs
Normal file
21
Assets/Scripts/ZonePlayerFlagCollision.cs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
public class ZonePlayerFlagCollision : MonoBehaviour
|
||||
{
|
||||
public bool safeZone;
|
||||
private void OnTriggerEnter2D(Collider2D other)
|
||||
{
|
||||
if (other.TryGetComponent(out Player isPlayer))
|
||||
{
|
||||
if (safeZone)
|
||||
{
|
||||
isPlayer.isSafe = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
isPlayer.isSafe = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/ZonePlayerFlagCollision.cs.meta
Normal file
2
Assets/Scripts/ZonePlayerFlagCollision.cs.meta
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d0c983f26b2c0e64e86e3440c18ee86e
|
||||
Loading…
Add table
Add a link
Reference in a new issue