Merge remote-tracking branch 'origin/main' into feature/fixRecolteBug
This commit is contained in:
commit
5deeb528b8
@ -7,6 +7,8 @@ public class LevelManagerEditor : Editor
|
|||||||
public override void OnInspectorGUI()
|
public override void OnInspectorGUI()
|
||||||
{
|
{
|
||||||
DrawDefaultInspector();
|
DrawDefaultInspector();
|
||||||
|
if (Application.isPlaying)
|
||||||
|
{
|
||||||
if (GUILayout.Button("Save"))
|
if (GUILayout.Button("Save"))
|
||||||
{
|
{
|
||||||
LevelManager.Instance.SaveFile();
|
LevelManager.Instance.SaveFile();
|
||||||
@ -17,3 +19,4 @@ public class LevelManagerEditor : Editor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@ -62,7 +62,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -106,7 +106,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -495,7 +495,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -643,7 +643,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -511,7 +511,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -1176,7 +1176,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
2256
Assets/Prefabs/UI/WorldMap/LevelSelection.prefab
Normal file
2256
Assets/Prefabs/UI/WorldMap/LevelSelection.prefab
Normal file
File diff suppressed because it is too large
Load Diff
7
Assets/Prefabs/UI/WorldMap/LevelSelection.prefab.meta
Normal file
7
Assets/Prefabs/UI/WorldMap/LevelSelection.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 096f5f6b487dccb41a48faf69f87fae9
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -67,7 +67,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
|
|||||||
@ -107,7 +107,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3}
|
m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_detectionLinked: {fileID: 3172728477976940186}
|
_detectionLinked: {fileID: 4130391605812397686}
|
||||||
_angle: 10
|
_angle: 10
|
||||||
_speed: 1
|
_speed: 1
|
||||||
--- !u!1 &6962989256011107503
|
--- !u!1 &6962989256011107503
|
||||||
@ -204,7 +204,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 6802302589573039538}
|
- component: {fileID: 6802302589573039538}
|
||||||
- component: {fileID: 7006189111012443782}
|
- component: {fileID: 7006189111012443782}
|
||||||
- component: {fileID: 3172728477976940186}
|
- component: {fileID: 4130391605812397686}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: detection
|
m_Name: detection
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -253,7 +253,7 @@ BoxCollider2D:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Size: {x: 0.3744527, y: 0.17825907}
|
m_Size: {x: 0.3744527, y: 0.17825907}
|
||||||
m_EdgeRadius: 0
|
m_EdgeRadius: 0
|
||||||
--- !u!114 &3172728477976940186
|
--- !u!114 &4130391605812397686
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
|||||||
@ -538,7 +538,7 @@ Camera:
|
|||||||
m_Depth: -1
|
m_Depth: -1
|
||||||
m_CullingMask:
|
m_CullingMask:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 4294967295
|
m_Bits: 55
|
||||||
m_RenderingPath: -1
|
m_RenderingPath: -1
|
||||||
m_TargetTexture: {fileID: 0}
|
m_TargetTexture: {fileID: 0}
|
||||||
m_TargetDisplay: 0
|
m_TargetDisplay: 0
|
||||||
@ -783,6 +783,14 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: LevelManager
|
value: LevelManager
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3028288566889208750, guid: 02daecb0115395844b4932445d039051, type: 3}
|
||||||
|
propertyPath: _gameScene
|
||||||
|
value: Game
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3028288566889208750, guid: 02daecb0115395844b4932445d039051, type: 3}
|
||||||
|
propertyPath: _firstLevel
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 11400000, guid: a6e34739c9325da4cac4fbaea30d052c, type: 2}
|
||||||
- target: {fileID: 3028288566889208751, guid: 02daecb0115395844b4932445d039051, type: 3}
|
- target: {fileID: 3028288566889208751, guid: 02daecb0115395844b4932445d039051, type: 3}
|
||||||
propertyPath: m_RootOrder
|
propertyPath: m_RootOrder
|
||||||
value: 2
|
value: 2
|
||||||
@ -926,6 +934,7 @@ RectTransform:
|
|||||||
- {fileID: 115274809}
|
- {fileID: 115274809}
|
||||||
- {fileID: 1709530844}
|
- {fileID: 1709530844}
|
||||||
- {fileID: 2019202047}
|
- {fileID: 2019202047}
|
||||||
|
- {fileID: 2064630363}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 4
|
m_RootOrder: 4
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -1808,3 +1817,152 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 2019202046}
|
m_GameObject: {fileID: 2019202046}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &2064630362
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2064630363}
|
||||||
|
- component: {fileID: 2064630366}
|
||||||
|
- component: {fileID: 2064630365}
|
||||||
|
- component: {fileID: 2064630364}
|
||||||
|
- component: {fileID: 2064630367}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: TemporaryGoBackButton
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &2064630363
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2064630362}
|
||||||
|
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: 1092900232}
|
||||||
|
m_RootOrder: 5
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
|
m_AnchoredPosition: {x: 786, y: 603.62}
|
||||||
|
m_SizeDelta: {x: 97.7374, y: 78.499}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &2064630364
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2064630362}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Navigation:
|
||||||
|
m_Mode: 3
|
||||||
|
m_WrapAround: 0
|
||||||
|
m_SelectOnUp: {fileID: 0}
|
||||||
|
m_SelectOnDown: {fileID: 0}
|
||||||
|
m_SelectOnLeft: {fileID: 0}
|
||||||
|
m_SelectOnRight: {fileID: 0}
|
||||||
|
m_Transition: 1
|
||||||
|
m_Colors:
|
||||||
|
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||||
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
|
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||||
|
m_ColorMultiplier: 1
|
||||||
|
m_FadeDuration: 0.1
|
||||||
|
m_SpriteState:
|
||||||
|
m_HighlightedSprite: {fileID: 0}
|
||||||
|
m_PressedSprite: {fileID: 0}
|
||||||
|
m_SelectedSprite: {fileID: 0}
|
||||||
|
m_DisabledSprite: {fileID: 0}
|
||||||
|
m_AnimationTriggers:
|
||||||
|
m_NormalTrigger: Normal
|
||||||
|
m_HighlightedTrigger: Highlighted
|
||||||
|
m_PressedTrigger: Pressed
|
||||||
|
m_SelectedTrigger: Selected
|
||||||
|
m_DisabledTrigger: Disabled
|
||||||
|
m_Interactable: 1
|
||||||
|
m_TargetGraphic: {fileID: 2064630365}
|
||||||
|
m_OnClick:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 2064630367}
|
||||||
|
m_TargetAssemblyTypeName: ChangeScene, GameAssembly
|
||||||
|
m_MethodName: LoadScene
|
||||||
|
m_Mode: 1
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument:
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
--- !u!114 &2064630365
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2064630362}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_RaycastTarget: 1
|
||||||
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_Maskable: 1
|
||||||
|
m_OnCullStateChanged:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls: []
|
||||||
|
m_Sprite: {fileID: 21300000, guid: 40f4f2cff86c68f4aaccce14435eba65, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!222 &2064630366
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2064630362}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &2064630367
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2064630362}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5013085c123fae4499f80b0a896f63af, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
scene: LevelSelect
|
||||||
|
sceneAction: 0
|
||||||
|
loadSceneMode: 0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,7 @@ public class AnimationEntity : MonoBehaviour
|
|||||||
private Animator _animatorEntity;
|
private Animator _animatorEntity;
|
||||||
private bool _doSomething = false;
|
private bool _doSomething = false;
|
||||||
private bool _isDead = false;
|
private bool _isDead = false;
|
||||||
|
private bool _isWalking = false;
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
@ -21,6 +22,7 @@ public class AnimationEntity : MonoBehaviour
|
|||||||
{
|
{
|
||||||
PlayIdleAnim();
|
PlayIdleAnim();
|
||||||
_doSomething = false;
|
_doSomething = false;
|
||||||
|
_isWalking = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -35,6 +37,7 @@ public class AnimationEntity : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if(!_isDead) {
|
if(!_isDead) {
|
||||||
_animatorEntity.Play("walk", 0, 0f);
|
_animatorEntity.Play("walk", 0, 0f);
|
||||||
|
_isWalking = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,4 +56,11 @@ public class AnimationEntity : MonoBehaviour
|
|||||||
_isDead = true;
|
_isDead = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//SETTER GETTER
|
||||||
|
public bool IsWalking
|
||||||
|
{
|
||||||
|
get { return _isWalking; }
|
||||||
|
set { _isWalking = value; }
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
37
Assets/Scripts/ChangeScene.cs
Normal file
37
Assets/Scripts/ChangeScene.cs
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
|
public class ChangeScene : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Scene]
|
||||||
|
public string scene;
|
||||||
|
public SceneActionType sceneAction;
|
||||||
|
public LoadSceneMode loadSceneMode;
|
||||||
|
public enum SceneActionType
|
||||||
|
{
|
||||||
|
Load,
|
||||||
|
Unload
|
||||||
|
}
|
||||||
|
public void LoadScene()
|
||||||
|
{
|
||||||
|
if (sceneAction == SceneActionType.Load)
|
||||||
|
{
|
||||||
|
SceneManager.LoadScene(scene, loadSceneMode);
|
||||||
|
}
|
||||||
|
else if (sceneAction == SceneActionType.Unload)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < SceneManager.sceneCount; i++)
|
||||||
|
{
|
||||||
|
var scene = SceneManager.GetSceneAt(i);
|
||||||
|
if (scene.name == this.scene)
|
||||||
|
{
|
||||||
|
SceneManager.UnloadSceneAsync(scene);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/ChangeScene.cs.meta
Normal file
11
Assets/Scripts/ChangeScene.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 5013085c123fae4499f80b0a896f63af
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -18,6 +18,7 @@ public class Detection : MonoBehaviour
|
|||||||
|
|
||||||
//If it's a projectile damage > 0
|
//If it's a projectile damage > 0
|
||||||
private int _projectileDamage = 0;
|
private int _projectileDamage = 0;
|
||||||
|
private float _distanceMin = 100f;
|
||||||
|
|
||||||
void OnTriggerEnter2D(Collider2D other)
|
void OnTriggerEnter2D(Collider2D other)
|
||||||
{
|
{
|
||||||
@ -29,9 +30,10 @@ public class Detection : MonoBehaviour
|
|||||||
//Kill if no hp
|
//Kill if no hp
|
||||||
if(other.gameObject.GetComponent<Entity>().Hp <= 0) {
|
if(other.gameObject.GetComponent<Entity>().Hp <= 0) {
|
||||||
other.gameObject.GetComponent<Entity>().Death();
|
other.gameObject.GetComponent<Entity>().Death();
|
||||||
_entityLinked = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_entityLinked = null;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,21 +41,32 @@ public class Detection : MonoBehaviour
|
|||||||
|
|
||||||
void OnTriggerStay2D(Collider2D other)
|
void OnTriggerStay2D(Collider2D other)
|
||||||
{
|
{
|
||||||
if(_entityLinked != null) {
|
if(_entityLinked != null && _projectileDamage == 0) {
|
||||||
if(_entityLinked.Enemy == null) {
|
|
||||||
//Detect the enemy and inform the Ally
|
//Detect the enemy and inform the Ally
|
||||||
if (other.gameObject.tag == "Opponent" && _entityLinked is Ally) {
|
if (other.gameObject.tag == "Opponent" && _entityLinked.gameObject.tag == "Ally") {
|
||||||
|
if(other.gameObject.transform.position.x <= _distanceMin) {
|
||||||
|
_distanceMin = other.gameObject.transform.position.x;
|
||||||
_entityLinked.IsEnemyDetected = true;
|
_entityLinked.IsEnemyDetected = true;
|
||||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Detect the enemy and inform the Opponent
|
//Detect the enemy and inform the Opponent
|
||||||
if (other.gameObject.tag == "Ally" && _entityLinked is Opponent) {
|
if (other.gameObject.tag == "Ally" && _entityLinked.gameObject.tag == "Opponent" ) {
|
||||||
|
if(other.gameObject.transform.position.x <= _distanceMin) {
|
||||||
|
_distanceMin = other.gameObject.transform.position.x;
|
||||||
_entityLinked.IsEnemyDetected = true;
|
_entityLinked.IsEnemyDetected = true;
|
||||||
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
_entityLinked.Enemy = other.gameObject.GetComponent<Entity>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(_entityLinked.Enemy == null && _distanceMin != 100f) {
|
||||||
|
_distanceMin = 100f;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ public class ObjectPlaceholder : DraggablePlaceholder
|
|||||||
public GameObject Prefab { get; set; }
|
public GameObject Prefab { get; set; }
|
||||||
public override void Place()
|
public override void Place()
|
||||||
{
|
{
|
||||||
Prefab.Create(transform.position);
|
Prefab.Create(transform.position, parent : LevelManager.Instance.LevelTransform);
|
||||||
}
|
}
|
||||||
public override bool CanBePlacedHere()
|
public override bool CanBePlacedHere()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -82,6 +82,12 @@ public class Entity : LevelObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Move() {
|
||||||
|
if(!_animation.IsWalking) {
|
||||||
|
_animation.PlayWalkAnim();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//GETTERS AND SETTERS
|
//GETTERS AND SETTERS
|
||||||
|
|
||||||
public int Hp
|
public int Hp
|
||||||
|
|||||||
@ -132,7 +132,12 @@ namespace GatherAndDefend.LevelEditor
|
|||||||
|
|
||||||
//get grid
|
//get grid
|
||||||
var grid = GameObject.FindObjectOfType<Grid>();
|
var grid = GameObject.FindObjectOfType<Grid>();
|
||||||
if (!grid) grid = new GameObject("Grid").AddComponent<Grid>();
|
if (!grid)
|
||||||
|
{
|
||||||
|
var levelMgrScript = GameObject.FindObjectOfType<LevelManagerScript>();
|
||||||
|
grid = new GameObject("Grid").AddComponent<Grid>();
|
||||||
|
grid.transform.SetParent(levelMgrScript.transform.parent);
|
||||||
|
}
|
||||||
|
|
||||||
//get tilemap by name
|
//get tilemap by name
|
||||||
var tilemap = grid.GetComponentInChildren<Tilemap>(key);
|
var tilemap = grid.GetComponentInChildren<Tilemap>(key);
|
||||||
|
|||||||
@ -96,8 +96,9 @@ public class LevelManager : Singleton<LevelManager>
|
|||||||
|
|
||||||
#region [Level management]
|
#region [Level management]
|
||||||
|
|
||||||
public void UpdateLevel()
|
public void AddAndRemoveObjects()
|
||||||
{
|
{
|
||||||
|
//add and remove
|
||||||
var toAdd = new List<ILevelObject>(_toAdd);
|
var toAdd = new List<ILevelObject>(_toAdd);
|
||||||
toAdd.ForEach(addedObject =>
|
toAdd.ForEach(addedObject =>
|
||||||
{
|
{
|
||||||
@ -113,27 +114,18 @@ public class LevelManager : Singleton<LevelManager>
|
|||||||
_levelObjects.Remove(removedObject);
|
_levelObjects.Remove(removedObject);
|
||||||
removedObject.LevelDestroy();
|
removedObject.LevelDestroy();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateLevel()
|
||||||
|
{
|
||||||
|
AddAndRemoveObjects();
|
||||||
|
|
||||||
_levelObjects.ForEach(levelObject =>
|
_levelObjects.ForEach(levelObject =>
|
||||||
{
|
{
|
||||||
levelObject.LevelUpdate();
|
levelObject.LevelUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
toAdd = new List<ILevelObject>(_toAdd);
|
AddAndRemoveObjects();
|
||||||
toAdd.ForEach(addedObject =>
|
|
||||||
{
|
|
||||||
_toAdd.Remove(addedObject);
|
|
||||||
_levelObjects.Add(addedObject);
|
|
||||||
addedObject.LevelStart();
|
|
||||||
});
|
|
||||||
|
|
||||||
toRemove = new List<ILevelObject>(_toRemove);
|
|
||||||
toRemove.ForEach(removedObject =>
|
|
||||||
{
|
|
||||||
_toRemove.Remove(removedObject);
|
|
||||||
_levelObjects.Remove(removedObject);
|
|
||||||
removedObject.LevelDestroy();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearLevel()
|
public void ClearLevel()
|
||||||
@ -162,7 +154,9 @@ public class LevelManager : Singleton<LevelManager>
|
|||||||
//create new grid if there is none
|
//create new grid if there is none
|
||||||
if (!grid)
|
if (!grid)
|
||||||
{
|
{
|
||||||
|
var levelMgrScript = Object.FindObjectOfType<LevelManagerScript>();
|
||||||
grid = new GameObject("Grid").AddComponent<Grid>();
|
grid = new GameObject("Grid").AddComponent<Grid>();
|
||||||
|
grid.transform.SetParent(levelMgrScript.transform);
|
||||||
}
|
}
|
||||||
//remove all tilemaps if there is a grid
|
//remove all tilemaps if there is a grid
|
||||||
else
|
else
|
||||||
@ -199,11 +193,6 @@ public class LevelManager : Singleton<LevelManager>
|
|||||||
ClearLevel();
|
ClearLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var ob in Database.Instance.ScriptableObjects)
|
|
||||||
{
|
|
||||||
Debug.Log(ob);
|
|
||||||
}
|
|
||||||
|
|
||||||
//fetch level from database
|
//fetch level from database
|
||||||
_currentLevel = Database.Instance.ScriptableObjects[levelName] as Level;
|
_currentLevel = Database.Instance.ScriptableObjects[levelName] as Level;
|
||||||
|
|
||||||
@ -290,10 +279,5 @@ public class LevelManager : Singleton<LevelManager>
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// align camera to the rightmost tile of the tilemap
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@ -1,14 +1,15 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using GatherAndDefend.LevelEditor;
|
using UnityEngine.SceneManagement;
|
||||||
|
using Level = GatherAndDefend.LevelEditor.Level;
|
||||||
public class LevelManagerScript : SingletonBehaviour<LevelManagerScript>
|
public class LevelManagerScript : MonoBehaviour
|
||||||
{
|
{
|
||||||
public Level firstLevel;
|
[Scene][SerializeField]
|
||||||
|
private string _gameScene;
|
||||||
|
[SerializeField]
|
||||||
|
private Level _firstLevel;
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
DontDestroyOnLoad(gameObject);
|
LevelManager.Instance.LevelTransform = transform;
|
||||||
if (!firstLevel) throw new System.Exception("there is no first level set in the level manager script");
|
|
||||||
|
|
||||||
int levelToLoadFromWorldMap = PlayerPrefs.GetInt("LevelToLoad", -1);
|
int levelToLoadFromWorldMap = PlayerPrefs.GetInt("LevelToLoad", -1);
|
||||||
if (levelToLoadFromWorldMap != -1)
|
if (levelToLoadFromWorldMap != -1)
|
||||||
{
|
{
|
||||||
@ -16,8 +17,14 @@ public class LevelManagerScript : SingletonBehaviour<LevelManagerScript>
|
|||||||
LevelManager.Instance.LoadLevel(lvlName, true);
|
LevelManager.Instance.LoadLevel(lvlName, true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (_firstLevel)
|
||||||
LevelManager.Instance.LoadLevel(firstLevel, true);
|
{
|
||||||
|
LevelManager.Instance.LoadLevel(_firstLevel, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning("there is no first level set in the level manager script");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
|
|||||||
@ -18,15 +18,19 @@ public class Opponent : Entity
|
|||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
if(IsEnemyDetected) {
|
||||||
|
AttackEnemy();
|
||||||
|
}else {
|
||||||
_movementVector.x = -Time.deltaTime * Speed;
|
_movementVector.x = -Time.deltaTime * Speed;
|
||||||
|
|
||||||
transform.position += (Vector3)_movementVector;
|
transform.position += (Vector3)_movementVector;
|
||||||
|
|
||||||
if(IsEnemyDetected) {
|
Move();
|
||||||
AttackEnemy();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AttackEnemy()
|
void AttackEnemy()
|
||||||
|
|||||||
55
Assets/Scripts/SceneDrawer.cs
Normal file
55
Assets/Scripts/SceneDrawer.cs
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
public class SceneAttribute : PropertyAttribute { }
|
||||||
|
|
||||||
|
[CustomPropertyDrawer(typeof(SceneAttribute))]
|
||||||
|
public class SceneDrawer : PropertyDrawer
|
||||||
|
{
|
||||||
|
|
||||||
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (property.propertyType == SerializedPropertyType.String)
|
||||||
|
{
|
||||||
|
var sceneObject = GetSceneObject(property.stringValue);
|
||||||
|
var scene = EditorGUI.ObjectField(position, label, sceneObject, typeof(SceneAsset), true);
|
||||||
|
if (scene == null)
|
||||||
|
{
|
||||||
|
property.stringValue = "";
|
||||||
|
}
|
||||||
|
else if (scene.name != property.stringValue)
|
||||||
|
{
|
||||||
|
var sceneObj = GetSceneObject(scene.name);
|
||||||
|
if (sceneObj == null)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("The scene " + scene.name + " cannot be used. To use this scene add it to the build settings for the project");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
property.stringValue = scene.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
EditorGUI.LabelField(position, label.text, "Use [Scene] with strings.");
|
||||||
|
}
|
||||||
|
protected SceneAsset GetSceneObject(string sceneObjectName)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(sceneObjectName))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var editorScene in EditorBuildSettings.scenes)
|
||||||
|
{
|
||||||
|
if (editorScene.path.IndexOf(sceneObjectName) != -1)
|
||||||
|
{
|
||||||
|
return AssetDatabase.LoadAssetAtPath(editorScene.path, typeof(SceneAsset)) as SceneAsset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Debug.LogWarning("Scene [" + sceneObjectName + "] cannot be used. Add this scene to the 'Scenes in the Build' in build settings.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/SceneDrawer.cs.meta
Normal file
11
Assets/Scripts/SceneDrawer.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 389cc3c423055324fb8d7de50f62f709
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -16,6 +16,8 @@ public class WorldMapManager : MonoBehaviour
|
|||||||
private Sprite _lockedIcon;
|
private Sprite _lockedIcon;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Sprite _savedIcon;
|
private Sprite _savedIcon;
|
||||||
|
[Scene][SerializeField]
|
||||||
|
private string gameScene;
|
||||||
|
|
||||||
private WorldMapSave _worldMapSave;
|
private WorldMapSave _worldMapSave;
|
||||||
|
|
||||||
@ -70,12 +72,10 @@ public class WorldMapManager : MonoBehaviour
|
|||||||
|
|
||||||
public void CallLevelWorld1(int levelToCall)
|
public void CallLevelWorld1(int levelToCall)
|
||||||
{
|
{
|
||||||
string levelToGet = "1-" + levelToCall;
|
|
||||||
if (_buttonList[levelToCall - 1].GetComponent<Image>().sprite.name != "worldmap_level_locked")
|
if (_buttonList[levelToCall - 1].GetComponent<Image>().sprite.name != "worldmap_level_locked")
|
||||||
{
|
{
|
||||||
PlayerPrefs.SetInt("LevelToLoad", levelToCall);
|
PlayerPrefs.SetInt("LevelToLoad", levelToCall);
|
||||||
SceneManager.LoadScene("Game");
|
SceneManager.LoadScene(gameScene);
|
||||||
//LevelManager.Instance.LoadLevel(levelToGet, true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user