Commit 54ef125e authored by Chae Ho Shin's avatar Chae Ho Shin

Merge remote-tracking branch 'origin/collision-model' into collision-model

parents 8e39be2f f54dd753
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class AlertManager : MonoBehaviour
{
[SerializeField]
GameObject alertObject;
[SerializeField]
Button okButton;
[SerializeField]
Button cancelButton;
[SerializeField]
Text alertText;
Queue<string> alertTextQueue;
// Start is called before the first frame update
void Start()
{
Close();
//string[] aa = { "a","b" };
//Alert(aa);
}
// Update is called once per frame
void Update()
{
}
public void Alert(string text,UnityAction ok = null,UnityAction cancel = null)
{
Open();
alertText.text = text;
okButton.onClick.AddListener(Close);
cancelButton.onClick.AddListener(Close);
if(ok != null)
{
okButton.onClick.AddListener(ok);
}
if(cancel != null)
{
cancelButton.onClick.AddListener(cancel);
}
}
public void Alert(IList<string> texts)
{
alertTextQueue = new Queue<string>(texts);
AlertQueue();
}
public void AlertQueue()
{
if(alertTextQueue.Count >= 2)
{
Alert(alertTextQueue.Dequeue(), AlertQueue, DeleteQueue);
}
else
{
Alert(alertTextQueue.Dequeue());
}
}
public void DeleteQueue()
{
alertTextQueue.Clear();
}
public void Open()
{
Time.timeScale = 0.0f;
alertObject.SetActive(true);
}
public void Close()
{
Time.timeScale = 1.0f;
okButton.onClick.RemoveAllListeners();
cancelButton.onClick.RemoveAllListeners();
alertObject.SetActive(false);
}
}
fileFormatVersion: 2
guid: fe82d3fd30784eb47b1817cc46e1e205
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -120,6 +120,87 @@ NavMeshSettings: ...@@ -120,6 +120,87 @@ NavMeshSettings:
debug: debug:
m_Flags: 0 m_Flags: 0
m_NavMeshData: {fileID: 0} m_NavMeshData: {fileID: 0}
--- !u!1 &185974433
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 185974434}
- component: {fileID: 185974436}
- component: {fileID: 185974435}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &185974434
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185974433}
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_Children: []
m_Father: {fileID: 1691280422}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &185974435
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185974433}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 'Ok
'
--- !u!222 &185974436
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 185974433}
m_CullTransparentMesh: 0
--- !u!1 &260633608 --- !u!1 &260633608
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -317,6 +398,7 @@ MonoBehaviour: ...@@ -317,6 +398,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 14f968d942299c84ca786317f6de8274, type: 3} m_Script: {fileID: 11500000, guid: 14f968d942299c84ca786317f6de8274, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
uiManager: {fileID: 394305455}
gamma: 0 gamma: 0
player: {fileID: 739347346} player: {fileID: 739347346}
winstate: 0 winstate: 0
...@@ -982,7 +1064,7 @@ MonoBehaviour: ...@@ -982,7 +1064,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1 m_RaycastTarget: 1
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
...@@ -1110,11 +1192,11 @@ MonoBehaviour: ...@@ -1110,11 +1192,11 @@ MonoBehaviour:
m_GameObject: {fileID: 535323107} m_GameObject: {fileID: 535323107}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0bf826b8a4774ba4b9c6a1cff6925667, type: 3} m_Script: {fileID: 11500000, guid: 11c0c0a758005e0408c9a767ec478e97, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
objectType: 1 objectType: 3
collisionPreset: 1 collisionPreset: 4
beta: 0 beta: 0
alpha: {x: 0, y: 0, z: 0} alpha: {x: 0, y: 0, z: 0}
v: {x: 0, y: 0, z: 0} v: {x: 0, y: 0, z: 0}
...@@ -1122,10 +1204,10 @@ MonoBehaviour: ...@@ -1122,10 +1204,10 @@ MonoBehaviour:
levelManager: {fileID: 279236944} levelManager: {fileID: 279236944}
gamma: 1 gamma: 1
time: 0 time: 0
theobject: {fileID: 439858915} theobject: {fileID: 535323107}
mass: 10 mass: 10
starttime: 10 starttime: 60
otherclock: {fileID: 0} otherclock: {fileID: 1094934749}
--- !u!4 &535323109 --- !u!4 &535323109
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -1465,6 +1547,84 @@ Transform: ...@@ -1465,6 +1547,84 @@ Transform:
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 2 m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &798238899
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 798238900}
- component: {fileID: 798238902}
- component: {fileID: 798238901}
m_Layer: 5
m_Name: AlertText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &798238900
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 798238899}
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_Children:
- {fileID: 998772545}
- {fileID: 1691280422}
- {fileID: 1063558148}
m_Father: {fileID: 1193230061}
m_RootOrder: 10
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: -156.13004, y: -66.28999}
m_SizeDelta: {x: 312.26, y: 132.57999}
m_Pivot: {x: 0, y: 0}
--- !u!114 &798238901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 798238899}
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: 0.392}
m_RaycastTarget: 0
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
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 &798238902
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 798238899}
m_CullTransparentMesh: 0
--- !u!1 &804812004 --- !u!1 &804812004
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2158,6 +2318,128 @@ Camera: ...@@ -2158,6 +2318,128 @@ Camera:
m_OcclusionCulling: 0 m_OcclusionCulling: 0
m_StereoConvergence: 10 m_StereoConvergence: 10
m_StereoSeparation: 0.022 m_StereoSeparation: 0.022
--- !u!1 &998772544
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 998772545}
- component: {fileID: 998772548}
- component: {fileID: 998772547}
- component: {fileID: 998772546}
m_Layer: 5
m_Name: CancelButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &998772545
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998772544}
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_Children:
- {fileID: 1477382726}
m_Father: {fileID: 798238900}
m_RootOrder: 0
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: 68.37501, y: -40.67}
m_SizeDelta: {x: 50, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &998772546
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998772544}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
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: 998772547}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &998772547
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998772544}
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_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
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 &998772548
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998772544}
m_CullTransparentMesh: 0
--- !u!1 &1034884445 --- !u!1 &1034884445
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2395,6 +2677,85 @@ CanvasRenderer: ...@@ -2395,6 +2677,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1062315800} m_GameObject: {fileID: 1062315800}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1063558147
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1063558148}
- component: {fileID: 1063558150}
- component: {fileID: 1063558149}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1063558148
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063558147}
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_Children: []
m_Father: {fileID: 798238900}
m_RootOrder: 2
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: 0, y: 22}
m_SizeDelta: {x: 300, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1063558149
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063558147}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 1
m_MinSize: 10
m_MaxSize: 200
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 0
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: PathCollider-
--- !u!222 &1063558150
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063558147}
m_CullTransparentMesh: 0
--- !u!1 &1086622585 --- !u!1 &1086622585
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -2666,11 +3027,11 @@ MonoBehaviour: ...@@ -2666,11 +3027,11 @@ MonoBehaviour:
m_GameObject: {fileID: 1094934748} m_GameObject: {fileID: 1094934748}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 36bd4b20d3bc814459c577f508eda20c, type: 3} m_Script: {fileID: 11500000, guid: 11c0c0a758005e0408c9a767ec478e97, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
objectType: 2 objectType: 3
collisionPreset: 2 collisionPreset: 4
beta: 0 beta: 0
alpha: {x: 0, y: 0, z: 0} alpha: {x: 0, y: 0, z: 0}
v: {x: 0, y: 0, z: 0} v: {x: 0, y: 0, z: 0}
...@@ -2678,7 +3039,7 @@ MonoBehaviour: ...@@ -2678,7 +3039,7 @@ MonoBehaviour:
levelManager: {fileID: 279236944} levelManager: {fileID: 279236944}
gamma: 1 gamma: 1
time: 0 time: 0
theobject: {fileID: 839664886} theobject: {fileID: 1094934748}
mass: 10 mass: 10
starttime: 0 starttime: 0
otherclock: {fileID: 535323108} otherclock: {fileID: 535323108}
...@@ -2997,6 +3358,7 @@ RectTransform: ...@@ -2997,6 +3358,7 @@ RectTransform:
- {fileID: 512200285} - {fileID: 512200285}
- {fileID: 1086622586} - {fileID: 1086622586}
- {fileID: 527034808} - {fileID: 527034808}
- {fileID: 798238900}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 7 m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
...@@ -3408,6 +3770,85 @@ CanvasRenderer: ...@@ -3408,6 +3770,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1335777780} m_GameObject: {fileID: 1335777780}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1477382725
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1477382726}
- component: {fileID: 1477382728}
- component: {fileID: 1477382727}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1477382726
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1477382725}
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_Children: []
m_Father: {fileID: 998772545}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.000005722046, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1477382727
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1477382725}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: Cancel
--- !u!222 &1477382728
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1477382725}
m_CullTransparentMesh: 0
--- !u!1 &1496132462 --- !u!1 &1496132462
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -3680,6 +4121,128 @@ MonoBehaviour: ...@@ -3680,6 +4121,128 @@ MonoBehaviour:
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 1 m_LineSpacing: 1
m_Text: 0s m_Text: 0s
--- !u!1 &1691280421
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1691280422}
- component: {fileID: 1691280425}
- component: {fileID: 1691280424}
- component: {fileID: 1691280423}
m_Layer: 5
m_Name: Ok
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1691280422
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691280421}
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_Children:
- {fileID: 185974434}
m_Father: {fileID: 798238900}
m_RootOrder: 1
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: -68.374985, y: -40.67}
m_SizeDelta: {x: 50, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1691280423
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691280421}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
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: 1691280424}
m_OnClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
--- !u!114 &1691280424
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691280421}
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_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
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 &1691280425
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1691280421}
m_CullTransparentMesh: 0
--- !u!1 &1710021922 --- !u!1 &1710021922
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -4160,6 +4723,53 @@ CanvasRenderer: ...@@ -4160,6 +4723,53 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1782632031} m_GameObject: {fileID: 1782632031}
m_CullTransparentMesh: 0 m_CullTransparentMesh: 0
--- !u!1 &1878497985
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1878497987}
- component: {fileID: 1878497986}
m_Layer: 0
m_Name: AlertManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1878497986
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1878497985}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe82d3fd30784eb47b1817cc46e1e205, type: 3}
m_Name:
m_EditorClassIdentifier:
alertObject: {fileID: 798238899}
okButton: {fileID: 1691280423}
cancelButton: {fileID: 998772546}
alertText: {fileID: 1063558149}
--- !u!4 &1878497987
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1878497985}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 310.89844, y: 172.87187, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 14
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1883174027 --- !u!1 &1883174027
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
new CollisionType(ObjectType.player,true), new CollisionType(ObjectType.player,true),
new CollisionType(ObjectType.normalobject,true), new CollisionType(ObjectType.normalobject,true),
new CollisionType(ObjectType.interactive,false), new CollisionType(ObjectType.interactive,false),
new CollisionType(ObjectType.clock,false),
new CollisionType(ObjectType.wall,true) new CollisionType(ObjectType.wall,true)
}; };
...@@ -16,6 +17,7 @@ ...@@ -16,6 +17,7 @@
new CollisionType(ObjectType.player,true), new CollisionType(ObjectType.player,true),
new CollisionType(ObjectType.normalobject,true), new CollisionType(ObjectType.normalobject,true),
new CollisionType(ObjectType.interactive,true), new CollisionType(ObjectType.interactive,true),
new CollisionType(ObjectType.clock,true),
new CollisionType(ObjectType.wall,true) new CollisionType(ObjectType.wall,true)
}; };
...@@ -23,6 +25,15 @@ ...@@ -23,6 +25,15 @@
new CollisionType(ObjectType.player,false), new CollisionType(ObjectType.player,false),
new CollisionType(ObjectType.normalobject,true), new CollisionType(ObjectType.normalobject,true),
new CollisionType(ObjectType.interactive,true), new CollisionType(ObjectType.interactive,true),
new CollisionType(ObjectType.clock,true),
new CollisionType(ObjectType.wall,true)
};
public static CollisionType[] Clock { get; private set; } = {
new CollisionType(ObjectType.player,false),
new CollisionType(ObjectType.normalobject,true),
new CollisionType(ObjectType.interactive,true),
new CollisionType(ObjectType.clock,false),
new CollisionType(ObjectType.wall,true) new CollisionType(ObjectType.wall,true)
}; };
...@@ -30,6 +41,7 @@ ...@@ -30,6 +41,7 @@
new CollisionType(ObjectType.player,false), new CollisionType(ObjectType.player,false),
new CollisionType(ObjectType.normalobject,false), new CollisionType(ObjectType.normalobject,false),
new CollisionType(ObjectType.interactive,false), new CollisionType(ObjectType.interactive,false),
new CollisionType(ObjectType.clock,false),
new CollisionType(ObjectType.wall,false) new CollisionType(ObjectType.wall,false)
}; };
...@@ -43,6 +55,7 @@ ...@@ -43,6 +55,7 @@
normalobject, normalobject,
interactive, interactive,
wall, wall,
clock,
etc etc
} }
} }
...@@ -11,6 +11,7 @@ namespace Assets.Scripts.Collision ...@@ -11,6 +11,7 @@ namespace Assets.Scripts.Collision
player, player,
normalobject, normalobject,
interactive, interactive,
clock,
wall wall
} }
} }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Assets.Scripts.Interface;
public class GrabableObject : InteractiveObject
{
public override string InteractType
{
get
{
return "grab";
}
}
public override void OnInteract()
{
return;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scripts.Interface
{
public interface IGrabable
{
void OnGrabbed(IGraber graber);
void OnDisGrabbed(IGraber graber);
bool IsGrabbed { get; }
}
}
fileFormatVersion: 2
guid: 845b5f3d9f326274d960d67947d8f987
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
namespace Assets.Scripts.Interface
{
public interface IGraber
{
void OnDisGrab(IGrabable grabed);
void OnGrab(IGrabable grabed);
Vector3 GraberV { get; }
bool IsGrab { get; }
}
}
fileFormatVersion: 2
guid: 981976f1f25218f498f2aa24ae06643b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
...@@ -6,10 +6,11 @@ using System.Threading.Tasks; ...@@ -6,10 +6,11 @@ using System.Threading.Tasks;
namespace Assets.Scripts.Interface namespace Assets.Scripts.Interface
{ {
interface IInteractable public interface IInteractable
{ {
void OnInteract(); void OnInteract(IInteractor interactor);
void OnDisInteract(IInteractor interactor);
string InteractType { get; } string InteractType { get; }
} }
} }
...@@ -6,8 +6,13 @@ using System.Threading.Tasks; ...@@ -6,8 +6,13 @@ using System.Threading.Tasks;
namespace Assets.Scripts.Interface namespace Assets.Scripts.Interface
{ {
interface IInteractor public interface IInteractor
{ {
void OnInteract(); void OnInteract(IInteractable interactable);
void OnDisInteract(IInteractable interactable);
IGraber IsGraber
{
get;
}
} }
} }
fileFormatVersion: 2
guid: 28d090e32f2ee964db867d683e0efa36
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
...@@ -2,16 +2,12 @@ ...@@ -2,16 +2,12 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class LevelManager : MonoBehaviour public class Level1Manager : LevelManager
{ {
public double gamma;
public PlayerMovement player;
public bool winstate = false;
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
{ {
winstate = false;
} }
// Update is called once per frame // Update is called once per frame
......
fileFormatVersion: 2
guid: 85f33cc515852874d98f6c1e43799fe5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 863d3674af79b2d428796d1d39759169
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LevelManager : MonoBehaviour
{
public UIManager uiManager;
public double gamma;
public PlayerMovement player;
[SerializeField]
protected bool winstate = false;
// Start is called before the first frame update
void Start()
{
winstate = false;
}
// Update is called once per frame
void Update()
{
if (WinCondition())
{
WinState = true;
}
if (LoseCondition())
{
WinState = false;
}
}
protected virtual void OnWin()
{
uiManager.WinTextOn();
}
protected virtual void OnLose()
{
}
protected virtual bool LoseCondition()
{
return false;
}
protected virtual bool WinCondition()
{
return false;
}
public virtual bool WinState
{
set
{
if (value)
{
//if win
OnWin();
}
else
{
//if lose
OnLose();
}
}
}
}
fileFormatVersion: 2
guid: f16f22524f097944c8753aa297ecdb50
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
public class Clock : GrabableObject
{
public double starttime = 0.0f;
public Clock otherclock;
private new void Start()
{
base.Start();
time = starttime;
}
public override void OnCollisionStaychild(Collision collision)
{
base.OnCollisionStaychild(collision);
//Debug.Log("hit!");
//if(collision.transform.parent.name != "AnObject(Clone)")
// Debug.Log(collision.gameObject.name + " wow!");
if (collision.transform.parent != null)
{
var x = collision.transform.parent.gameObject.GetComponent(typeof(Clock)) as Clock;
if (x != null && x.Equals(otherclock))
{
Debug.Log("hit!");
if (Mathf.Abs((float)(otherclock.GetTime() - time)) <= 1.0f)
{
levelManager.WinState = true;
}
else
{
Debug.Log(Mathf.Abs((float)(otherclock.GetTime() - time)));
}
}
}
}
public double GetTime()
{
return time;
}
}
fileFormatVersion: 2
guid: 11c0c0a758005e0408c9a767ec478e97
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Assets.Scripts.Interface;
public class GrabableObject : InteractiveObject,IGrabable
{
protected bool toggle = false;
protected bool grabbed = false;
protected IGraber graber;
public override string InteractType
{
get
{
return "grab";
}
}
public bool IsGrabbed
{
get
{
return grabbed;
}
}
public void OnDisGrabbed(IGraber graber)
{
grabbed = false;
v = Vector3.zero;
}
public void OnGrabbed(IGraber graber)
{
grabbed = true;
}
public override void OnInteract(IInteractor interactor)
{
if (interactor.IsGraber != null)
{
graber = interactor.IsGraber;
if (!graber.IsGrab)
{
graber.OnGrab(this);
OnGrabbed(graber);
}
}
}
public override void OnDisInteract(IInteractor interactor)
{
if (interactor.IsGraber != null)
{
graber = interactor.IsGraber;
if (graber.IsGrab)
{
graber.OnDisGrab(this);
OnDisGrabbed(graber);
}
}
}
protected override void FixedUpdate()
{
if (grabbed)
{
v = graber.GraberV;
Debug.Log("being grabbed");
}
base.FixedUpdate();
}
}
...@@ -5,9 +5,12 @@ using MathNet.Numerics.LinearAlgebra; ...@@ -5,9 +5,12 @@ using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double;
using Assets.Scripts.Interface; using Assets.Scripts.Interface;
public class PlayerMovement : FlatlandMovement,IInteractor public class PlayerMovement : FlatlandMovement,IInteractor,IGraber
{ {
bool isinertial = true; bool isinertial = true;
bool isGrab = false;
bool isInteracting = false;
IInteractable interactiongObject;
public GameObject background; public GameObject background;
...@@ -18,7 +21,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -18,7 +21,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor
private Vector3 backgroundStartScale; private Vector3 backgroundStartScale;
// Start is called before the first frame update // Start is called before the first frame update
void Start() protected override void Start()
{ {
base.Start(); base.Start();
v = new Vector3(0.0f, 0.0f, 0.0f); v = new Vector3(0.0f, 0.0f, 0.0f);
...@@ -34,7 +37,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -34,7 +37,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor
} }
void Update() protected override void Update()
{ {
base.Update(); base.Update();
...@@ -50,10 +53,15 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -50,10 +53,15 @@ public class PlayerMovement : FlatlandMovement,IInteractor
} }
if (Input.GetKeyDown("g"))
{
Interact();
}
} }
// Update is called once per frame // Update is called once per frame
void FixedUpdate() protected override void FixedUpdate()
{ {
base.FixedUpdate(); base.FixedUpdate();
...@@ -168,16 +176,57 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -168,16 +176,57 @@ public class PlayerMovement : FlatlandMovement,IInteractor
time += Time.fixedDeltaTime; time += Time.fixedDeltaTime;
} }
public bool isInertial() public bool IsInertial
{
get
{ {
return isinertial; return isinertial;
} }
}
//interactor 구현
public void OnInteract() public void Interact()
{
if (isInteracting)
{
OnDisInteract(interactiongObject);
}
else
{
OnInteract(TryFindClosestInterativeObject());
}
}
public IGraber IsGraber
{
get
{
return this;
}
}
public void OnInteract(IInteractable interactable)
{
if(interactable == null)
{ {
return; return;
} }
interactiongObject = interactable;
interactable.OnInteract(this);
}
public void OnDisInteract(IInteractable interactable)
{
if (interactable == null)
{
return;
}
interactable.OnDisInteract(this);
}
//충돌
public override void OnCollisionEnterchild(Collision collision) public override void OnCollisionEnterchild(Collision collision)
{ {
base.OnCollisionEnterchild(collision); base.OnCollisionEnterchild(collision);
...@@ -187,7 +236,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -187,7 +236,7 @@ public class PlayerMovement : FlatlandMovement,IInteractor
if (x) if (x)
{ {
//상호작용가능한 물건일때 //상호작용가능한 물건일때
Debug.Log(x.InteractType); //Debug.Log(x.InteractType);
interactiveObjects.Add(x); interactiveObjects.Add(x);
//uiManager.InteractText = x.InteractType; //uiManager.InteractText = x.InteractType;
} }
...@@ -199,12 +248,12 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -199,12 +248,12 @@ public class PlayerMovement : FlatlandMovement,IInteractor
base.OnCollisionExitchild(collision); base.OnCollisionExitchild(collision);
if (collision.transform.parent != null) if (collision.transform.parent != null)
{ {
Debug.Log("Collision"); //Debug.Log("Collision");
InteractiveObject x = collision.transform.parent.gameObject.GetComponent<InteractiveObject>(); InteractiveObject x = collision.transform.parent.gameObject.GetComponent<InteractiveObject>();
if (x) if (x)
{ {
//상호작용가능한 물건일때 //상호작용가능한 물건일때
Debug.Log(x.InteractType); //Debug.Log(x.InteractType);
interactiveObjects.Remove(x); interactiveObjects.Remove(x);
//uiManager.InteractText = x.InteractType; //uiManager.InteractText = x.InteractType;
} }
...@@ -229,4 +278,34 @@ public class PlayerMovement : FlatlandMovement,IInteractor ...@@ -229,4 +278,34 @@ public class PlayerMovement : FlatlandMovement,IInteractor
return result; return result;
} }
//grab 구현
public void OnGrab(IGrabable grabed)
{
isGrab = true;
isInteracting = true;
}
public void OnDisGrab(IGrabable grabed)
{
isGrab = false;
isInteracting = false;
}
public Vector3 GraberV
{
get
{
return v;
}
}
public bool IsGrab
{
get
{
return isGrab;
}
}
} }
fileFormatVersion: 2
guid: 12f466c4445ac32479d78a72afc69462
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
...@@ -16,11 +16,6 @@ public class FlatlandMovement : MonoBehaviour ...@@ -16,11 +16,6 @@ public class FlatlandMovement : MonoBehaviour
protected CollisionType[] howToCollison; protected CollisionType[] howToCollison;
protected bool toggle = false;
protected bool grabbed = false;
protected int cnt = 0; protected int cnt = 0;
[SerializeField] [SerializeField]
...@@ -64,7 +59,7 @@ public class FlatlandMovement : MonoBehaviour ...@@ -64,7 +59,7 @@ public class FlatlandMovement : MonoBehaviour
public ObjectType ObjectType { get { return objectType; } } public ObjectType ObjectType { get { return objectType; } }
protected void Start() protected virtual void Start()
{ {
Physics.IgnoreLayerCollision(0, 1); Physics.IgnoreLayerCollision(0, 1);
startScale = theobject.transform.localScale; startScale = theobject.transform.localScale;
...@@ -83,6 +78,9 @@ public class FlatlandMovement : MonoBehaviour ...@@ -83,6 +78,9 @@ public class FlatlandMovement : MonoBehaviour
case PresetType.wall: case PresetType.wall:
howToCollison = CollisionPreset.Wall; howToCollison = CollisionPreset.Wall;
break; break;
case PresetType.clock:
howToCollison = CollisionPreset.Clock;
break;
case PresetType.etc: case PresetType.etc:
break; break;
default: default:
...@@ -90,7 +88,7 @@ public class FlatlandMovement : MonoBehaviour ...@@ -90,7 +88,7 @@ public class FlatlandMovement : MonoBehaviour
} }
} }
protected void FixedUpdate() protected virtual void FixedUpdate()
{ {
if (isAutoMove) if (isAutoMove)
{ {
...@@ -99,8 +97,8 @@ public class FlatlandMovement : MonoBehaviour ...@@ -99,8 +97,8 @@ public class FlatlandMovement : MonoBehaviour
if (SpaceLength(nowDest, transform.position) < 0.1f || SpaceInnerPorduct(nowDest - tmp, v) < 0) if (SpaceLength(nowDest, transform.position) < 0.1f || SpaceInnerPorduct(nowDest - tmp, v) < 0)
{ {
//목적지 근접 or 넘어가면 //목적지 근접 or 넘어가면
Debug.Log("dest" + nowDest); //Debug.Log("dest" + nowDest);
Debug.Log("position" + transform.position); //Debug.Log("position" + transform.position);
//넘어간만큼 보정. //넘어간만큼 보정.
//TODO : 좀더 엄밀하게 수정 필요. //TODO : 좀더 엄밀하게 수정 필요.
...@@ -128,7 +126,7 @@ public class FlatlandMovement : MonoBehaviour ...@@ -128,7 +126,7 @@ public class FlatlandMovement : MonoBehaviour
} }
} }
protected void Update() protected virtual void Update()
{ {
} }
...@@ -309,11 +307,11 @@ public class FlatlandMovement : MonoBehaviour ...@@ -309,11 +307,11 @@ public class FlatlandMovement : MonoBehaviour
private void NextMove() private void NextMove()
{ {
Debug.Log("a"+dests.Count); //Debug.Log("a"+dests.Count);
var dest = dests.Dequeue(); var dest = dests.Dequeue();
var vel = pathVelocitys.Dequeue(); var vel = pathVelocitys.Dequeue();
MoveToAbPosition(dest, vel); MoveToAbPosition(dest, vel);
Debug.Log("b"+dests.Count); //Debug.Log("b"+dests.Count);
if (isPatrol) if (isPatrol)
{ {
dests.Enqueue(dest); dests.Enqueue(dest);
...@@ -403,7 +401,7 @@ public class FlatlandMovement : MonoBehaviour ...@@ -403,7 +401,7 @@ public class FlatlandMovement : MonoBehaviour
StartCoroutine(_AcceleratetoConstantVelocityWithoutCorrection(finalcollisionforcedirection,(float)resultvbetamagnitude)); StartCoroutine(_AcceleratetoConstantVelocityWithoutCorrection(finalcollisionforcedirection,(float)resultvbetamagnitude));
Debug.Log(collisions.Count); //Debug.Log(collisions.Count);
} }
/// <summary> /// <summary>
/// 나갔을때 호출 /// 나갔을때 호출
......
...@@ -5,16 +5,11 @@ using Assets.Scripts.Interface; ...@@ -5,16 +5,11 @@ using Assets.Scripts.Interface;
public abstract class InteractiveObject : Planemovement, IInteractable public abstract class InteractiveObject : Planemovement, IInteractable
{ {
public virtual string InteractType public abstract string InteractType
{ {
get get;
{
return "grab";
}
} }
public virtual void OnInteract() public abstract void OnInteract(IInteractor interactor);
{ public abstract void OnDisInteract(IInteractor interactor);
return;
}
} }
...@@ -4,13 +4,10 @@ using UnityEngine; ...@@ -4,13 +4,10 @@ using UnityEngine;
using MathNet.Numerics.LinearAlgebra; using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.LinearAlgebra.Double; using MathNet.Numerics.LinearAlgebra.Double;
public class Planemovement : FlatlandMovement public abstract class Planemovement : FlatlandMovement
{ {
public double starttime = 0.0f;
public Planemovement otherclock;
new void Start()
void Start()
{ {
base.Start(); base.Start();
//Renderer r = theobject.GetComponent<Renderer>(); //Renderer r = theobject.GetComponent<Renderer>();
...@@ -19,7 +16,6 @@ public class Planemovement : FlatlandMovement ...@@ -19,7 +16,6 @@ public class Planemovement : FlatlandMovement
v = new Vector3(0.0f, 0.0f, 0.0f); v = new Vector3(0.0f, 0.0f, 0.0f);
//playergamma = 1.0f; //playergamma = 1.0f;
orientation = new Vector3(0.0f, 0.0f, 1.0f); orientation = new Vector3(0.0f, 0.0f, 1.0f);
time = starttime;
gamma = 1.0f; gamma = 1.0f;
} }
...@@ -30,7 +26,7 @@ public class Planemovement : FlatlandMovement ...@@ -30,7 +26,7 @@ public class Planemovement : FlatlandMovement
} }
// For physics calcs // For physics calcs
void FixedUpdate() protected override void FixedUpdate()
{ {
base.FixedUpdate(); base.FixedUpdate();
...@@ -47,26 +43,6 @@ public class Planemovement : FlatlandMovement ...@@ -47,26 +43,6 @@ public class Planemovement : FlatlandMovement
//alpha = 4 * Vector3.forward * Mathf.Cos(2 * Mathf.PI * cnt / 480) + 4 * Vector3.left * Mathf.Sin(2 * Mathf.PI * cnt / 480); //alpha = 4 * Vector3.forward * Mathf.Cos(2 * Mathf.PI * cnt / 480) + 4 * Vector3.left * Mathf.Sin(2 * Mathf.PI * cnt / 480);
if ((levelManager.player.transform.position - transform.position).magnitude < 1f)
{
toggle = true;
}
else
{
toggle = false;
}
if (toggle && Input.GetKeyDown("g"))
{
grabbed = !grabbed;
}
if (grabbed)
{
v = levelManager.player.v;
Debug.Log("being grabbed");
}
if (alpha.magnitude > 0.0f) if (alpha.magnitude > 0.0f)
{ {
...@@ -142,30 +118,4 @@ public class Planemovement : FlatlandMovement ...@@ -142,30 +118,4 @@ public class Planemovement : FlatlandMovement
time += Time.fixedDeltaTime * (float)(levelManager.player.gamma / gamma); time += Time.fixedDeltaTime * (float)(levelManager.player.gamma / gamma);
} }
public override void OnCollisionStaychild(Collision collision)
{
base.OnCollisionStaychild(collision);
//Debug.Log("hit!");
//if(collision.transform.parent.name != "AnObject(Clone)")
// Debug.Log(collision.gameObject.name + " wow!");
if (collision.transform.parent != null)
{
var x = collision.transform.parent.gameObject.GetComponent(typeof(Planemovement)) as Planemovement;
if (x != null && x.Equals(otherclock))
{
Debug.Log("hit!");
if (Mathf.Abs((float)(otherclock.GetTime() - time)) <= 1.0f)
{
levelManager.winstate = true;
}
}
}
}
public double GetTime()
{
return time;
}
} }
...@@ -54,7 +54,7 @@ public class PathRenderer : MonoBehaviour ...@@ -54,7 +54,7 @@ public class PathRenderer : MonoBehaviour
// Update is called once per frame // Update is called once per frame
void Update() void Update()
{ {
if (Input.GetMouseButtonDown(1) && levelManager.player.isInertial() && pathcreatable) if (Input.GetMouseButtonDown(1) && levelManager.player.IsInertial && pathcreatable)
{ {
RaycastHit hit1; RaycastHit hit1;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition); var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
......
...@@ -65,10 +65,6 @@ public class UIManager : MonoBehaviour ...@@ -65,10 +65,6 @@ public class UIManager : MonoBehaviour
mytime.text = levelManager.player.time.ToString() + " s"; mytime.text = levelManager.player.time.ToString() + " s";
//clock1time.text = clock1.GetTime().ToString() + " s"; //clock1time.text = clock1.GetTime().ToString() + " s";
//clock2time.text = clock2.GetTime().ToString() + " s"; //clock2time.text = clock2.GetTime().ToString() + " s";
if (levelManager.winstate)
{
wintext.gameObject.SetActive(true);
}
//마우스 클릭시 //마우스 클릭시
...@@ -180,6 +176,18 @@ public class UIManager : MonoBehaviour ...@@ -180,6 +176,18 @@ public class UIManager : MonoBehaviour
return new Vector3(v.x, v.z, 0.0f); return new Vector3(v.x, v.z, 0.0f);
} }
public void WinTextOn()
{
wintext.gameObject.SetActive(true);
wintext.GetComponent<Text>().text = "Clear!";
}
public void LoseTextOn()
{
wintext.gameObject.SetActive(true);
wintext.GetComponent<Text>().text = "Lose";
}
private void updatePathInfo(int pathNum) private void updatePathInfo(int pathNum)
{ {
pathName.text = "Path - " + pathNum; pathName.text = "Path - " + pathNum;
...@@ -268,7 +276,7 @@ public class UIManager : MonoBehaviour ...@@ -268,7 +276,7 @@ public class UIManager : MonoBehaviour
{ {
try try
{ {
if (levelManager.player.isInertial() && pathRenderer.pathcreatable) if (levelManager.player.IsInertial && pathRenderer.pathcreatable)
{ {
RaycastHit hit; RaycastHit hit;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition); var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment