Merge remote-tracking branch 'origin/main'

This commit is contained in:
IDMhan 2023-10-24 11:29:58 +09:00
commit 2a2f66f1e3
111 changed files with 1082 additions and 794 deletions

View File

@ -1160,6 +1160,37 @@ RectTransform:
type: 3}
m_PrefabInstance: {fileID: 2135365439}
m_PrefabAsset: {fileID: 0}
--- !u!1 &214533789
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 214533790}
m_Layer: 0
m_Name: ShootLocation
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &214533790
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 214533789}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0, y: 0.186, z: -0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1523920201}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &231861242
PrefabInstance:
m_ObjectHideFlags: 0
@ -2013,12 +2044,13 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 302959425}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actions: {fileID: 0}
m_Actions: {fileID: -944628639613478452, guid: 0acb404847404484198cbf94e6929af2,
type: 3}
m_NotificationBehavior: 0
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
@ -2033,7 +2065,7 @@ MonoBehaviour:
m_ActionEvents: []
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap:
m_DefaultActionMap: Player
m_SplitScreenIndex: -1
m_Camera: {fileID: 0}
--- !u!114 &302959429
@ -2369,6 +2401,7 @@ GameObject:
- component: {fileID: 334724476}
- component: {fileID: 334724475}
- component: {fileID: 334724473}
- component: {fileID: 334724480}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
@ -2529,13 +2562,27 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 334724472}
serializedVersion: 2
m_LocalRotation: {x: 0.5257311, y: -0.0000000149568, z: 0.000000009243812, w: 0.85065085}
m_LocalPosition: {x: 30.91, y: 22.217937, z: -37.73}
m_LocalRotation: {x: 0.56062883, y: -0.000000011532333, z: 0.0000000078077695, w: 0.82806724}
m_LocalPosition: {x: 30.91, y: 27.217937, z: -37.73}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &334724480
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 334724472}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 61ed6470f3bb917439bf4b213ebbed8a, type: 3}
m_Name:
m_EditorClassIdentifier:
_persistent: 0
inIslandCam: {fileID: 879331194}
--- !u!1 &335860775 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2718910014188824470, guid: 14871bcccb7cf4e1d81bb38ec7a3a4e0,
@ -2873,6 +2920,87 @@ Transform:
- {fileID: 302959423}
m_Father: {fileID: 971043561}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &393497260
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 393497261}
- component: {fileID: 393497263}
- component: {fileID: 393497262}
m_Layer: 5
m_Name: RestartPopUp
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &393497261
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 393497260}
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: 1236881601}
m_Father: {fileID: 1063731841}
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 &393497262
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 393497260}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a6e074aea35c9d74cbebeef6f096b12d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &393497263
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 393497260}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actions: {fileID: -944628639613478452, guid: 0acb404847404484198cbf94e6929af2,
type: 3}
m_NotificationBehavior: 0
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
m_PersistentCalls:
m_Calls: []
m_DeviceRegainedEvent:
m_PersistentCalls:
m_Calls: []
m_ControlsChangedEvent:
m_PersistentCalls:
m_Calls: []
m_ActionEvents: []
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap: Player
m_SplitScreenIndex: -1
m_Camera: {fileID: 0}
--- !u!1 &417739631
GameObject:
m_ObjectHideFlags: 0
@ -3155,7 +3283,7 @@ MonoBehaviour:
isDrawViewRange: 1
isDrawDefenseRange: 1
isDrawTargetRange: 1
<MaxHp>k__BackingField: 250
<MaxHp>k__BackingField: 50
<CurrentHp>k__BackingField: 0
<MoveSpd>k__BackingField: 5
<Atk>k__BackingField: 10
@ -3174,7 +3302,6 @@ MonoBehaviour:
<UseRigidbody>k__BackingField: 0
beAttacked: 0
isAttacking: 0
<CrewmateList>k__BackingField: []
--- !u!114 &418278343
MonoBehaviour:
m_ObjectHideFlags: 0
@ -3182,12 +3309,13 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 418278336}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actions: {fileID: 0}
m_Actions: {fileID: -944628639613478452, guid: 0acb404847404484198cbf94e6929af2,
type: 3}
m_NotificationBehavior: 0
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
@ -3202,7 +3330,7 @@ MonoBehaviour:
m_ActionEvents: []
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap:
m_DefaultActionMap: Player
m_SplitScreenIndex: -1
m_Camera: {fileID: 0}
--- !u!114 &418278344
@ -5933,14 +6061,14 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 879331193}
serializedVersion: 2
m_LocalRotation: {x: 0.5257311, y: -0.0000000149568, z: 0.000000009243812, w: 0.85065085}
m_LocalPosition: {x: 30.91, y: 22.217937, z: -37.73}
m_LocalRotation: {x: 0.56062883, y: -0.000000011532333, z: 0.0000000078077695, w: 0.82806724}
m_LocalPosition: {x: 30.91, y: 27.217937, z: -37.73}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1467753325}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_LocalEulerAnglesHint: {x: 63.41, y: 0, z: 0}
--- !u!1 &886612057
GameObject:
m_ObjectHideFlags: 0
@ -6811,20 +6939,21 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_persistent: 0
shipPlayer: {fileID: 0}
boats: []
<PlayerAction>k__BackingField: {fileID: -944628639613478452, guid: 0acb404847404484198cbf94e6929af2,
type: 3}
<IslandPlayerMode>k__BackingField: 1
<InIslandPlayerPrefab>k__BackingField: {fileID: 418278336}
<CrewmatePrefabList>k__BackingField:
- {fileID: 1362034959}
- {fileID: 302959427}
<CurrentCrewmateList>k__BackingField: []
<ShipPlayer>k__BackingField: {fileID: 0}
<InShipPlayer>k__BackingField: {fileID: 0}
slowSpeed: 0.1
<IsInShipMode>k__BackingField: 0
<IsDredgeMode>k__BackingField: 0
<IsTakeAim>k__BackingField: 0
<IsAssaultMode>k__BackingField: 0
<IsShipDeckMode>k__BackingField: 0
<IsConversation>k__BackingField: 0
<CurrentPlayerMode>k__BackingField: 0
--- !u!4 &971043561
Transform:
@ -7369,6 +7498,108 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 1054195006}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1063731837
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1063731841}
- component: {fileID: 1063731840}
- component: {fileID: 1063731839}
- component: {fileID: 1063731838}
m_Layer: 5
m_Name: OverlayCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1063731838
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063731837}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 2238015
--- !u!114 &1063731839
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063731837}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0.5
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1063731840
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063731837}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 334724478}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 0
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: -1197429611
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &1063731841
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1063731837}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 393497261}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &1068410569
GameObject:
m_ObjectHideFlags: 0
@ -7545,7 +7776,7 @@ GameObject:
- component: {fileID: 1104839424}
- component: {fileID: 1104839423}
m_Layer: 5
m_Name: UiCanvas
m_Name: WorldSpaceCanvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -8168,6 +8399,81 @@ NavMeshObstacle:
m_CarveOnlyStationary: 1
m_Center: {x: -0.09900001, y: 2.229, z: 0.049000002}
m_TimeToStationary: 0.5
--- !u!1 &1236881600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1236881601}
- component: {fileID: 1236881603}
- component: {fileID: 1236881602}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1236881601
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1236881600}
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: 393497261}
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 &1236881602
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1236881600}
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: 0, g: 0, b: 0, a: 0.5882353}
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: 0}
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 &1236881603
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1236881600}
m_CullTransparentMesh: 1
--- !u!1001 &1241095002
PrefabInstance:
m_ObjectHideFlags: 0
@ -9618,7 +9924,11 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 9033924121474021245, guid: f231da17ce5b9c84f91bf8ed73c2868e,
type: 3}
insertIndex: -1
addedObject: {fileID: 214533790}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 7216996033527228451, guid: f231da17ce5b9c84f91bf8ed73c2868e,
type: 3}
@ -9751,6 +10061,9 @@ MonoBehaviour:
<TargetLayer>k__BackingField:
serializedVersion: 2
m_Bits: 0
projectileObj: {fileID: 6365080210048648475, guid: d101d38de657e0b42aa2aea84f8590c7,
type: 3}
speed: 500
--- !u!114 &1362034960
MonoBehaviour:
m_ObjectHideFlags: 0
@ -9758,12 +10071,13 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1362034957}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Actions: {fileID: 0}
m_Actions: {fileID: -944628639613478452, guid: 0acb404847404484198cbf94e6929af2,
type: 3}
m_NotificationBehavior: 0
m_UIInputModule: {fileID: 0}
m_DeviceLostEvent:
@ -9778,7 +10092,7 @@ MonoBehaviour:
m_ActionEvents: []
m_NeverAutoSwitchControlSchemes: 0
m_DefaultControlScheme:
m_DefaultActionMap:
m_DefaultActionMap: Player
m_SplitScreenIndex: -1
m_Camera: {fileID: 0}
--- !u!114 &1362034961
@ -10490,7 +10804,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_BindingMode: 1
m_FollowOffset: {x: 0, y: 20, z: -10}
m_FollowOffset: {x: 0, y: 25, z: -10}
m_XDamping: 0
m_YDamping: 0
m_ZDamping: 0
@ -10896,6 +11210,12 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e1c4cc5b9a7d0d7479734ea4167d417e, type: 3}
--- !u!4 &1523920201 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 9033924121474021245, guid: f231da17ce5b9c84f91bf8ed73c2868e,
type: 3}
m_PrefabInstance: {fileID: 1362034954}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1533915118 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 2718910014188824470, guid: 14871bcccb7cf4e1d81bb38ec7a3a4e0,
@ -23692,6 +24012,7 @@ SceneRoots:
- {fileID: 879331195}
- {fileID: 269653247}
- {fileID: 1104839426}
- {fileID: 1063731841}
- {fileID: 971043561}
- {fileID: 1068410571}
- {fileID: 1805195289}

View File

@ -11,7 +11,7 @@ using UnityEngine.UI;
namespace BlueWaterProject
{
[RequireComponent(typeof(PlayerInput))]
public abstract class Crewmate : BaseCharacter, IDamageable, IAnimatorBridge, IAiView, INormalAttack
public abstract class Crewmate : BaseCharacter, IDamageable, IAnimatorBridge, IAiView, INormalAttack, IInIslandPlayer
{
#region Properties and variables
@ -93,17 +93,20 @@ namespace BlueWaterProject
[SerializeField] protected bool isAttacking;
// 일반 변수
protected Vector2 movementInput;
protected bool usedNormalAttackCoroutine;
protected WaitForSeconds waitAtkCooldown;
// 컴포넌트
protected Rigidbody rb;
public GameObject GameObject => gameObject;
public Transform Transform => transform;
public Rigidbody Rb { get; set; }
public Collider MyCollider { get; set; }
public NavMeshAgent Agent { get; set; }
private BehaviorTree bt;
private Transform unitRoot;
protected Animator myAnimator;
private Canvas uiCanvas;
private Canvas worldSpaceCanvas;
// Hash
protected static readonly int RunStateHash = Animator.StringToHash("RunState");
@ -129,7 +132,7 @@ namespace BlueWaterProject
{
base.Awake();
rb = GetComponent<Rigidbody>();
Rb = GetComponent<Rigidbody>();
MyCollider = GetComponent<Collider>();
Agent = GetComponent<NavMeshAgent>();
bt = GetComponent<BehaviorTree>();
@ -148,16 +151,16 @@ namespace BlueWaterProject
}
}
uiCanvas = GameObject.Find("UiCanvas")?.GetComponent<Canvas>();
if (uiCanvas == null)
worldSpaceCanvas = GameObject.Find("WorldSpaceCanvas")?.GetComponent<Canvas>();
if (worldSpaceCanvas == null)
{
print("uiCanvas를 찾을 수 없습니다.");
print("WorldSpaceCanvas 찾을 수 없습니다.");
}
else
{
if (useHpSlider)
{
hpSlider = Instantiate(hpSliderPrefab, uiCanvas.transform).GetComponent<Slider>();
hpSlider = Instantiate(hpSliderPrefab, worldSpaceCanvas.transform).GetComponent<Slider>();
hpSlider.gameObject.name = gameObject.name + " HpSlider";
hpSlider.transform.rotation = unitRoot.transform.rotation;
}
@ -180,15 +183,70 @@ namespace BlueWaterProject
protected override void Update()
{
if (useHpSlider)
switch (useHpSlider)
{
case true when CurrentHp > 0 && CurrentHp < MaxHp:
{
if (!hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(true);
}
var localOffset = unitRoot.TransformPoint(hpSliderOffset);
hpSlider.transform.position = localOffset;
break;
}
case true when CurrentHp <= 0 || CurrentHp >= MaxHp:
{
if (hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(false);
}
break;
}
}
if (CurrentHp <= 0) return;
if (GameManager.Inst.InIslandPlayer && GameManager.Inst.InIslandPlayer.UseRigidbody)
if (GameManager.Inst.CurrentInIslandPlayer.GameObject == gameObject)
{
// 움직이는 경우
if (movementInput.x != 0 || movementInput.y != 0)
{
// Rigidbody 사용
if (!UseRigidbody)
{
UseRigidbodyMovement();
}
if (!beAttacked)
{
myAnimator.SetFloat(RunStateHash, 0.5f);
}
}
// 멈춰있는 경우
else
{
// NavMeshAgent 사용
if (UseRigidbody)
{
UseAgentMovement();
}
if (Agent.velocity.x != 0 || Agent.velocity.z != 0)
{
myAnimator.SetFloat(RunStateHash, 0.5f);
}
else if (!beAttacked)
{
myAnimator.SetFloat(RunStateHash, 0f);
}
}
}
else
{
if (GameManager.Inst.CurrentInIslandPlayer.GameObject && GameManager.Inst.CurrentInIslandPlayer.UseRigidbody)
{
if (!UseRigidbody)
{
@ -200,7 +258,7 @@ namespace BlueWaterProject
myAnimator.SetFloat(RunStateHash, 0.5f);
}
}
else if (GameManager.Inst.InIslandPlayer && !GameManager.Inst.InIslandPlayer.UseRigidbody)
else if (GameManager.Inst.CurrentInIslandPlayer.GameObject && !GameManager.Inst.CurrentInIslandPlayer.UseRigidbody)
{
if (UseRigidbody)
{
@ -216,11 +274,12 @@ namespace BlueWaterProject
myAnimator.SetFloat(RunStateHash, 0f);
}
}
}
var localScale = transform.localScale;
if (UseRigidbody)
{
localScale.x = rb.velocity.x switch
localScale.x = Rb.velocity.x switch
{
> 0 => Mathf.Abs(localScale.x),
< 0 => -Mathf.Abs(localScale.x),
@ -265,9 +324,20 @@ namespace BlueWaterProject
// var movement = GameManager.Inst.InIslandPlayer.Rb.velocity * (MoveSpd / GameManager.Inst.InIslandPlayer.MoveSpd);
// rb.velocity = new Vector3(movement.x, 0, movement.z);
var predictedPos = GameManager.Inst.InIslandPlayer.Rb.position + GameManager.Inst.InIslandPlayer.Rb.velocity;
if (GameManager.Inst.CurrentInIslandPlayer.GameObject == gameObject)
{
var localMovement = new Vector3(movementInput.x, 0, movementInput.y);
var worldDirection = transform.TransformDirection(localMovement);
var movement = worldDirection * MoveSpd;
Rb.velocity = new Vector3(movement.x, 0, movement.z);
}
else
{
var predictedPos = GameManager.Inst.CurrentInIslandPlayer.Rb.position + GameManager.Inst.CurrentInIslandPlayer.Rb.velocity;
var moveDir = (predictedPos - transform.position).normalized;
rb.velocity = new Vector3(moveDir.x, 0, moveDir.z) * MoveSpd;
Rb.velocity = new Vector3(moveDir.x, 0, moveDir.z) * MoveSpd;
}
}
}
@ -309,10 +379,26 @@ namespace BlueWaterProject
}
else
{
rb.velocity = Vector3.zero;
Rb.isKinematic = true;
}
Agent.enabled = false;
if (GameManager.Inst.CurrentInIslandPlayer == (IInIslandPlayer)this)
{
foreach (var crewmate in GameManager.Inst.CurrentCrewmateList)
{
if (crewmate == null || !crewmate.gameObject.activeSelf || crewmate.CurrentHp <= 0) continue;
GameManager.Inst.SetCurrentInIslandPlayer(crewmate);
return;
}
// 게임 종료
var overlayCanvas = GameObject.Find("OverlayCanvas");
overlayCanvas.transform.Find("RestartPopUp").gameObject.SetActive(true);
return;
}
Destroy(hpSlider.gameObject, 2f);
Destroy(gameObject, 2f);
}
@ -415,24 +501,35 @@ namespace BlueWaterProject
#endregion
#region Player input system
public void OnMove(InputValue value)
{
if (CurrentHp <= 0) return;
movementInput = value.Get<Vector2>();
}
#endregion
#region Custom methods
private void UseRigidbodyMovement()
{
UseRigidbody = true;
rb.isKinematic = false;
Rb.isKinematic = false;
Agent.enabled = false;
}
private void UseAgentMovement()
{
UseRigidbody = false;
rb.isKinematic = true;
Rb.isKinematic = true;
Agent.enabled = true;
if (Target) return;
MoveTarget(GameManager.Inst.InIslandPlayer.transform.position, MoveSpd, GlobalValue.MAXIMUM_STOP_DISTANCE);
MoveTarget(GameManager.Inst.CurrentInIslandPlayer.Transform.position, MoveSpd, GlobalValue.MAXIMUM_STOP_DISTANCE);
}
private IEnumerator BeAttacked()

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using Sirenix.OdinInspector;
using UnityEngine;
// ReSharper disable once CheckNamespace
@ -8,6 +9,48 @@ namespace BlueWaterProject
[Serializable]
public class TenTen : Crewmate
{
#region Properties and variables
[Title("Weapon")]
[Required]
[SerializeField] private GameObject projectileObj;
[SerializeField] private float speed = 500f;
private Transform objectPoolLocation;
#endregion
#region Unity built-in methods
protected override void Start()
{
base.Start();
var objectPoolData = FindAnyObjectByType<ObjectPoolData>();
objectPoolLocation = objectPoolData.transform.Find("Objects/Daggers");
}
#endregion
#region Interface
// IAnimatorBridge
public override void AttackTiming()
{
if (!Target) return;
var myCenterPos = MyCollider.bounds.center;
var weapon = Instantiate(projectileObj, MyCollider.bounds.center, Quaternion.identity, objectPoolLocation).GetComponent<ObjectWeapon>();
weapon.transform.LookAt(Target.bounds.center);
weapon.SetPower(Atk);
weapon.GetComponent<Rigidbody>().AddForce(weapon.transform.forward * speed);
}
#endregion
#region Custom methods
protected override IEnumerator NormalAttackCoroutine()
{
usedNormalAttackCoroutine = true;
@ -29,5 +72,7 @@ namespace BlueWaterProject
yield return waitAtkCooldown;
usedNormalAttackCoroutine = false;
}
#endregion
}
}

View File

@ -106,7 +106,7 @@ namespace BlueWaterProject
protected BehaviorTree bt;
private Transform unitRoot;
protected Animator myAnimator;
private Canvas uiCanvas;
private Canvas worldSpaceCanvas;
// Hash
protected static readonly int RunStateHash = Animator.StringToHash("RunState");
@ -228,16 +228,16 @@ namespace BlueWaterProject
}
}
uiCanvas = GameObject.Find("UiCanvas")?.GetComponent<Canvas>();
if (uiCanvas == null)
worldSpaceCanvas = GameObject.Find("WorldSpaceCanvas")?.GetComponent<Canvas>();
if (worldSpaceCanvas == null)
{
print("uiCanvas를 찾을 수 없습니다.");
print("WorldSpaceCanvas 찾을 수 없습니다.");
}
else
{
if (useHpSlider)
{
hpSlider = Instantiate(hpSliderPrefab, uiCanvas.transform).GetComponent<Slider>();
hpSlider = Instantiate(hpSliderPrefab, worldSpaceCanvas.transform).GetComponent<Slider>();
hpSlider.gameObject.name = gameObject.name + " HpSlider";
hpSlider.transform.rotation = unitRoot.transform.rotation;
}
@ -261,10 +261,28 @@ namespace BlueWaterProject
protected override void Update()
{
if (useHpSlider)
switch (useHpSlider)
{
case true when CurrentHp > 0 && CurrentHp < MaxHp:
{
if (!hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(true);
}
var localOffset = unitRoot.TransformPoint(hpSliderOffset);
hpSlider.transform.position = localOffset;
break;
}
case true when CurrentHp <= 0 || CurrentHp >= MaxHp:
{
if (hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(false);
}
break;
}
}
}

View File

@ -1,9 +1,7 @@
using System;
using System.Collections;
using EpicToonFX;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.Pool;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
@ -14,8 +12,8 @@ namespace BlueWaterProject
#region Properties and variables
[Title("Weapon")]
[Required]
[SerializeField] private GameObject projectileObj;
[SerializeField] private Transform shootLocation;
[SerializeField] private float speed = 500f;
//private IObjectPool<WeaponParticle> weaponParticlePool;
@ -57,7 +55,7 @@ namespace BlueWaterProject
var targetDir = (Target.bounds.center - myCenterPos).normalized;
// targetLookRotation = Quaternion.LookRotation(targetDir);
var particleWeapon = Instantiate(projectileObj, shootLocation.transform.position, Quaternion.identity, objectPoolLocation).GetComponent<ParticleWeapon>();
var particleWeapon = Instantiate(projectileObj, MyCollider.bounds.center, Quaternion.identity, objectPoolLocation).GetComponent<ParticleWeapon>();
particleWeapon.transform.LookAt(Target.bounds.center);
particleWeapon.SetPower(Atk);
particleWeapon.GetComponent<Rigidbody>().AddForce(particleWeapon.transform.forward * speed);

View File

@ -1,6 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using BehaviorDesigner.Runtime;
using Sirenix.OdinInspector;
using UnityEngine;
@ -11,7 +10,7 @@ using UnityEngine.UI;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class InIslandPlayer : Player, IAnimatorBridge, IAiView, INormalAttack
public class InIslandPlayer : Player, IAnimatorBridge, IAiView, INormalAttack, IInIslandPlayer
{
#region Properties and variables
@ -89,22 +88,20 @@ namespace BlueWaterProject
[DisableIf("@true")]
[SerializeField] private bool isAttacking;
// Crewmate Data
[field: Title("Crewmate Data")]
[field: SerializeField] public List<Crewmate> CrewmateList { get; set; }
// 일반 변수
private bool usedNormalAttackCoroutine;
private WaitForSeconds waitAtkCooldown;
// 컴포넌트
public Rigidbody Rb { get; private set; }
public GameObject GameObject => gameObject;
public Transform Transform => transform;
public Rigidbody Rb { get; set; }
public Collider MyCollider { get; set; }
public NavMeshAgent Agent { get; set; }
private BehaviorTree bt;
private Transform unitRoot;
private Animator myAnimator;
private Canvas uiCanvas;
private Canvas worldSpaceCanvas;
// Hash
private static readonly int RunStateHash = Animator.StringToHash("RunState");
@ -181,16 +178,16 @@ namespace BlueWaterProject
}
}
uiCanvas = GameObject.Find("UiCanvas")?.GetComponent<Canvas>();
if (uiCanvas == null)
worldSpaceCanvas = GameObject.Find("WorldSpaceCanvas")?.GetComponent<Canvas>();
if (worldSpaceCanvas == null)
{
print("uiCanvas를 찾을 수 없습니다.");
print("WorldSpaceCanvas 찾을 수 없습니다.");
}
else
{
if (useHpSlider)
{
hpSlider = Instantiate(hpSliderPrefab, uiCanvas.transform).GetComponent<Slider>();
hpSlider = Instantiate(hpSliderPrefab, worldSpaceCanvas.transform).GetComponent<Slider>();
hpSlider.gameObject.name = gameObject.name + " HpSlider";
hpSlider.transform.rotation = unitRoot.transform.rotation;
}
@ -216,10 +213,28 @@ namespace BlueWaterProject
protected override void Update()
{
if (useHpSlider)
switch (useHpSlider)
{
case true when CurrentHp > 0 && CurrentHp < MaxHp:
{
if (!hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(true);
}
var localOffset = unitRoot.TransformPoint(hpSliderOffset);
hpSlider.transform.position = localOffset;
break;
}
case true when CurrentHp <= 0 || CurrentHp >= MaxHp:
{
if (hpSlider.gameObject.activeSelf)
{
hpSlider.gameObject.SetActive(false);
}
break;
}
}
if (CurrentHp <= 0) return;
@ -347,12 +362,38 @@ namespace BlueWaterProject
}
else
{
Rb.velocity = Vector3.zero;
Rb.isKinematic = true;
}
Agent.enabled = false;
Destroy(hpSlider.gameObject, 2f);
Destroy(gameObject, 2f);
var overlayCanvas = GameObject.Find("OverlayCanvas");
switch (GameManager.Inst.IslandPlayerMode)
{
case GlobalValue.InIslandPlayerMode.NONE:
print("IslandPlayerMode == none error.");
break;
case GlobalValue.InIslandPlayerMode.ONLY_PLAYER:
// 게임 종료
overlayCanvas.transform.Find("RestartPopUp").gameObject.SetActive(true);
return;
case GlobalValue.InIslandPlayerMode.CREWMATE:
foreach (var crewmate in GameManager.Inst.CurrentCrewmateList)
{
if (crewmate == null || !crewmate.gameObject.activeSelf || crewmate.CurrentHp <= 0) continue;
GameManager.Inst.SetCurrentInIslandPlayer(crewmate);
return;
}
// 게임 종료
overlayCanvas.transform.Find("RestartPopUp").gameObject.SetActive(true);
return;
default:
throw new ArgumentOutOfRangeException();
}
//Destroy(hpSlider.gameObject, 2f);
//Destroy(gameObject, 2f);
}
// IAnimatorBridge
@ -414,11 +455,7 @@ namespace BlueWaterProject
public override void OnMove(InputValue value)
{
if (CurrentHp <= 0)
{
Rb.velocity = Vector3.zero;
return;
}
if (CurrentHp <= 0) return;
base.OnMove(value);
}
@ -459,7 +496,7 @@ namespace BlueWaterProject
public void UseAgentMovement()
{
DefensePos = transform.position;
foreach (var crewmate in CrewmateList)
foreach (var crewmate in GameManager.Inst.CurrentCrewmateList)
{
crewmate.DefensePos = DefensePos;
}

View File

@ -1,10 +1,7 @@
using System.Collections.Generic;
using BlueWaterProject;
using Sirenix.OdinInspector;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
@ -12,22 +9,29 @@ namespace BlueWaterProject
[DefaultExecutionOrder(-1)]
public class GameManager : Singleton<GameManager>
{
[field: Title("Player")]
public ShipPlayer ShipPlayer { get; private set; }
[field: Required("BlueWater Player Input Action을 넣어주세요.")]
[field: SerializeField] public InputActionAsset PlayerAction { get; private set; }
public InShipPlayer InShipPlayer { get; private set; }
public InIslandPlayer InIslandPlayer { get; set; }
// 섬 안의 플레이어 모드 선택
[field: Title("InIsland Data")]
[field: SerializeField] public GlobalValue.InIslandPlayerMode IslandPlayerMode { get; private set; }
[field: Required("Viking Prefab을 넣어주세요.")]
[field: SerializeField] public GameObject InIslandPlayerPrefab { get; set; }
[field: SerializeField] public List<Crewmate> CrewmatePrefabList { get; set; }
[field: SerializeField] public GameObject InIslandPlayerPrefab { get; private set; }
[field: SerializeField] public List<Crewmate> CrewmatePrefabList { get; private set; }
[field: SerializeField] public List<Crewmate> CurrentCrewmateList { get; set; }
public IInIslandPlayer CurrentInIslandPlayer { get; set; }
// Player
[field: Title("Player")]
[field: SerializeField] public ShipPlayer ShipPlayer { get; private set; }
[field: SerializeField] public InShipPlayer InShipPlayer { get; private set; }
// Game Data
[Title("Game Data")]
[Range(0f, 1f)]
[SerializeField] private float slowSpeed = 0.1f;
private const string IN_ISLAND_PLAYER_NAME = "InIslandPlayer";
[Title("Game State")]
// Game State
[field: Title("Game State")]
[field: SerializeField] public bool IsInShipMode { get; set; }
[field: SerializeField] public bool IsDredgeMode { get; set; }
[field: SerializeField] public bool IsTakeAim { get; set; }
@ -64,6 +68,29 @@ namespace BlueWaterProject
Time.fixedDeltaTime = 0.02f;
}
public void SetCurrentInIslandPlayer(IInIslandPlayer inIslandPlayer)
{
PlayerInput currentPlayerInput;
if (CurrentInIslandPlayer != null)
{
currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
if (currentPlayerInput != null)
{
currentPlayerInput.enabled = false;
}
}
CurrentInIslandPlayer = inIslandPlayer;
InIslandCamera.Inst.SetTarget(inIslandPlayer.Transform);
currentPlayerInput = CurrentInIslandPlayer.Transform.GetComponent<PlayerInput>();
if (currentPlayerInput != null)
{
currentPlayerInput.enabled = true;
}
}
#region Player Mode State switch
public void SwitchDredgeMode(bool isOn)

View File

@ -0,0 +1,23 @@
using Cinemachine;
using Sirenix.OdinInspector;
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class InIslandCamera : Singleton<InIslandCamera>
{
[Required("InIslandCamera를 넣어주세요.")]
[SerializeField] private CinemachineVirtualCamera inIslandCam;
/// <summary>
/// LookAt target and follow target
/// </summary>
/// <param name="obj"></param>
public void SetTarget(Transform obj)
{
inIslandCam.LookAt = obj;
inIslandCam.Follow = obj;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 61ed6470f3bb917439bf4b213ebbed8a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,13 @@
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public interface IInIslandPlayer
{
GameObject GameObject { get; }
Transform Transform { get; }
Rigidbody Rb { get; set; }
bool UseRigidbody { get; set; }
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1ae9d1b8ef931b44d83cf4bd5b4ff7f1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -14,6 +14,7 @@ namespace BlueWaterProject
[Button("기본 설정")]
private void CreateDefaultSetting()
{
// Objects
var objects = transform.Find("Objects");
if (!objects)
{
@ -21,6 +22,15 @@ namespace BlueWaterProject
objects.transform.parent = transform;
}
var daggers = transform.Find("Daggers");
if (!daggers)
{
daggers = new GameObject("Daggers").transform;
daggers.transform.parent = objects;
}
// Particles
var particles = transform.Find("Particles");
if (!particles)
{

View File

@ -25,6 +25,7 @@ namespace BlueWaterProject
private GameObject spawnPositionObj;
private CinemachineVirtualCamera cinemachineVirtualCamera;
private Transform spawnLocation;
private string CrewmateIndexInfoMessage => $"0 ~ {GameManager.Inst.CrewmatePrefabList.Count - 1} 숫자를 입력해주세요.";
private const string PLAYER_NAME = "Player";
@ -47,6 +48,12 @@ namespace BlueWaterProject
return;
}
spawnLocation = GameObject.Find("Characters")?.transform;
if (spawnLocation == null)
{
spawnLocation = new GameObject("Characters").transform;
}
var currentSceneName = SceneManager.GetActiveScene().name;
if (currentSceneName != "02.Main")
{
@ -56,7 +63,7 @@ namespace BlueWaterProject
private void SpawnInIslandPlayer(Vector3 spawnPos, Quaternion spawnRotation)
{
var islandPlayer = Instantiate(GameManager.Inst.InIslandPlayerPrefab, spawnPos, spawnRotation);
var islandPlayer = Instantiate(GameManager.Inst.InIslandPlayerPrefab, spawnPos, spawnRotation, spawnLocation);
islandPlayer.name = IN_ISLAND_PLAYER_NAME;
islandPlayer.gameObject.SetActive(true);
@ -65,7 +72,6 @@ namespace BlueWaterProject
{
playerInput = islandPlayer.transform.AddComponent<PlayerInput>();
}
playerInput.actions = GameManager.Inst.PlayerAction;
var desiredActionMap = playerInput.actions.FindActionMap(PLAYER_NAME);
if (desiredActionMap == null)
@ -80,7 +86,8 @@ namespace BlueWaterProject
{
GameManager.Inst.ShipPlayer.GetComponent<PlayerInput>().enabled = false;
}
playerInput.SwitchCurrentActionMap(PLAYER_NAME);
playerInput.enabled = true;
var inIslandPlayer = islandPlayer.GetComponent<InIslandPlayer>();
if (inIslandPlayer == null)
@ -90,17 +97,16 @@ namespace BlueWaterProject
inIslandPlayer.UseAgentMovement();
cinemachineVirtualCamera.Follow = islandPlayer.transform;
cinemachineVirtualCamera.LookAt = islandPlayer.transform;
InIslandCamera.Inst.SetTarget(islandPlayer.transform);
GameManager.Inst.InIslandPlayer = inIslandPlayer;
GameManager.Inst.SetCurrentInIslandPlayer(inIslandPlayer);
}
[DisableIf("@crewmateIndex >= GameManager.Inst.CrewmatePrefabList.Count || crewmateIndex < 0")]
[Button("Crewmate 추가")]
private void AddCrewmate()
{
if (!GameManager.Inst.InIslandPlayer) return;
if (!GameManager.Inst.CurrentInIslandPlayer.GameObject) return;
if (crewmateIndex >= GameManager.Inst.CrewmatePrefabList.Count || crewmateIndex < 0)
{
@ -111,7 +117,7 @@ namespace BlueWaterProject
for (var i = 0; i < 50; i++)
{
var randomDirection = new Vector3(Random.Range(-1f, 1f), 0, Random.Range(-1f, 1f)).normalized;
var spawnPos = GameManager.Inst.InIslandPlayer.transform.position + (randomDirection * instantiationDistance);
var spawnPos = GameManager.Inst.CurrentInIslandPlayer.Transform.position + (randomDirection * instantiationDistance);
Array.Clear(colliders, 0, MAX_COLLIDER);
var size = Physics.OverlapSphereNonAlloc(spawnPos, checkRadius, colliders, checkLayer);
@ -119,10 +125,10 @@ namespace BlueWaterProject
if (size != 0) continue;
var crewmate = Instantiate(GameManager.Inst.CrewmatePrefabList[crewmateIndex], spawnPos,
GameManager.Inst.CrewmatePrefabList[crewmateIndex].transform.rotation);
GameManager.Inst.CrewmatePrefabList[crewmateIndex].transform.rotation, spawnLocation);
crewmate.gameObject.SetActive(true);
GameManager.Inst.InIslandPlayer.CrewmateList.Add(crewmate);
GameManager.Inst.CurrentCrewmateList.Add(crewmate);
return;
}

View File

@ -0,0 +1,17 @@
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class RestartPopupUi : MonoBehaviour
{
private void OnInteraction(InputValue value)
{
var currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
SceneManager.LoadScene(currentSceneIndex);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a6e074aea35c9d74cbebeef6f096b12d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -47,5 +47,12 @@ namespace BlueWaterProject
TAKE_AIM,
IN_SHIP
}
public enum InIslandPlayerMode
{
NONE = -1,
ONLY_PLAYER,
CREWMATE
}
}
}

View File

@ -0,0 +1,70 @@
using System.Collections;
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class ObjectWeapon : MonoBehaviour
{
[SerializeField] private LayerMask targetLayer;
[SerializeField] private float power;
[SerializeField] private float autoDestroyTime = 3f;
private Rigidbody rb;
private SphereCollider sphereCollider;
private WaitForSeconds waitForSeconds;
private void Awake()
{
rb = GetComponent<Rigidbody>();
sphereCollider = GetComponent<SphereCollider>();
waitForSeconds = new WaitForSeconds(autoDestroyTime);
}
private void OnDestroy()
{
StopAllCoroutines();
}
private void Start()
{
StartCoroutine(nameof(AutoDestroy));
}
private void FixedUpdate()
{
// if (rb.velocity.magnitude != 0)
// {
// transform.rotation = Quaternion.LookRotation(rb.velocity); // Sets rotation to look at direction of movement
// }
var direction = rb.velocity; // Gets the direction of the projectile, used for collision detection
if (rb.useGravity)
direction += Physics.gravity * Time.deltaTime; // Accounts for gravity if enabled
direction = direction.normalized;
var detectionDistance = rb.velocity.magnitude * Time.deltaTime; // Distance of collision detection for this frame
if (Physics.SphereCast(transform.position, sphereCollider.radius, direction, out var hit, detectionDistance, targetLayer)) // Checks if collision will happen
{
transform.position = hit.point + (hit.normal); // Move projectile to point of collision
Destroy(gameObject); // Removes the projectile
hit.transform.GetComponent<IDamageable>()?.TakeDamage(power);
}
}
private IEnumerator AutoDestroy()
{
yield return waitForSeconds;
if (gameObject != null)
{
Destroy(gameObject);
}
}
public void SetPower(float value) => power = value;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ce67f7a5af7e8364182e3563a56ad079
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,3 +1,5 @@
using System;
using System.Collections;
using UnityEngine;
// ReSharper disable once CheckNamespace
@ -15,18 +17,39 @@ namespace BlueWaterProject
[SerializeField] private LayerMask targetLayer;
[SerializeField] private float power;
[SerializeField] private float autoDestroyTime = 5f;
private float detectionDistance;
private Rigidbody rb;
private SphereCollider sphereCollider;
private WaitForSeconds waitForSeconds;
private void OnDrawGizmosSelected()
{
var radius = sphereCollider ? sphereCollider.radius : colliderRadius;
var direction = rb ? rb.velocity.normalized : transform.forward;
Gizmos.color = Color.red;
Gizmos.DrawWireSphere(transform.position, radius); // Draws the start sphere
Gizmos.DrawLine(transform.position, transform.position + direction * detectionDistance); // Draws the path of the SphereCast
}
private void Awake()
{
rb = GetComponent<Rigidbody>();
sphereCollider = GetComponent<SphereCollider>();
waitForSeconds = new WaitForSeconds(autoDestroyTime);
}
private void OnDestroy()
{
StopAllCoroutines();
}
private void Start()
{
StartCoroutine(nameof(AutoDestroy));
projectileParticle = Instantiate(projectileParticle, transform.position, transform.rotation, transform) as GameObject;
projectileParticle.transform.parent = transform;
if (muzzleParticle)
@ -54,7 +77,7 @@ namespace BlueWaterProject
direction += Physics.gravity * Time.deltaTime; // Accounts for gravity if enabled
direction = direction.normalized;
var detectionDistance = rb.velocity.magnitude * Time.deltaTime; // Distance of collision detection for this frame
detectionDistance = rb.velocity.magnitude * Time.deltaTime; // Distance of collision detection for this frame
if (Physics.SphereCast(transform.position, radius, direction, out var hit, detectionDistance, targetLayer)) // Checks if collision will happen
{
@ -83,6 +106,16 @@ namespace BlueWaterProject
}
}
private IEnumerator AutoDestroy()
{
yield return waitForSeconds;
if (gameObject != null)
{
Destroy(gameObject);
}
}
public void SetPower(float value) => power = value;
}
}

View File

@ -61,12 +61,12 @@ PrefabInstance:
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_LocalScale.x
value: 0.002
value: 0.001
objectReference: {fileID: 0}
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_LocalScale.y
value: 0.01
value: 0.005
objectReference: {fileID: 0}
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
@ -146,17 +146,17 @@ PrefabInstance:
- target: {fileID: 1525762082425720460, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_Color.b
value: 0.20392157
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1525762082425720460, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_Color.g
value: 0.17254902
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1525762082425720460, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_Color.r
value: 0.5647059
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1525762082425720563, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}

View File

@ -61,12 +61,12 @@ PrefabInstance:
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_LocalScale.x
value: 0.002
value: 0.001
objectReference: {fileID: 0}
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}
propertyPath: m_LocalScale.y
value: 0.01
value: 0.005
objectReference: {fileID: 0}
- target: {fileID: 1525762081838968275, guid: bb4f1e43ee7824c8e8009facee710768,
type: 3}

View File

@ -0,0 +1,186 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4974917693782220124
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4687260148761221251}
- component: {fileID: 2067129615080396003}
m_Layer: 0
m_Name: VisualLook
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4687260148761221251
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4974917693782220124}
serializedVersion: 2
m_LocalRotation: {x: 0.86602545, y: 0, z: 0, w: 0.49999994}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 2, z: 2}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 2677528810302803348}
m_LocalEulerAnglesHint: {x: 120, y: 0, z: 0}
--- !u!212 &2067129615080396003
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4974917693782220124}
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_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
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_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 522cef2ef8d6a4da395354c0f0e34690, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.1875, y: 0.46875}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6365080210048648475
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2677528810302803348}
- component: {fileID: 1253731450221583048}
- component: {fileID: 1659185759454902698}
- component: {fileID: 5784756153569027963}
m_Layer: 0
m_Name: Dagger
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2677528810302803348
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6365080210048648475}
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: 1
m_Children:
- {fileID: 4687260148761221251}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!135 &1253731450221583048
SphereCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6365080210048648475}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Radius: 0.3
m_Center: {x: 0.02, y: 0, z: 0.25}
--- !u!54 &1659185759454902698
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6365080210048648475}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &5784756153569027963
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6365080210048648475}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce67f7a5af7e8364182e3563a56ad079, type: 3}
m_Name:
m_EditorClassIdentifier:
targetLayer:
serializedVersion: 2
m_Bits: 8192
power: 0
autoDestroyTime: 3

View File

@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 560a88da2bbc70140bed167f0ba7fe37
DefaultImporter:
guid: d101d38de657e0b42aa2aea84f8590c7
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:

View File

@ -28,7 +28,7 @@ Transform:
m_GameObject: {fileID: 128572}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 8.313633, y: 5.892903, z: -13.319157}
m_LocalPosition: {x: 8.638, y: 5.892903, z: -13.319157}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@ -106,3 +106,4 @@ MonoBehaviour:
serializedVersion: 2
m_Bits: 1536
power: 0
autoDestroyTime: 3

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: fb01be13d6e88ca488dda82150319bfc
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 117dcc671050f5247bd8743b91ecaab7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 4d9b575363cdb56408d92f7d7f0e5216
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 171c5051d845c4545a6679cdcb9e8290
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: e381f1e638a8aec4dbd9a7be673b56e2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 01db744855bbae74481522d48fd63008
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: e5f625ae60b99fe4ab78d44cfb58ce5a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: b606e558541a7b14593ea370c1a31da1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: c13a7e89fcc1f5544b4debda9d682854
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 9d6eeb26838ae2140a98c7b012c07610
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 46615cbdbe482664aaf8d3fe2af274c8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 92b78aa6c7b02924c907a69383e7722f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 169dbd692ce7b8a4083e3e77421ce8d0
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 9a785472f49cbc0419f4e80050360f8a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: acc7135a62c70bb40bfd196dcc0dbf58
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 43b92591c923d1543bc95a9b89918a6c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 4c1d290c89eb9a146a0c3fc3c5d97639
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 79d6a8f7106f5a949afdf0f9fce6e5c9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 5db5e6540b70aa44a8b8f0be7cbc03a4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: b81586c5bf3938042babe319ccb6b693
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 29400b82342c15b44bebd36e5f253c7a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: e3dca3dc2724503479b532ec6f801f2f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 5a3da110bff34d54eb93d1c3c7755741
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 590bfaf71ac68024e96342bd38a2e799
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 89c6283ed4a7a914db4ed32d9fe4be1b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2133c1709cbeab043b2c0d4a09f8c560
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 61a9883a71fe42f4cb3a2538927c5b54
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 107656dc7c8decd4b98ddacdb4c63d9c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 69578b34b0b99fd408db1f26e709204b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 890975c726da4f447a9fdbb24e0ac5a6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 1977e46ddf171054ba06e70c3a17b562
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d04dae1efd4c20f42801fa99bfb48c71
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: f48e38a1694a4a94ba7bfa99b5bb8da7
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: a760ee77bdfe6fc4fbfeb4e74d81e9ee
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 7ac1fca502db8634ca8a220957ce0efe
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 03276c81a3b7e1f4f8b9a2c42d29ccb5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 4c2fe1e05f53ce540a7e6629e37e62ba
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 41dc081f41d06ad4cb3a976e3bc784ff
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 7224afe475473f5479a4be84354c0ffe
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 6566ea9453ea9a54c8adda4ce157bfe5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 8a6eaa4e4e356664da332e906c4116ca
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d78d339535406c443be8ab962fe3faed
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 6556a12f622b9f84a87c93e43a05c57a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 7adde0d8ab9d11c4f8958df473963096
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2e0d514b37da90b43aca77d71d4ea274
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: f73b81d6a28009a4d8a6cfa24e4f6670
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 14eb0de10b56d7d48aa47c34c085763a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: bab8f8e2fd66cc94eb0381c12da4f8a1
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 853d51cc63a44614b8aa108c20970d53
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 0acaab50ea80e2740907f9fb8e96d5cb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 00d3be9741969ee4abb41a0d36893d12
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: a84c2fae02ab66e4bb10f4b632b4e59f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: ff46b33770bc0e04da5553db516b2791
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d4762985b08cf424d8a389bd106e9c41
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 82f4200e470c7a2459f54ef829fd130b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 8f7926653749bc042b66acaf162cb653
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d8244e47333fea34cabbe75f30b489cd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: a60eb26401f5d2e40a3f8ad3a0cdd2ae
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d20f46daec1cff04b8767c37cbc64dfd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 1e0bc8e64ca5a204ab01fcb065ad3ea4
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 0439b345dc19afc4e9e38a45964c21d2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2f034bb78093baf41a5b14693eefb6ba
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 37a76039173f99b4fac971349e64b845
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 12f5d0647e98dad4cba5773dbfe617ee
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: cfa06a72ad668b64e84eb67a6653c27a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 5f372c15f48325e4da788631806fbd37
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d48ea718ba1476a4baa5cd9e66f6ed78
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 21b40e7d71233864788700238fab175d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 44688b79fc3aa6a44b5c47a92a453722
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: c6b5601000159b44594b95b58dc95e5e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 1f67bb1f7a0ccac4bacceb5680482ca2
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d418d21b145ca9e4289690cca70d800d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: ba01c8813d9d8e645a60034600445394
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 373fa280b9df46f45901d7ac3fea3beb
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: d0b0bdbd9366c9e4fba085f618ca54ba
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: c59e446cf466a424daed6859d731bc80
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Some files were not shown because too many files have changed in this diff Show More