Use rigidbodies to move Entities
This commit is contained in:
parent
0fa139faca
commit
9484c6d2fb
@ -11,8 +11,9 @@ GameObject:
|
|||||||
- component: {fileID: 197677485360569565}
|
- component: {fileID: 197677485360569565}
|
||||||
- component: {fileID: 197677485360569564}
|
- component: {fileID: 197677485360569564}
|
||||||
- component: {fileID: 197677485360569563}
|
- component: {fileID: 197677485360569563}
|
||||||
- component: {fileID: 197677485360569562}
|
|
||||||
- component: {fileID: 197677485360569566}
|
- component: {fileID: 197677485360569566}
|
||||||
|
- component: {fileID: 3988163462708087662}
|
||||||
|
- component: {fileID: 2142155588016984618}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Gladiator
|
m_Name: Gladiator
|
||||||
m_TagString: Gladiator
|
m_TagString: Gladiator
|
||||||
@ -83,19 +84,6 @@ MeshRenderer:
|
|||||||
m_SortingLayer: 0
|
m_SortingLayer: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
--- !u!135 &197677485360569562
|
|
||||||
SphereCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 197677485360569561}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Radius: 0.5
|
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &197677485360569566
|
--- !u!114 &197677485360569566
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -108,7 +96,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3}
|
m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
health: 100
|
<Health>k__BackingField: 0
|
||||||
movementSpeed: 5
|
movementSpeed: 5
|
||||||
rotSpeed: 3
|
rotSpeed: 3
|
||||||
fov: 0
|
fov: 0
|
||||||
@ -116,3 +104,40 @@ MonoBehaviour:
|
|||||||
attackDmg: 10
|
attackDmg: 10
|
||||||
attackCooldown: 1
|
attackCooldown: 1
|
||||||
target: {fileID: 0}
|
target: {fileID: 0}
|
||||||
|
--- !u!58 &3988163462708087662
|
||||||
|
CircleCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 197677485360569561}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 6200000, guid: 72c8b57001d325c418a78771641a077f, type: 2}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Radius: 0.5
|
||||||
|
--- !u!50 &2142155588016984618
|
||||||
|
Rigidbody2D:
|
||||||
|
serializedVersion: 4
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 197677485360569561}
|
||||||
|
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: 6200000, guid: 72c8b57001d325c418a78771641a077f, type: 2}
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_SleepingMode: 1
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
m_Constraints: 4
|
||||||
|
|||||||
@ -11,8 +11,9 @@ GameObject:
|
|||||||
- component: {fileID: 2399377275812995968}
|
- component: {fileID: 2399377275812995968}
|
||||||
- component: {fileID: 2399377275812995969}
|
- component: {fileID: 2399377275812995969}
|
||||||
- component: {fileID: 2399377275812995970}
|
- component: {fileID: 2399377275812995970}
|
||||||
- component: {fileID: 2399377275812995971}
|
|
||||||
- component: {fileID: 2399377275812995974}
|
- component: {fileID: 2399377275812995974}
|
||||||
|
- component: {fileID: 1427479462206541758}
|
||||||
|
- component: {fileID: 8912459659685944407}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Monster
|
m_Name: Monster
|
||||||
m_TagString: Monster
|
m_TagString: Monster
|
||||||
@ -83,19 +84,6 @@ MeshRenderer:
|
|||||||
m_SortingLayer: 0
|
m_SortingLayer: 0
|
||||||
m_SortingOrder: 0
|
m_SortingOrder: 0
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
--- !u!65 &2399377275812995971
|
|
||||||
BoxCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 2399377275812995980}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Size: {x: 1, y: 1, z: 1}
|
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &2399377275812995974
|
--- !u!114 &2399377275812995974
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -108,7 +96,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3}
|
m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
health: 100
|
<Health>k__BackingField: 0
|
||||||
movementSpeed: 5
|
movementSpeed: 5
|
||||||
rotSpeed: 3
|
rotSpeed: 3
|
||||||
fov: 0
|
fov: 0
|
||||||
@ -116,3 +104,40 @@ MonoBehaviour:
|
|||||||
attackDmg: 10
|
attackDmg: 10
|
||||||
attackCooldown: 1
|
attackCooldown: 1
|
||||||
target: {fileID: 0}
|
target: {fileID: 0}
|
||||||
|
--- !u!50 &1427479462206541758
|
||||||
|
Rigidbody2D:
|
||||||
|
serializedVersion: 4
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2399377275812995980}
|
||||||
|
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: 6200000, guid: 72c8b57001d325c418a78771641a077f, type: 2}
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_SleepingMode: 1
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
m_Constraints: 4
|
||||||
|
--- !u!58 &8912459659685944407
|
||||||
|
CircleCollider2D:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2399377275812995980}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_Density: 1
|
||||||
|
m_Material: {fileID: 6200000, guid: 72c8b57001d325c418a78771641a077f, type: 2}
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_UsedByEffector: 0
|
||||||
|
m_UsedByComposite: 0
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Radius: 0.5
|
||||||
|
|||||||
@ -2,6 +2,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
[RequireComponent(typeof(Rigidbody2D))]
|
||||||
public class Entity : MonoBehaviour
|
public class Entity : MonoBehaviour
|
||||||
{
|
{
|
||||||
[field: SerializeField]protected float Health { get; private set; }
|
[field: SerializeField]protected float Health { get; private set; }
|
||||||
@ -16,6 +17,9 @@ public class Entity : MonoBehaviour
|
|||||||
private new string name;
|
private new string name;
|
||||||
private Collider atkCollider;
|
private Collider atkCollider;
|
||||||
private Vector3 direction;
|
private Vector3 direction;
|
||||||
|
Rigidbody2D rb;
|
||||||
|
|
||||||
|
void Awake() => rb = GetComponent<Rigidbody2D>();
|
||||||
|
|
||||||
protected virtual void Start() {
|
protected virtual void Start() {
|
||||||
direction = new Vector3(1,0,0);
|
direction = new Vector3(1,0,0);
|
||||||
@ -36,7 +40,7 @@ public class Entity : MonoBehaviour
|
|||||||
|
|
||||||
direction = Vector3.RotateTowards(direction, (target.position - transform.position), rotSpeed*deltaTime, 0.0f);
|
direction = Vector3.RotateTowards(direction, (target.position - transform.position), rotSpeed*deltaTime, 0.0f);
|
||||||
if(!IsInAttackRange()){
|
if(!IsInAttackRange()){
|
||||||
transform.Translate(direction * movementSpeed* deltaTime);
|
rb.MovePosition(transform.position + direction * movementSpeed * deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,10 +11,11 @@ public class Monster : Entity
|
|||||||
base.SetName("Monster");
|
base.SetName("Monster");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FixedUpdate() => MoveToTarget(Time.fixedDeltaTime);
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
MoveToTarget(Time.deltaTime);
|
|
||||||
if(IsInAttackRange()){
|
if(IsInAttackRange()){
|
||||||
if(attackTimer >= attackCooldown){
|
if(attackTimer >= attackCooldown){
|
||||||
Attack();
|
Attack();
|
||||||
|
|||||||
@ -12,4 +12,30 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7bb5b9d39d784569a22f3cf10d19c27b, type: 3}
|
m_Script: {fileID: 11500000, guid: 7bb5b9d39d784569a22f3cf10d19c27b, type: 3}
|
||||||
m_Name: Safe Zone Stats
|
m_Name: Safe Zone Stats
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
jumpDuration: 1.2
|
<JumpDuration>k__BackingField: 1.2
|
||||||
|
<MinJumpJoystickValue>k__BackingField: 0.5
|
||||||
|
<JumpOffset>k__BackingField: 1
|
||||||
|
<JumpSpeedCurve>k__BackingField:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 2.0288262
|
||||||
|
outSlope: 2.0288262
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.05696202
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 1
|
||||||
|
inSlope: 0.4757123
|
||||||
|
outSlope: 0.4757123
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.05949372
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
|||||||
@ -5,11 +5,6 @@ public class SafeZone : MonoBehaviour {
|
|||||||
[SerializeField] CircleCollider2D moatCollider;
|
[SerializeField] CircleCollider2D moatCollider;
|
||||||
public bool IsInSafeZone { get; private set; } = true;
|
public bool IsInSafeZone { get; private set; } = true;
|
||||||
|
|
||||||
void Awake() {
|
|
||||||
if (moatCollider.enabled)
|
|
||||||
Debug.LogWarning("Moat collider was enabled on start, shouldn't be if the player starts in the safe zone.");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void EnterSafeZone() {
|
public void EnterSafeZone() {
|
||||||
IsInSafeZone = true;
|
IsInSafeZone = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user