Closed #30 Enemy targeting and fire to canon

This commit is contained in:
M1_IDMhan 2023-09-12 14:37:15 +09:00
parent 1a2f374fb5
commit 6cc19dfcef
13 changed files with 10289 additions and 143 deletions

View File

@ -15,7 +15,7 @@ RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 1
m_FogColor: {r: 0.9245283, g: 0.9245283, b: 0.9245283, a: 1}
m_FogColor: {r: 0.7989498, g: 0.8867924, b: 0.88501716, a: 1}
m_FogMode: 3
m_FogDensity: 0.007
m_LinearFogStart: 0
@ -26,7 +26,7 @@ RenderSettings:
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 2100000, guid: 2c308a3b06c530748acc49e5e317ee58, type: 2}
m_SkyboxMaterial: {fileID: 2100000, guid: 7fece7608763947d9ba913243fda1296, type: 2}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.0001178843, g: 0.006532992, b: 0.05024724, a: 1}
m_IndirectSpecularColor: {r: 0.7008067, g: 0.7856396, b: 0.82016647, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &4
LightmapSettings:
@ -13934,6 +13934,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 9180a011ac08440f89deb0b7aa2820f2, type: 3}
- {fileID: 21300000, guid: 9180a011ac08440f89deb0b7aa2820f2, type: 3}
cursorTexture: {fileID: 2800000, guid: 3a146044a282641d99ba04c33b8c2bbf, type: 3}
enemyMarker: {fileID: 21300000, guid: c617a5b08493842c3833527a458fd612, type: 3}
--- !u!4 &107190135
Transform:
m_ObjectHideFlags: 0
@ -16806,7 +16807,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 200595900}
m_TransformParent: {fileID: 1140805708}
m_Modifications:
- target: {fileID: 2615590723695262313, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3}
@ -16826,17 +16827,17 @@ PrefabInstance:
- target: {fileID: 2615590723695262313, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3}
propertyPath: m_LocalPosition.x
value: 61.866997
value: 32.237
objectReference: {fileID: 0}
- target: {fileID: 2615590723695262313, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3}
propertyPath: m_LocalPosition.y
value: 15.52
value: 20.53
objectReference: {fileID: 0}
- target: {fileID: 2615590723695262313, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3}
propertyPath: m_LocalPosition.z
value: -162.25
value: -102.79
objectReference: {fileID: 0}
- target: {fileID: 2615590723695262313, guid: fbe5f9d69cf27974fa4899b0bcf542c8,
type: 3}
@ -27313,10 +27314,6 @@ Transform:
- {fileID: 1565898989}
- {fileID: 834917485}
- {fileID: 1912080424}
- {fileID: 1010297106}
- {fileID: 1344744312}
- {fileID: 1274110287}
- {fileID: 1747236060}
- {fileID: 534668366}
- {fileID: 1148974803}
- {fileID: 1019471549}
@ -62443,7 +62440,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 200595900}
m_TransformParent: {fileID: 1140805708}
m_Modifications:
- target: {fileID: 8555732528907214649, guid: 0fb8c5f1ef56d8449a3945a5d886c1b9,
type: 3}
@ -62463,17 +62460,17 @@ PrefabInstance:
- target: {fileID: 8555732528907214649, guid: 0fb8c5f1ef56d8449a3945a5d886c1b9,
type: 3}
propertyPath: m_LocalPosition.x
value: -7.08
value: -36.71
objectReference: {fileID: 0}
- target: {fileID: 8555732528907214649, guid: 0fb8c5f1ef56d8449a3945a5d886c1b9,
type: 3}
propertyPath: m_LocalPosition.y
value: -7.27
value: -2.2599998
objectReference: {fileID: 0}
- target: {fileID: 8555732528907214649, guid: 0fb8c5f1ef56d8449a3945a5d886c1b9,
type: 3}
propertyPath: m_LocalPosition.z
value: -107.48
value: -48.020004
objectReference: {fileID: 0}
- target: {fileID: 8555732528907214649, guid: 0fb8c5f1ef56d8449a3945a5d886c1b9,
type: 3}
@ -75398,6 +75395,7 @@ MonoBehaviour:
launchPoint: {fileID: 1554815066}
timeOfFlight: 1
predictedPos: {fileID: 1287417561}
<Canons>k__BackingField: []
--- !u!114 &476261172
MonoBehaviour:
m_ObjectHideFlags: 0
@ -96893,49 +96891,6 @@ SkinnedMeshRenderer:
m_Center: {x: -2.6278043, y: -0.0457796, z: -0.0107373}
m_Extent: {x: 2.9271088, y: 0.21452628, z: 1.4139687}
m_DirtyAABB: 0
--- !u!1 &619366757 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 4836829392273355565, guid: 8c9e74631c8994b8cb728cde8efae49a,
type: 3}
m_PrefabInstance: {fileID: 2685185313231177978}
m_PrefabAsset: {fileID: 0}
--- !u!114 &619366760
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619366757}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3e8c36fe9172849798f9c4fd87b77ec7, type: 3}
m_Name:
m_EditorClassIdentifier:
power: 0
reloadTime: 1
radarTargetUI: {fileID: 0}
projectilePrefab: {fileID: 0}
launchPoint: {fileID: 0}
timeOfFlight: 1
predictedPos: {fileID: 1287417561}
--- !u!1183024399 &619366763
LookAtConstraint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619366757}
m_Enabled: 1
serializedVersion: 2
m_Weight: 1
m_RotationAtRest: {x: 0, y: 0, z: 0}
m_RotationOffset: {x: 0, y: 0, z: 0}
m_Roll: 0
m_WorldUpObject: {fileID: 0}
m_UseUpObject: 0
m_Active: 1
m_IsLocked: 0
m_Sources: []
--- !u!1 &619911013
GameObject:
m_ObjectHideFlags: 0
@ -99250,7 +99205,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 200595900}
m_TransformParent: {fileID: 1140805708}
m_Modifications:
- target: {fileID: 6209097434605892902, guid: a003617243f099842ac3523a93f80e28,
type: 3}
@ -99260,17 +99215,17 @@ PrefabInstance:
- target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28,
type: 3}
propertyPath: m_LocalPosition.x
value: 42.6
value: 12.969999
objectReference: {fileID: 0}
- target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28,
type: 3}
propertyPath: m_LocalPosition.y
value: 7.38
value: 12.39
objectReference: {fileID: 0}
- target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28,
type: 3}
propertyPath: m_LocalPosition.z
value: -150.79999
value: -91.33999
objectReference: {fileID: 0}
- target: {fileID: 6728647862244700060, guid: a003617243f099842ac3523a93f80e28,
type: 3}
@ -174825,7 +174780,11 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 1010297106}
- {fileID: 1344744312}
- {fileID: 1274110287}
- {fileID: 1747236060}
m_Father: {fileID: 888439616}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1141075561
@ -181268,6 +181227,7 @@ MonoBehaviour:
launchPoint: {fileID: 0}
timeOfFlight: 0
predictedPos: {fileID: 0}
<Canons>k__BackingField: []
--- !u!114 &1181634886
MonoBehaviour:
m_ObjectHideFlags: 0
@ -220162,7 +220122,7 @@ PrefabInstance:
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 200595900}
m_TransformParent: {fileID: 1140805708}
m_Modifications:
- target: {fileID: 176149940216585557, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3}
@ -220172,17 +220132,17 @@ PrefabInstance:
- target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3}
propertyPath: m_LocalPosition.x
value: 67.01
value: 37.380005
objectReference: {fileID: 0}
- target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3}
propertyPath: m_LocalPosition.y
value: 7.37
value: 12.38
objectReference: {fileID: 0}
- target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3}
propertyPath: m_LocalPosition.z
value: -184.48999
value: -125.02999
objectReference: {fileID: 0}
- target: {fileID: 664878819238250479, guid: 726da43882bc7cf4794b6164bb2acaa5,
type: 3}
@ -234903,6 +234863,81 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1480710945}
m_Mesh: {fileID: 4300956, guid: 02ded044b8e0963439276550f50be6f9, type: 3}
--- !u!1 &1481322035
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1481322036}
- component: {fileID: 1481322038}
- component: {fileID: 1481322037}
m_Layer: 5
m_Name: EnemyMarker
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1481322036
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1481322035}
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: 2105062291}
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: 10000}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1481322037
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1481322035}
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: 0, b: 0, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 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 &1481322038
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1481322035}
m_CullTransparentMesh: 1
--- !u!1 &1481566159
GameObject:
m_ObjectHideFlags: 0
@ -289256,7 +289291,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1871370245}
serializedVersion: 2
m_LocalRotation: {x: 0.67640686, y: -0.0000002980232, z: 0.0000002980232, w: 0.7365283}
m_LocalRotation: {x: 0.6764068, y: -0, z: -0, w: 0.7365283}
m_LocalPosition: {x: -0.0000002384187, y: 120, z: -10.000001}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
@ -323141,6 +323176,7 @@ RectTransform:
- {fileID: 332484089}
- {fileID: 496180836}
- {fileID: 528771113367838932}
- {fileID: 1481322036}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -329141,19 +329177,15 @@ PrefabInstance:
propertyPath: m_Name
value: SM_Prop_Cannon_01 (3)
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 2556788256821959539, guid: 8c9e74631c8994b8cb728cde8efae49a, type: 3}
- target: {fileID: 7810505435716704953, guid: 8c9e74631c8994b8cb728cde8efae49a,
type: 3}
propertyPath: predictedPos
value:
objectReference: {fileID: 1287417561}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 4836829392273355565, guid: 8c9e74631c8994b8cb728cde8efae49a,
type: 3}
insertIndex: -1
addedObject: {fileID: 619366760}
- targetCorrespondingSourceObject: {fileID: 4836829392273355565, guid: 8c9e74631c8994b8cb728cde8efae49a,
type: 3}
insertIndex: -1
addedObject: {fileID: 619366763}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8c9e74631c8994b8cb728cde8efae49a, type: 3}
--- !u!1 &3000142793521421624
GameObject:
@ -329170,7 +329202,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!222 &4145116082927252014
CanvasRenderer:
m_ObjectHideFlags: 0

View File

@ -89,6 +89,24 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
""processors"": """",
""interactions"": """",
""initialStateCheck"": false
},
{
""name"": ""Targeting"",
""type"": ""Button"",
""id"": ""bb26b6ad-feae-49d8-a4d8-3633bcabfcab"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": ""Tap"",
""initialStateCheck"": false
},
{
""name"": ""TargetingHold"",
""type"": ""Button"",
""id"": ""c3e552b9-a9be-4d38-8cde-27cc60f7888f"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": ""Hold(duration=1)"",
""initialStateCheck"": false
}
],
""bindings"": [
@ -212,6 +230,28 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
""action"": ""InteractionE"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""671ada78-e8be-4dcf-80af-2c4468d01253"",
""path"": ""<Keyboard>/q"",
""interactions"": """",
""processors"": """",
""groups"": ""Keyboard"",
""action"": ""Targeting"",
""isComposite"": false,
""isPartOfComposite"": false
},
{
""name"": """",
""id"": ""d05dfab0-611f-4f60-b424-f14d98636c55"",
""path"": ""<Keyboard>/q"",
""interactions"": """",
""processors"": """",
""groups"": ""Keyboard"",
""action"": ""TargetingHold"",
""isComposite"": false,
""isPartOfComposite"": false
}
]
},
@ -351,6 +391,8 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
m_Player_Zkey = m_Player.FindAction("Zkey", throwIfNotFound: true);
m_Player_TakeAim = m_Player.FindAction("TakeAim", throwIfNotFound: true);
m_Player_InteractionE = m_Player.FindAction("InteractionE", throwIfNotFound: true);
m_Player_Targeting = m_Player.FindAction("Targeting", throwIfNotFound: true);
m_Player_TargetingHold = m_Player.FindAction("TargetingHold", throwIfNotFound: true);
// Camera
m_Camera = asset.FindActionMap("Camera", throwIfNotFound: true);
m_Camera_Zoom = m_Camera.FindAction("Zoom", throwIfNotFound: true);
@ -427,6 +469,8 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
private readonly InputAction m_Player_Zkey;
private readonly InputAction m_Player_TakeAim;
private readonly InputAction m_Player_InteractionE;
private readonly InputAction m_Player_Targeting;
private readonly InputAction m_Player_TargetingHold;
public struct PlayerActions
{
private @BlueWater m_Wrapper;
@ -438,6 +482,8 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
public InputAction @Zkey => m_Wrapper.m_Player_Zkey;
public InputAction @TakeAim => m_Wrapper.m_Player_TakeAim;
public InputAction @InteractionE => m_Wrapper.m_Player_InteractionE;
public InputAction @Targeting => m_Wrapper.m_Player_Targeting;
public InputAction @TargetingHold => m_Wrapper.m_Player_TargetingHold;
public InputActionMap Get() { return m_Wrapper.m_Player; }
public void Enable() { Get().Enable(); }
public void Disable() { Get().Disable(); }
@ -468,6 +514,12 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
@InteractionE.started += instance.OnInteractionE;
@InteractionE.performed += instance.OnInteractionE;
@InteractionE.canceled += instance.OnInteractionE;
@Targeting.started += instance.OnTargeting;
@Targeting.performed += instance.OnTargeting;
@Targeting.canceled += instance.OnTargeting;
@TargetingHold.started += instance.OnTargetingHold;
@TargetingHold.performed += instance.OnTargetingHold;
@TargetingHold.canceled += instance.OnTargetingHold;
}
private void UnregisterCallbacks(IPlayerActions instance)
@ -493,6 +545,12 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
@InteractionE.started -= instance.OnInteractionE;
@InteractionE.performed -= instance.OnInteractionE;
@InteractionE.canceled -= instance.OnInteractionE;
@Targeting.started -= instance.OnTargeting;
@Targeting.performed -= instance.OnTargeting;
@Targeting.canceled -= instance.OnTargeting;
@TargetingHold.started -= instance.OnTargetingHold;
@TargetingHold.performed -= instance.OnTargetingHold;
@TargetingHold.canceled -= instance.OnTargetingHold;
}
public void RemoveCallbacks(IPlayerActions instance)
@ -636,6 +694,8 @@ public partial class @BlueWater: IInputActionCollection2, IDisposable
void OnZkey(InputAction.CallbackContext context);
void OnTakeAim(InputAction.CallbackContext context);
void OnInteractionE(InputAction.CallbackContext context);
void OnTargeting(InputAction.CallbackContext context);
void OnTargetingHold(InputAction.CallbackContext context);
}
public interface ICameraActions
{

View File

@ -67,6 +67,24 @@
"processors": "",
"interactions": "",
"initialStateCheck": false
},
{
"name": "Targeting",
"type": "Button",
"id": "bb26b6ad-feae-49d8-a4d8-3633bcabfcab",
"expectedControlType": "Button",
"processors": "",
"interactions": "Tap",
"initialStateCheck": false
},
{
"name": "TargetingHold",
"type": "Button",
"id": "c3e552b9-a9be-4d38-8cde-27cc60f7888f",
"expectedControlType": "Button",
"processors": "",
"interactions": "Hold(duration=1)",
"initialStateCheck": false
}
],
"bindings": [
@ -190,6 +208,28 @@
"action": "InteractionE",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "671ada78-e8be-4dcf-80af-2c4468d01253",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "Keyboard",
"action": "Targeting",
"isComposite": false,
"isPartOfComposite": false
},
{
"name": "",
"id": "d05dfab0-611f-4f60-b424-f14d98636c55",
"path": "<Keyboard>/q",
"interactions": "",
"processors": "",
"groups": "Keyboard",
"action": "TargetingHold",
"isComposite": false,
"isPartOfComposite": false
}
]
},

View File

@ -40,6 +40,7 @@ namespace BlueWaterProject
[Title("DataBase", "Sprites")]
public Sprite[] cardType;
public Texture2D cursorTexture;
public Sprite enemyMarker;
protected override void OnAwake()
{

View File

@ -36,10 +36,9 @@ namespace BlueWaterProject
private void Update()
{
if (!radarTargetUI.gameObject.activeInHierarchy && !isReloading)
{
if (!GameManager.Inst.player.IsTargeting) return;
if(!radarTargetUI.gameObject.activeInHierarchy && !isReloading)
StartCoroutine(ReloadCoroutine());
}
}
private IEnumerator ReloadCoroutine()

View File

@ -33,17 +33,17 @@ namespace BlueWaterProject
[Title("레이더")]
public Collider[] radar = new Collider[10];
public Transform[] inCameraRadar = new Transform[10];
public List<Transform> inCameraRadar = new (10);
public Transform target;
// 클래스 레벨 변수
private List<Transform> visibleObjects;
public bool IsTargeting { get; private set; }
[Title("캐논")]
public Rigidbody projectilePrefab;
public Transform launchPoint;
public float timeOfFlight;
public Transform predictedPos;
public List<Canon> Canons { get; } = new (GlobalValue.MAX_CANON_COUNT);
[field: SerializeField]
public List<Canon> Canons { get; private set; } = new (GlobalValue.MAX_CANON_COUNT);
public bool IsAssaultMode { get; set; }
public bool IsInShipMode { get; set; }
@ -55,7 +55,6 @@ namespace BlueWaterProject
character = transform.Find("Character").gameObject;
rb = GetComponent<Rigidbody>();
GetComponentsInChildren(Canons);
visibleObjects = new List<Transform>();
}
#region Unity Function
@ -74,7 +73,6 @@ namespace BlueWaterProject
{
FindInRadarRange();
FilterInCameraObjects();
FindTarget();
LookAtTarget();
}
@ -103,7 +101,7 @@ namespace BlueWaterProject
private void MoveCharacterPlayer()
{
Vector3 movement = character.transform.rotation * new Vector3(-movementInput.y, 0, movementInput.x) * (characterSpeed * Time.deltaTime);
var movement = character.transform.rotation * new Vector3(-movementInput.y, 0, movementInput.x) * (characterSpeed * Time.deltaTime);
character.transform.position += movement;
}
@ -151,10 +149,25 @@ namespace BlueWaterProject
#endregion
#region Interaction Key
private void OnTargeting(InputValue value) //Q
{
if(inCameraRadar.Count == 0) return;
IsTargeting = true;
UiManager.Inst.RadarUIOnOff(IsTargeting);
FindTarget();
}
private void OnTargetingHold(InputValue value) //Q Hold
{
IsTargeting = false;
UiManager.Inst.RadarUIOnOff(IsTargeting);
}
private void OnInteractionE(InputValue value) //E
{
UiManager.Inst.CheckRadarOverlap();
if(IsTargeting) UiManager.Inst.CheckRadarOverlap();
}
private void OnInteraction(InputValue value) //F
@ -230,26 +243,36 @@ namespace BlueWaterProject
private void FilterInCameraObjects()
{
visibleObjects.Clear();
inCameraRadar.Clear();
foreach (var col in radar)
{
if (col == null) continue;
var screenPoint = Camera.main.WorldToViewportPoint(col.transform.position);
if (screenPoint.z > 0 && screenPoint.x >= 0 && screenPoint.x <= 1 && screenPoint.y >= 0 && screenPoint.y <= 1)
{
visibleObjects.Add(col.transform);
inCameraRadar.Add(col.transform);
}
}
visibleObjects.Sort((a, b) => Vector3.Distance(transform.position, a.position).CompareTo(Vector3.Distance(transform.position, b.position)));
inCameraRadar.Sort((a, b) => Vector3.Distance(transform.position, a.position).CompareTo(Vector3.Distance(transform.position, b.position)));
}
private void FindTarget()
{
foreach (var trans in visibleObjects)
var oldTarget = target;
foreach (var trans in inCameraRadar)
{
if (trans.Find("TestTarget") == null) continue;
target = trans.Find("TestTarget").transform;
break;
if (target != null && trans.Find("TestTarget").transform == oldTarget) continue;
target = trans.Find("TestTarget").transform; // Set new target
break; // Exit the loop
}
// Check if target has changed
if (target != oldTarget)
{
// Call some method if target has changed
UiManager.Inst.RadarTargetInit();
}
}
@ -260,6 +283,7 @@ namespace BlueWaterProject
{
canon.predictedPos = target;
canon.LookAtTarget();
UiManager.Inst.UpdateEnemyMarker(target);
}
}

View File

@ -35,7 +35,10 @@ namespace BlueWaterProject
public void Reactivate()
{
RadarTargetInit(Random.Range(0f, 360f), Random.Range(0.1f, 0.2f));
transform.gameObject.SetActive(true);
if (!transform.gameObject.activeSelf)
{
transform.gameObject.SetActive(true);
}
}
}
}

View File

@ -25,6 +25,10 @@ namespace BlueWaterProject
private Transform radarTargets;
[field: SerializeField] public List<RadarTargetUI> RadarTargetUis { get; private set; } = new (GlobalValue.MAX_CANON_COUNT);
public RadarNeedle RadarNeedle { get; private set; }
[Title("Enemy Marker")]
private Image enemyMarker; // 적을 표시할 마커 (Image)
private Transform enemyTarget; // 타겟 (적)
private void Init()
@ -37,6 +41,9 @@ namespace BlueWaterProject
radarTargets = radar.Find("RadarTargets");
RadarNeedle = radar.Find("RadarNeedle").GetComponent<RadarNeedle>();
enemyMarker = transform.Find("EnemyMarker").GetComponent<Image>();
enemyMarker.sprite = DataManager.Inst.enemyMarker;
}
protected override void OnAwake()
@ -48,8 +55,8 @@ namespace BlueWaterProject
{
CursorTextureChange();
AssaultCardInit();
RadarTargetInit();
//RadarTargetInit();
}
public void AddCard() //TODO Test button and function, delete later
@ -84,13 +91,23 @@ namespace BlueWaterProject
public void RadarTargetInit()
{
for (var i = 0; i < GameManager.Inst.player.Canons.Count; i++)
if (RadarTargetUis.Count == 0)
{
var obj = Instantiate(DataManager.Inst.radarTargetUi, radarTargets);
var radarTargetUi = obj.GetComponent<RadarTargetUI>();
radarTargetUi.RadarTargetInit(Random.Range(0f, 360f), Random.Range(0.1f, 0.2f));
RadarTargetUis.Add(radarTargetUi);
GameManager.Inst.player.Canons[i].radarTargetUI = radarTargetUi;
for (var i = 0; i < GameManager.Inst.player.Canons.Count; i++)
{
var obj = Instantiate(DataManager.Inst.radarTargetUi, radarTargets);
var radarTargetUi = obj.GetComponent<RadarTargetUI>();
radarTargetUi.RadarTargetInit(Random.Range(0f, 360f), Random.Range(0.1f, 0.2f));
RadarTargetUis.Add(radarTargetUi);
GameManager.Inst.player.Canons[i].radarTargetUI = radarTargetUi;
}
}
else
{
for (var i = 0; i < RadarTargetUis.Count; i++)
{
RadarTargetUis[i].Reactivate();
}
}
}
@ -117,5 +134,34 @@ namespace BlueWaterProject
var correctedNeedleRotation = needleRotation;
return correctedNeedleRotation >= (startAngle - tolerance) && correctedNeedleRotation <= (endAngle + tolerance);
}
public void UpdateEnemyMarker(Transform target)
{
enemyTarget = target;
if (enemyTarget != null && GameManager.Inst.player.IsTargeting)
{
Vector3 screenPos = Camera.main.WorldToScreenPoint(enemyTarget.position);
if (screenPos.z > 0)
{
enemyMarker.gameObject.SetActive(true);
enemyMarker.transform.position = new Vector2(screenPos.x, screenPos.y);
}
else
{
enemyMarker.gameObject.SetActive(false);
}
}
else
{
enemyMarker.gameObject.SetActive(false);
}
}
public void RadarUIOnOff(bool isOn)
{
radar.gameObject.SetActive(isOn);
}
}
}

View File

@ -6,7 +6,7 @@ TextureImporter:
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
@ -37,13 +37,13 @@ TextureImporter:
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
@ -54,7 +54,7 @@ TextureImporter:
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 0
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
@ -109,7 +109,7 @@ TextureImporter:
outline: []
physicsShape: []
bones: []
spriteID:
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:

View File

@ -9,7 +9,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1055643547297219040}
- component: {fileID: 2556788256821959539}
m_Layer: 7
m_Name: FirePoint
m_TagString: Untagged
@ -26,30 +25,12 @@ Transform:
m_GameObject: {fileID: 1552059112848199257}
serializedVersion: 2
m_LocalRotation: {x: 0.23903932, y: 0.67399514, z: 0.21174636, w: 0.6661488}
m_LocalPosition: {x: -0.012, y: 0.818, z: 1.822}
m_LocalPosition: {x: 0, y: 0.85, z: 1.8}
m_LocalScale: {x: 1.4093482, y: 1.4093485, z: 1.4093487}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2155776711209515616}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2556788256821959539
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1552059112848199257}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3e8c36fe9172849798f9c4fd87b77ec7, type: 3}
m_Name:
m_EditorClassIdentifier:
power: 0
reloadTime: 0
projectilePrefab: {fileID: 0}
launchPoint: {fileID: 0}
timeOfFlight: 1
predictedPos: {fileID: 0}
--- !u!1 &4836829392273355565
GameObject:
m_ObjectHideFlags: 0
@ -61,6 +42,8 @@ GameObject:
- component: {fileID: 2155776711209515616}
- component: {fileID: 244436262679622758}
- component: {fileID: 1460342609431344591}
- component: {fileID: 7810505435716704953}
- component: {fileID: 6596633941343312909}
m_Layer: 7
m_Name: SM_Prop_Cannon_01 (3)
m_TagString: Untagged
@ -76,7 +59,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4836829392273355565}
serializedVersion: 2
m_LocalRotation: {x: -0.23903932, y: -0.67399514, z: -0.21174636, w: 0.6661488}
m_LocalRotation: {x: -0.23903994, y: -0.67399746, z: -0.21174595, w: 0.66614646}
m_LocalPosition: {x: -0.8625002, y: 2.4082499, z: 0.795002}
m_LocalScale: {x: 0.7095477, y: 0.7095476, z: 0.70954806}
m_ConstrainProportionsScale: 0
@ -134,3 +117,40 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &7810505435716704953
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4836829392273355565}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3e8c36fe9172849798f9c4fd87b77ec7, type: 3}
m_Name:
m_EditorClassIdentifier:
power: 0
reloadTime: 1
radarTargetUI: {fileID: 0}
projectilePrefab: {fileID: 0}
launchPoint: {fileID: 0}
timeOfFlight: 1
predictedPos: {fileID: 0}
--- !u!1183024399 &6596633941343312909
LookAtConstraint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4836829392273355565}
m_Enabled: 1
serializedVersion: 2
m_Weight: 1
m_RotationAtRest: {x: 0, y: 0, z: 0}
m_RotationOffset: {x: 0, y: 0, z: 0}
m_Roll: 0
m_WorldUpObject: {fileID: 0}
m_UseUpObject: 0
m_Active: 1
m_IsLocked: 0
m_Sources: []

View File

@ -24,9 +24,7 @@ Material:
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _GLOSSINESS_FROM_BASE_ALPHA
- _SPECULAR_COLOR
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -96,7 +94,7 @@ Material:
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.17616299, g: 0.42104325, b: 0.5686274, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 0.17616296, g: 0.42104322, b: 0.5686274, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
m_BuildTextureStacks: []

View File

@ -24,9 +24,7 @@ Material:
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _GLOSSINESS_FROM_BASE_ALPHA
- _SPECULAR_COLOR
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@ -53,7 +51,7 @@ Material:
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Scale: {x: 50, y: 50}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
@ -96,7 +94,7 @@ Material:
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.19438672, g: 0.46459937, b: 0.62745106, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 0.19438669, g: 0.4645993, b: 0.62745106, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
m_BuildTextureStacks: []

File diff suppressed because it is too large Load Diff