Commit 7cc65bd5 by alsunj

change instantiatedArrow to networkobject

parent 1d5d7af1
......@@ -39,3 +39,8 @@ MonoBehaviour:
SourcePrefabToOverride: {fileID: 0}
SourceHashToOverride: 0
OverridingTargetPrefab: {fileID: 0}
- Override: 0
Prefab: {fileID: 8885891558877188487, guid: c0cc14b5c48376d43b0421a2762d35cb, type: 3}
SourcePrefabToOverride: {fileID: 0}
SourceHashToOverride: 0
OverridingTargetPrefab: {fileID: 0}
using System;
using DG.Tweening;
using Unity.Netcode;
using UnityEngine;
public class Enemy : MonoBehaviour
......@@ -9,12 +10,12 @@ public class Enemy : MonoBehaviour
[SerializeField] private GameObject weapon;
private EnemyManager _enemyManager;
private EnemyAnimator _enemyAnimator;
private GameObject _instantiatedArrow;
private NetworkObject _instantiatedArrow;
private Transform _arrowSpawnPoint;
private float _shootingTimer;
private bool _isCrossbowLoaded;
private bool _isAiming;
private Vector3 _LookingDirection;
private Vector3 _lookingDirection;
private bool _targetLocked;
......@@ -38,7 +39,7 @@ public class Enemy : MonoBehaviour
{
_enemyAnimator.InitializeEvents(_enemyManager.enemyEvents);
_enemyAnimator.receiveTargetShotEventFromAnimator += TargetShotEndEvent;
_enemyAnimator.receiveTargetAimedEventFromAnimator += ShootTarget;
_enemyAnimator.receiveTargetAimedEventFromAnimator += ShootTargetServerRpc;
}
else
{
......@@ -66,12 +67,18 @@ public class Enemy : MonoBehaviour
throw new Exception("ArrowSpawnPoint is not found as a child of Weapon");
}
if (NetworkManager.Singleton.IsListening)
{
InstantiateArrow();
}
else
{
Debug.LogError("NetworkManager is not listening, start a server or host before instantiating the arrow");
} }
private void InstantiateArrow()
{
_instantiatedArrow = Instantiate(arrow, _arrowSpawnPoint.position, _arrowSpawnPoint.rotation);
_instantiatedArrow = Instantiate(arrow, _arrowSpawnPoint.position, _arrowSpawnPoint.rotation).GetComponent<NetworkObject>();
_instantiatedArrow.transform.SetParent(weapon.transform);
_isCrossbowLoaded = true;
}
......@@ -93,7 +100,6 @@ public class Enemy : MonoBehaviour
public void TargetShotEndEvent()
{
Debug.Log("Event received");
_instantiatedArrow.transform.SetParent(weapon.transform);
_instantiatedArrow.transform.position = _arrowSpawnPoint.position;
_instantiatedArrow.transform.rotation = _arrowSpawnPoint.rotation;
......@@ -134,18 +140,24 @@ public class Enemy : MonoBehaviour
private void RotateTowardsTarget(Collider hitCollider)
{
_enemyManager.enemyEvents.EnemyAim();
_LookingDirection = (hitCollider.transform.position - transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation(new Vector3(_LookingDirection.x, 0, _LookingDirection.z));
_lookingDirection = (hitCollider.transform.position - transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation(new Vector3(_lookingDirection.x, 0, _lookingDirection.z));
transform.DORotateQuaternion(lookRotation, 0.5f);
// .OnComplete(() => { _enemyManager.enemyEvents.EnemyAim(false); });
}
[ServerRpc]
private void ShootTargetServerRpc()
{
ShootTarget();
}
private void ShootTarget()
{
_instantiatedArrow.transform.SetParent(null);
_instantiatedArrow.transform.rotation = weapon.transform.rotation;
_instantiatedArrow.GetComponent<Rigidbody>().linearVelocity =
_LookingDirection * enemySettings.shootingRange;
_instantiatedArrow.GetComponent<Rigidbody>().linearVelocity = _lookingDirection * enemySettings.shootingRange;
_shootingTimer = enemySettings.shootingDelay;
_isCrossbowLoaded = false;
_enemyManager.enemyEvents.EnemyAttack();
......
......@@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 1165258639717057592}
- component: {fileID: 3689328238253936162}
- component: {fileID: 8067914320767520699}
- component: {fileID: 5623177488314303369}
m_Layer: 0
m_Name: Arrow
m_TagString: Untagged
......@@ -95,6 +96,31 @@ BoxCollider:
serializedVersion: 3
m_Size: {x: 0.1, y: 0.1, z: 0.8}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &5623177488314303369
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8885891558877188487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
m_Name:
m_EditorClassIdentifier:
GlobalObjectIdHash: 0
InScenePlacedSourceGlobalObjectIdHash: 0
DeferredDespawnTick: 0
Ownership: 1
AlwaysReplicateAsRoot: 0
SynchronizeTransform: 1
ActiveSceneSynchronization: 0
SceneMigrationSynchronization: 1
SpawnWithObservers: 1
DontDestroyWithOwner: 0
AutoObjectParentSync: 1
SyncOwnerTransformWhenParented: 1
AllowOwnerToParent: 0
--- !u!1001 &6279328471144270833
PrefabInstance:
m_ObjectHideFlags: 0
......
......@@ -1608,6 +1608,10 @@ PrefabInstance:
propertyPath: m_Name
value: Environment
objectReference: {fileID: 0}
- target: {fileID: 1342101318069946295, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2571745861886921497, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: GlobalObjectIdHash
value: 2157953702
......@@ -1660,10 +1664,22 @@ PrefabInstance:
propertyPath: GlobalObjectIdHash
value: 1212816001
objectReference: {fileID: 0}
- target: {fileID: 5510887720992502651, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7270026267180335326, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: GlobalObjectIdHash
value: 745029092
objectReference: {fileID: 0}
- target: {fileID: 7466567691796396836, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7584320928867012029, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7679692720847302870, guid: 2533a95934a9ea044a5454189730090b, type: 3}
propertyPath: GlobalObjectIdHash
value: 2706695298
......@@ -1689,6 +1705,10 @@ PrefabInstance:
propertyPath: m_Name
value: Managers
objectReference: {fileID: 0}
- target: {fileID: 4994959905079220019, guid: c3c6003d148e24045a5699c460b258c9, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6720401888809174077, guid: c3c6003d148e24045a5699c460b258c9, type: 3}
propertyPath: GlobalObjectIdHash
value: 2107378644
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment