- Fixed an issue where the castle arrow couldn't fire at enemies in an angle, and only straight forward;
- Modified the castle's infos so that it fires only 4 arrows per intervals instead of 5.
This commit is contained in:
parent
503a8dedbc
commit
e36d43d69a
@ -378,7 +378,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_entity: {fileID: 498655111277194201}
|
||||
_projectile: {fileID: 6962989255644195630, guid: 869a03bba705e8d4485aa73daad773dc, type: 3}
|
||||
_projectile: {fileID: 6962989255644195630, guid: 8c97d676f9e78de408a30be69193ca5e, type: 3}
|
||||
_projectileSpawn: {fileID: 7055490709728624221}
|
||||
--- !u!1 &7803635882566565305
|
||||
GameObject:
|
||||
|
||||
230
Assets/Prefabs/CastleProjectile.prefab
Normal file
230
Assets/Prefabs/CastleProjectile.prefab
Normal file
@ -0,0 +1,230 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6962989255644195630
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6962989255644195631}
|
||||
- component: {fileID: -1491803373025033585}
|
||||
- component: {fileID: 8133954670424616578}
|
||||
m_Layer: 0
|
||||
m_Name: CastleProjectile
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6962989255644195631
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989255644195630}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -6.61, y: -0.638, z: 1.8112363}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6962989256011107500}
|
||||
- {fileID: 6802302589573039538}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!50 &-1491803373025033585
|
||||
Rigidbody2D:
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989255644195630}
|
||||
m_BodyType: 0
|
||||
m_Simulated: 1
|
||||
m_UseFullKinematicContacts: 0
|
||||
m_UseAutoMass: 0
|
||||
m_Mass: 1
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 0
|
||||
m_Material: {fileID: 0}
|
||||
m_Interpolate: 0
|
||||
m_SleepingMode: 1
|
||||
m_CollisionDetection: 0
|
||||
m_Constraints: 4
|
||||
--- !u!114 &8133954670424616578
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989255644195630}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 01782bd631a6e1446956ed140a24c530, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_detectionLinked: {fileID: 4130391605812397686}
|
||||
straightProjectile: 1
|
||||
_angle: 10
|
||||
_speed: 1
|
||||
--- !u!1 &6962989256011107503
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6962989256011107500}
|
||||
- component: {fileID: 6962989256011107501}
|
||||
m_Layer: 0
|
||||
m_Name: exmeple
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6962989256011107500
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989256011107503}
|
||||
m_LocalRotation: {x: 0, y: -0, z: 0.7071068, w: -0.7071068}
|
||||
m_LocalPosition: {x: 0.0259, y: 0.01, z: 0}
|
||||
m_LocalScale: {x: 0.5394133, y: 0.56488746, z: 0.9686}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6962989255644195631}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 270}
|
||||
--- !u!212 &6962989256011107501
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6962989256011107503}
|
||||
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: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 364159097
|
||||
m_SortingLayer: 1
|
||||
m_SortingOrder: 4
|
||||
m_Sprite: {fileID: 21300000, guid: b28a7c5aeb45b224983f69339965c55d, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 1.06, y: 1.69}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &8726647054546243319
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6802302589573039538}
|
||||
- component: {fileID: 7006189111012443782}
|
||||
- component: {fileID: 4130391605812397686}
|
||||
m_Layer: 0
|
||||
m_Name: detection
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6802302589573039538
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8726647054546243319}
|
||||
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: 6962989255644195631}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!61 &7006189111012443782
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8726647054546243319}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0.16277367, y: 0.016521543}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 0.3744527, y: 0.17825907}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &4130391605812397686
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8726647054546243319}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_entityLinked: {fileID: 0}
|
||||
7
Assets/Prefabs/CastleProjectile.prefab.meta
Normal file
7
Assets/Prefabs/CastleProjectile.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8c97d676f9e78de408a30be69193ca5e
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -40,12 +40,10 @@ public class Castle : Building
|
||||
//Attack Cooldown
|
||||
if (AttackInterval < AttackSpeedWait)
|
||||
{
|
||||
//TODO: Probleme avec l'envoie de projectile sur un angle.
|
||||
//Sur la meme fonctionne, mais doit corriger le projectile
|
||||
//pour qu'il puisse etre envoye dans les lignes du bas et haut.
|
||||
for(int i = 0; i < 5 && IsEnemyDetected; i++)
|
||||
|
||||
for(int i = 0; i < 4 && IsEnemyDetected; i++)
|
||||
{
|
||||
Invoke("ShootInterval", 0.1f);
|
||||
Invoke("ShootInterval", 0.1f * i);
|
||||
if(Enemy.Hp <= 0) IsEnemyDetected = false;
|
||||
}
|
||||
|
||||
|
||||
@ -11,6 +11,9 @@ public class Projectile : MonoBehaviour
|
||||
[SerializeField]
|
||||
private bool straightProjectile = false;
|
||||
|
||||
private float _time = 0f;
|
||||
private float _duration = 1f;
|
||||
|
||||
[SerializeField]
|
||||
private float _angle = 10f; //Default
|
||||
[SerializeField]
|
||||
@ -48,8 +51,14 @@ public class Projectile : MonoBehaviour
|
||||
{
|
||||
if (straightProjectile)
|
||||
{
|
||||
transform.position = new Vector2(_initialX + _speedTime, _initialY);
|
||||
_speedTime += _speed * Time.deltaTime;
|
||||
transform.position = Vector2.Lerp(new Vector2(_initialX, _initialY),
|
||||
new Vector2(_vectorEnd.x, _vectorEnd.y), _time/_duration);
|
||||
|
||||
//TODO: Implementer cette methode pour mieux faire fonctionner le projectile lorsque possible.
|
||||
//transform.LookAt(VectorEnd, Vector3.forward);
|
||||
|
||||
_time += Time.deltaTime;
|
||||
|
||||
if (transform.position.x >= _vectorEnd.x)
|
||||
{
|
||||
Destroy(this.gameObject);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user