Implemented the basis for the castle unit, including having it shoot, the shooting range, and the upgrading logic.
This commit is contained in:
parent
116d9610c4
commit
503a8dedbc
@ -1,5 +1,36 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &677021742661546270
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7055490709728624221}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: '@projectileSpawn'
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 6519382022992737161, guid: 0000000000000000d000000000000000, type: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7055490709728624221
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 677021742661546270}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: -0.103, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 8169559242600365314}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1436362432952518814
|
--- !u!1 &1436362432952518814
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -37,6 +68,7 @@ Transform:
|
|||||||
- {fileID: 6894793432076062629}
|
- {fileID: 6894793432076062629}
|
||||||
- {fileID: 4738724134341998529}
|
- {fileID: 4738724134341998529}
|
||||||
- {fileID: 4727854499611739481}
|
- {fileID: 4727854499611739481}
|
||||||
|
- {fileID: 8169559242600365314}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -210,10 +242,11 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_lifeBar: {fileID: 981581452810264329}
|
_lifeBar: {fileID: 981581452810264329}
|
||||||
_hp: 20
|
_hp: 20
|
||||||
_speed: 0
|
_speed: 1
|
||||||
_attack_damage: 2
|
_attack_damage: 2
|
||||||
_attack_interval: 2
|
_attack_interval: 2
|
||||||
_enemy: {fileID: 0}
|
_enemy: {fileID: 0}
|
||||||
|
_root: {fileID: 3828680565076245792}
|
||||||
--- !u!114 &7118484083738872079
|
--- !u!114 &7118484083738872079
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -271,7 +304,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
_entityLinked: {fileID: 0}
|
_entityLinked: {fileID: 498655111277194201}
|
||||||
--- !u!61 &3389094527817988571
|
--- !u!61 &3389094527817988571
|
||||||
BoxCollider2D:
|
BoxCollider2D:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -288,16 +321,65 @@ BoxCollider2D:
|
|||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
m_SpriteTilingProperty:
|
m_SpriteTilingProperty:
|
||||||
border: {x: 0, y: 0, z: 0, w: 0}
|
border: {x: 0, y: 0, z: 0, w: 0}
|
||||||
pivot: {x: 0, y: 0}
|
pivot: {x: 0.5, y: 0.5}
|
||||||
oldSize: {x: 0, y: 0}
|
oldSize: {x: 1, y: 1}
|
||||||
newSize: {x: 0, y: 0}
|
newSize: {x: 11.65, y: 5.55}
|
||||||
adaptiveTilingThreshold: 0
|
adaptiveTilingThreshold: 0.5
|
||||||
drawMode: 0
|
drawMode: 0
|
||||||
adaptiveTiling: 0
|
adaptiveTiling: 0
|
||||||
m_AutoTiling: 0
|
m_AutoTiling: 0
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Size: {x: 5, y: 3}
|
m_Size: {x: 10, y: 6}
|
||||||
m_EdgeRadius: 0
|
m_EdgeRadius: 0
|
||||||
|
--- !u!1 &7593581371702012092
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8169559242600365314}
|
||||||
|
- component: {fileID: 3828680565076245792}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: root
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8169559242600365314
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7593581371702012092}
|
||||||
|
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: 7055490709728624221}
|
||||||
|
- {fileID: 7939484193916151742}
|
||||||
|
m_Father: {fileID: 8393796362083852573}
|
||||||
|
m_RootOrder: 3
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &3828680565076245792
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7593581371702012092}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c0fbd934c179894458914437255781c4, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_entity: {fileID: 498655111277194201}
|
||||||
|
_projectile: {fileID: 6962989255644195630, guid: 869a03bba705e8d4485aa73daad773dc, type: 3}
|
||||||
|
_projectileSpawn: {fileID: 7055490709728624221}
|
||||||
--- !u!1 &7803635882566565305
|
--- !u!1 &7803635882566565305
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -382,6 +464,78 @@ SpriteRenderer:
|
|||||||
m_WasSpriteAssigned: 1
|
m_WasSpriteAssigned: 1
|
||||||
m_MaskInteraction: 0
|
m_MaskInteraction: 0
|
||||||
m_SpriteSortPoint: 0
|
m_SpriteSortPoint: 0
|
||||||
|
--- !u!1 &8310043151180040893
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7939484193916151742}
|
||||||
|
- component: {fileID: 5488513296025383449}
|
||||||
|
- component: {fileID: 8186041413564706385}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: detection
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7939484193916151742
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8310043151180040893}
|
||||||
|
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: 8169559242600365314}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!61 &5488513296025383449
|
||||||
|
BoxCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8310043151180040893}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
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: 10, y: 6}
|
||||||
|
m_EdgeRadius: 0
|
||||||
|
--- !u!114 &8186041413564706385
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8310043151180040893}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_entityLinked: {fileID: 498655111277194201}
|
||||||
--- !u!1001 &6268201541322694619
|
--- !u!1001 &6268201541322694619
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@ -6,6 +6,9 @@ public class Castle : Building
|
|||||||
{
|
{
|
||||||
public float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouse;
|
public float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouse;
|
||||||
|
|
||||||
|
[SerializeField]
|
||||||
|
private Root _root;
|
||||||
|
|
||||||
public override void Start()
|
public override void Start()
|
||||||
{
|
{
|
||||||
base.Start();
|
base.Start();
|
||||||
@ -37,8 +40,14 @@ public class Castle : Building
|
|||||||
//Attack Cooldown
|
//Attack Cooldown
|
||||||
if (AttackInterval < AttackSpeedWait)
|
if (AttackInterval < AttackSpeedWait)
|
||||||
{
|
{
|
||||||
|
//TODO: Probleme avec l'envoie de projectile sur un angle.
|
||||||
Animation.PlayAttackAnim();
|
//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++)
|
||||||
|
{
|
||||||
|
Invoke("ShootInterval", 0.1f);
|
||||||
|
if(Enemy.Hp <= 0) IsEnemyDetected = false;
|
||||||
|
}
|
||||||
|
|
||||||
AttackSpeedWait = 0f;
|
AttackSpeedWait = 0f;
|
||||||
|
|
||||||
@ -47,4 +56,9 @@ public class Castle : Building
|
|||||||
AttackSpeedWait += Time.deltaTime;
|
AttackSpeedWait += Time.deltaTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ShootInterval()
|
||||||
|
{
|
||||||
|
_root.ShotProjectile();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,7 +68,7 @@ public class AnimationEntity : MonoBehaviour
|
|||||||
|
|
||||||
public void PlayAttackAnim()
|
public void PlayAttackAnim()
|
||||||
{
|
{
|
||||||
if(!_isDead) {
|
if(!_isDead && _animatorEntity != null) {
|
||||||
_animatorEntity.speed = AttackSpeedMultiplier;
|
_animatorEntity.speed = AttackSpeedMultiplier;
|
||||||
_animatorEntity.Play("attack", 0, 0f);
|
_animatorEntity.Play("attack", 0, 0f);
|
||||||
entityState = EntityAnimationState.Attacking;
|
entityState = EntityAnimationState.Attacking;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user