Use rigidbodies to move Entities
This commit is contained in:
parent
0fa139faca
commit
9484c6d2fb
@ -11,8 +11,9 @@ GameObject:
|
||||
- component: {fileID: 197677485360569565}
|
||||
- component: {fileID: 197677485360569564}
|
||||
- component: {fileID: 197677485360569563}
|
||||
- component: {fileID: 197677485360569562}
|
||||
- component: {fileID: 197677485360569566}
|
||||
- component: {fileID: 3988163462708087662}
|
||||
- component: {fileID: 2142155588016984618}
|
||||
m_Layer: 0
|
||||
m_Name: Gladiator
|
||||
m_TagString: Gladiator
|
||||
@ -83,19 +84,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 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
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -108,7 +96,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: c537e1bd61b8d5c42b1ec03f90e14855, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
health: 100
|
||||
<Health>k__BackingField: 0
|
||||
movementSpeed: 5
|
||||
rotSpeed: 3
|
||||
fov: 0
|
||||
@ -116,3 +104,40 @@ MonoBehaviour:
|
||||
attackDmg: 10
|
||||
attackCooldown: 1
|
||||
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: 2399377275812995969}
|
||||
- component: {fileID: 2399377275812995970}
|
||||
- component: {fileID: 2399377275812995971}
|
||||
- component: {fileID: 2399377275812995974}
|
||||
- component: {fileID: 1427479462206541758}
|
||||
- component: {fileID: 8912459659685944407}
|
||||
m_Layer: 0
|
||||
m_Name: Monster
|
||||
m_TagString: Monster
|
||||
@ -83,19 +84,6 @@ MeshRenderer:
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 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
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -108,7 +96,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 7e480b0ef5998894283e8091830941cb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
health: 100
|
||||
<Health>k__BackingField: 0
|
||||
movementSpeed: 5
|
||||
rotSpeed: 3
|
||||
fov: 0
|
||||
@ -116,3 +104,40 @@ MonoBehaviour:
|
||||
attackDmg: 10
|
||||
attackCooldown: 1
|
||||
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 UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(Rigidbody2D))]
|
||||
public class Entity : MonoBehaviour
|
||||
{
|
||||
[field: SerializeField]protected float Health { get; private set; }
|
||||
@ -16,6 +17,9 @@ public class Entity : MonoBehaviour
|
||||
private new string name;
|
||||
private Collider atkCollider;
|
||||
private Vector3 direction;
|
||||
Rigidbody2D rb;
|
||||
|
||||
void Awake() => rb = GetComponent<Rigidbody2D>();
|
||||
|
||||
protected virtual void Start() {
|
||||
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);
|
||||
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");
|
||||
}
|
||||
|
||||
void FixedUpdate() => MoveToTarget(Time.fixedDeltaTime);
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
MoveToTarget(Time.deltaTime);
|
||||
if(IsInAttackRange()){
|
||||
if(attackTimer >= attackCooldown){
|
||||
Attack();
|
||||
|
||||
@ -12,4 +12,30 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 7bb5b9d39d784569a22f3cf10d19c27b, type: 3}
|
||||
m_Name: Safe Zone Stats
|
||||
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;
|
||||
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() {
|
||||
IsInSafeZone = true;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user