Commit 06ba5852 by alsunj

Merge branch 'feat/enemy-network' into 'main'

Feat/enemy network

See merge request alsunj/loputoo!22
parents 1d5d7af1 f87e85f0
......@@ -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}
fileFormatVersion: 2
guid: 9605dbac431a2944dba3a44fd31376bd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using DG.Tweening;
using Unity.Netcode;
using UnityEngine;
public class Enemy : MonoBehaviour
public class Enemy : NetworkBehaviour
{
[SerializeField] private EnemySettings enemySettings;
[SerializeField] private GameObject arrow;
[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;
......@@ -37,8 +38,9 @@ public class Enemy : MonoBehaviour
if (_enemyAnimator != null)
{
_enemyAnimator.InitializeEvents(_enemyManager.enemyEvents);
_enemyAnimator.receiveTargetShotEventFromAnimator += TargetShotEndEvent;
_enemyAnimator.receiveTargetAimedEventFromAnimator += ShootTarget;
_enemyAnimator.receiveTargetShotEventFromAnimator += TargetShotEndEventServerRpc;
_enemyAnimator.receiveTargetAimedEventFromAnimator += ShootTargetServerRpc;
_enemyAnimator.receiveTargetReloadEventFromAnimator += ReloadCrossbowServerRpc;
}
else
{
......@@ -65,19 +67,20 @@ public class Enemy : MonoBehaviour
{
throw new Exception("ArrowSpawnPoint is not found as a child of Weapon");
}
InstantiateArrow();
}
private void InstantiateArrow()
public void InstantiateArrowServer()
{
_instantiatedArrow = Instantiate(arrow, _arrowSpawnPoint.position, _arrowSpawnPoint.rotation);
_instantiatedArrow = Instantiate(arrow, _arrowSpawnPoint.position, _arrowSpawnPoint.rotation)
.GetComponent<NetworkObject>();
_instantiatedArrow.Spawn();
_instantiatedArrow.transform.SetParent(weapon.transform);
_isCrossbowLoaded = true;
}
private void Update()
{
if (!IsServer) return;
if (_shootingTimer > 0)
{
_shootingTimer -= Time.deltaTime;
......@@ -86,23 +89,47 @@ public class Enemy : MonoBehaviour
if (!_targetLocked)
{
ScanForCollision();
ScanForCollisionServerRpc();
}
}
public void TargetShotEndEvent()
[ServerRpc(RequireOwnership = false)]
public void TargetShotEndEventServerRpc()
{
Debug.Log("Event received");
_instantiatedArrow.transform.SetParent(weapon.transform);
UpdateArrowTransformClientRpc(new NetworkObjectReference(_instantiatedArrow), _arrowSpawnPoint.position,
_arrowSpawnPoint.rotation);
}
[ClientRpc]
private void UpdateArrowTransformClientRpc(NetworkObjectReference arrowReference, Vector3 position,
Quaternion rotation)
{
if (arrowReference.TryGet(out NetworkObject arrowObject))
{
// arrowObject.transform.position = position;
// arrowObject.transform.rotation = rotation;
}
_enemyManager.enemyEvents.EnemyReload();
}
[ServerRpc(RequireOwnership = false)]
private void ReloadCrossbowServerRpc()
{
_instantiatedArrow.GetComponent<Rigidbody>().linearVelocity = Vector3.zero;
// _instantiatedArrow.gameObject.SetActive(false);
_instantiatedArrow.transform.position = _arrowSpawnPoint.position;
_instantiatedArrow.transform.rotation = _arrowSpawnPoint.rotation;
_instantiatedArrow.GetComponent<Rigidbody>().linearVelocity = Vector3.zero;
_isCrossbowLoaded = true;
_instantiatedArrow.transform.SetParent(weapon.transform);
_targetLocked = false;
_isCrossbowLoaded = true;
}
private void ScanForCollision()
[ServerRpc]
private void ScanForCollisionServerRpc()
{
if (_isCrossbowLoaded && _shootingTimer <= 0)
{
......@@ -126,28 +153,38 @@ public class Enemy : MonoBehaviour
_targetLocked = true;
RotateTowardsTarget(closestCollider);
RotateTowardsTargetClientRpc(closestCollider.gameObject.GetComponent<NetworkObject>().NetworkObjectId);
}
}
}
private void RotateTowardsTarget(Collider hitCollider)
[ClientRpc]
private void RotateTowardsTargetClientRpc(ulong targetNetworkObjectId)
{
_enemyManager.enemyEvents.EnemyAim();
_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); });
var targetObject = NetworkManager.Singleton.SpawnManager.SpawnedObjects[targetNetworkObjectId];
if (targetObject != null)
{
_enemyManager.enemyEvents.EnemyAim();
_lookingDirection = (targetObject.transform.position - transform.position).normalized;
Quaternion lookRotation = Quaternion.LookRotation(new Vector3(_lookingDirection.x, 0, _lookingDirection.z));
transform.DORotateQuaternion(lookRotation, 0.5f);
}
}
private void ShootTarget()
[ServerRpc(RequireOwnership = false)]
private void ShootTargetServerRpc()
{
_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;
ShootTargetClientRpc();
}
[ClientRpc]
private void ShootTargetClientRpc()
{
_enemyManager.enemyEvents.EnemyAttack();
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ public class EnemyAnimator : MonoBehaviour
public event Action receiveTargetShotEventFromAnimator;
public event Action receiveTargetAimedEventFromAnimator;
public event Action receiveTargetReloadEventFromAnimator;
private void Start()
{
......@@ -50,6 +51,11 @@ public class EnemyAnimator : MonoBehaviour
receiveTargetAimedEventFromAnimator?.Invoke();
}
private void ReceiveTargetReloadEventFromAnimator()
{
receiveTargetReloadEventFromAnimator?.Invoke();
}
private void ReceiveTargetShotEventFromAnimator()
{
receiveTargetShotEventFromAnimator?.Invoke();
......
using Unity.Netcode;
using UnityEngine;
public class EnemySpawner : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
NetworkManager.Singleton.OnServerStarted += OnServerStartedServerRpc;
NetworkManager.Singleton.OnServerStopped += OnServerStoppedServerRpc;
}
[ServerRpc]
private void OnServerStoppedServerRpc(bool state)
{
if (!state)
{
NetworkManager.Singleton.OnServerStarted -= OnServerStartedServerRpc;
NetworkManager.Singleton.OnServerStopped -= OnServerStoppedServerRpc;
}
}
[ServerRpc]
private void OnServerStartedServerRpc()
{
// SpawnEnemyArrows();
var enemiesTransform = GameObject.Find("Enemies")?.transform;
if (enemiesTransform != null)
{
foreach (Transform child in enemiesTransform)
{
var enemy = child.GetComponent<Enemy>();
if (enemy != null)
{
enemy.InstantiateArrowServer();
}
}
}
}
// private void SpawnEnemyArrows()
// {
// var enemiesTransform = GameObject.Find("Enemies")?.transform;
// if (enemiesTransform != null)
// {
// foreach (Transform child in enemiesTransform)
// {
// var enemy = child.GetComponent<Enemy>();
// if (enemy != null)
// {
// enemy.InstantiateArrowServer();
// }
// }
// }
// }
}
\ No newline at end of file
fileFormatVersion: 2
guid: cb139732cb33148458fab05d76c66791
\ No newline at end of file
......@@ -15,7 +15,7 @@ public class ClientManager : NetworkBehaviour
{
if (NetworkManager.Singleton.IsConnectedClient)
{
GameManager gameManager = FindObjectOfType<GameManager>();
GameManager gameManager = FindFirstObjectByType<GameManager>();
if (gameManager != null)
{
gameManager.RequestTimerStateServerRpc();
......
......@@ -8,7 +8,6 @@ public class PlayerController : NetworkBehaviour
#region components
[SerializeField] private PlayerInteractionSettings playerInteractionSettings;
[SerializeField] private float speed = 2f;
private PlayerPlacements _playerPlacements;
private PlayerManager _playerManager;
private PlayerAnimator _playerAnimator;
......
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6866275124911934084
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1774531537854147144}
- component: {fileID: 2847495381736913473}
m_Layer: 0
m_Name: EnemySpawner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1774531537854147144
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6866275124911934084}
serializedVersion: 2
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: 5208134106439944552}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2847495381736913473
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6866275124911934084}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cb139732cb33148458fab05d76c66791, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &7258924596401886573
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5208134106439944552}
m_Layer: 0
m_Name: Enemies
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5208134106439944552
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7258924596401886573}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1.9441636, y: 0.5603608, z: 1.2710799}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4975799049458455584}
- {fileID: 6020572084117474320}
m_Father: {fileID: 1774531537854147144}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &4856874394301556660
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 5208134106439944552}
m_Modifications:
- target: {fileID: 273039182630653378, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_Name
value: Rogue
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.x
value: -29.53
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.z
value: 11.47
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7102490594246651703, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: GlobalObjectIdHash
value: 1523420517
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
--- !u!4 &4975799049458455584 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
m_PrefabInstance: {fileID: 4856874394301556660}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6190159418551631748
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 5208134106439944552}
m_Modifications:
- target: {fileID: 273039182630653378, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_Name
value: Rogue (1)
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.x
value: -29.49
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalPosition.z
value: 3.58
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.y
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7102490594246651703, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
propertyPath: GlobalObjectIdHash
value: 1523420517
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
--- !u!4 &6020572084117474320 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 462326326808441748, guid: 347c9a55bcfa08347bc5fb513a0e9ad4, type: 3}
m_PrefabInstance: {fileID: 6190159418551631748}
m_PrefabAsset: {fileID: 0}
fileFormatVersion: 2
guid: 97ac290fc57dc044a9e439c8e5a05a23
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -46,6 +46,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d49894b4707dc5f448f3c7c3342e4310, type: 3}
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
enemySettings: {fileID: 11400000, guid: 5b554b15c5ebdf34b851d342d3f332c3, type: 2}
arrow: {fileID: 8885891558877188487, guid: c0cc14b5c48376d43b0421a2762d35cb, type: 3}
weapon: {fileID: 6430031212675530119}
......@@ -214,7 +215,13 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: c88a69f7965560c47b6ffa4eed82887f, type: 3}
insertIndex: -1
addedObject: {fileID: 3797023941742593236}
m_AddedComponents: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c88a69f7965560c47b6ffa4eed82887f, type: 3}
insertIndex: -1
addedObject: {fileID: 9162807971884904140}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: c88a69f7965560c47b6ffa4eed82887f, type: 3}
insertIndex: -1
addedObject: {fileID: 173412709027186461}
m_SourcePrefab: {fileID: 100100000, guid: c88a69f7965560c47b6ffa4eed82887f, type: 3}
--- !u!4 &5942464512878880573 stripped
Transform:
......@@ -226,6 +233,67 @@ GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: c88a69f7965560c47b6ffa4eed82887f, type: 3}
m_PrefabInstance: {fileID: 6196221362579685590}
m_PrefabAsset: {fileID: 0}
--- !u!114 &9162807971884904140
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430031212675530119}
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!114 &173412709027186461
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6430031212675530119}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3}
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
NetworkTransformExpanded: 0
AuthorityMode: 0
TickSyncChildren: 0
UseUnreliableDeltas: 0
SyncPositionX: 1
SyncPositionY: 1
SyncPositionZ: 1
SyncRotAngleX: 1
SyncRotAngleY: 1
SyncRotAngleZ: 1
SyncScaleX: 0
SyncScaleY: 0
SyncScaleZ: 0
PositionThreshold: 0.001
RotAngleThreshold: 0.01
ScaleThreshold: 0.01
UseQuaternionSynchronization: 0
UseQuaternionCompression: 0
UseHalfFloatPrecision: 0
InLocalSpace: 0
SwitchTransformSpaceWhenParented: 0
Interpolate: 1
SlerpPosition: 0
--- !u!1001 &6595050288222494873
PrefabInstance:
m_ObjectHideFlags: 0
......@@ -291,6 +359,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a577d9f96e34b5b4bb53a563b9fcf3e9, type: 3}
insertIndex: -1
addedObject: {fileID: 5907138048780906194}
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a577d9f96e34b5b4bb53a563b9fcf3e9, type: 3}
insertIndex: -1
addedObject: {fileID: 4697097011662800712}
m_SourcePrefab: {fileID: 100100000, guid: a577d9f96e34b5b4bb53a563b9fcf3e9, type: 3}
--- !u!4 &5640393319647876343 stripped
Transform:
......@@ -336,6 +407,42 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f756dd42a94556a4489ea5f3fa82f1c2, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &4697097011662800712
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6289059839580298696}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ba9c15d5ab0232141b58b853ca3697fb, type: 3}
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
TransitionStateInfoList:
- IsCrossFadeExit: 0
Layer: 0
OriginatingState: 2081823275
DestinationState: 153482222
TransitionDuration: 0.25
TriggerNameHash: 153482222
TransitionIndex: 0
- IsCrossFadeExit: 0
Layer: 0
OriginatingState: 2081823275
DestinationState: -1525363869
TransitionDuration: 0.24999988
TriggerNameHash: -1525363869
TransitionIndex: 1
- IsCrossFadeExit: 0
Layer: 0
OriginatingState: 153482222
DestinationState: 1080829965
TransitionDuration: 0.25
TriggerNameHash: 1080829965
TransitionIndex: 0
m_Animator: {fileID: 568773292121004276}
--- !u!4 &6632933873018439538 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: a577d9f96e34b5b4bb53a563b9fcf3e9, type: 3}
......
......@@ -554,7 +554,14 @@ ModelImporter:
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
events:
- time: 0.91644907
functionName: ReceiveTargetReloadEventFromAnimator
data:
objectReferenceParameter: {fileID: 11500000, guid: f756dd42a94556a4489ea5f3fa82f1c2, type: 3}
floatParameter: 0
intParameter: 0
messageOptions: 0
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
......
......@@ -30,7 +30,8 @@ Transform:
m_LocalPosition: {x: 1.9441636, y: -0.5603608, z: -1.2710799}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 4464205841933766465}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6720401888809174077
......@@ -45,8 +46,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3}
m_Name:
m_EditorClassIdentifier:
GlobalObjectIdHash: 1158095512
InScenePlacedSourceGlobalObjectIdHash: 0
GlobalObjectIdHash: 2107378644
InScenePlacedSourceGlobalObjectIdHash: 389880154
DeferredDespawnTick: 0
Ownership: 1
AlwaysReplicateAsRoot: 0
......@@ -73,3 +74,113 @@ MonoBehaviour:
ShowTopMostFoldoutHeaderGroup: 1
keyPrefab: {fileID: 8050255731901760503, guid: 1d9ae894a89fd38449f1ce889f52d1ad, type: 3}
startGame: 0
--- !u!1001 &2689894207478932745
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 7801895876235266027}
m_Modifications:
- target: {fileID: 941907791769148275, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 3612224711
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.x
value: -1.9441636
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.y
value: 0.5603608
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.z
value: 1.2710799
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1986822543101952835, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 2798456120
objectReference: {fileID: 0}
- target: {fileID: 2447152345714722947, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 330603060
objectReference: {fileID: 0}
- target: {fileID: 3084693600464785736, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 2509712135
objectReference: {fileID: 0}
- target: {fileID: 3996593517719785651, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 3881171382
objectReference: {fileID: 0}
- target: {fileID: 4345904141841320312, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: GlobalObjectIdHash
value: 427917558
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5208134106439944552, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6866275124911934084, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
propertyPath: m_Name
value: EnemySpawner
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
--- !u!4 &4464205841933766465 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1774531537854147144, guid: 97ac290fc57dc044a9e439c8e5a05a23, type: 3}
m_PrefabInstance: {fileID: 2689894207478932745}
m_PrefabAsset: {fileID: 0}
......@@ -12,6 +12,9 @@ GameObject:
- component: {fileID: 1165258639717057592}
- component: {fileID: 3689328238253936162}
- component: {fileID: 8067914320767520699}
- component: {fileID: 8058832186752717783}
- component: {fileID: 7827702596890055830}
- component: {fileID: 2932515728623351091}
m_Layer: 0
m_Name: Arrow
m_TagString: Untagged
......@@ -43,7 +46,7 @@ Rigidbody:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8885891558877188487}
serializedVersion: 4
m_Mass: 1
m_Mass: 10
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
......@@ -60,7 +63,7 @@ Rigidbody:
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_Constraints: 112
m_CollisionDetection: 0
--- !u!114 &3689328238253936162
MonoBehaviour:
......@@ -89,12 +92,90 @@ BoxCollider:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 1
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 0.1, y: 0.1, z: 0.8}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &8058832186752717783
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: 3486418551
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!114 &7827702596890055830
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: e96cb6065543e43c4a752faaa1468eb1, type: 3}
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
NetworkTransformExpanded: 0
AuthorityMode: 0
TickSyncChildren: 0
UseUnreliableDeltas: 0
SyncPositionX: 1
SyncPositionY: 1
SyncPositionZ: 1
SyncRotAngleX: 1
SyncRotAngleY: 1
SyncRotAngleZ: 1
SyncScaleX: 0
SyncScaleY: 0
SyncScaleZ: 0
PositionThreshold: 0.001
RotAngleThreshold: 0.01
ScaleThreshold: 0.01
UseQuaternionSynchronization: 0
UseQuaternionCompression: 0
UseHalfFloatPrecision: 0
InLocalSpace: 0
SwitchTransformSpaceWhenParented: 0
Interpolate: 1
SlerpPosition: 0
--- !u!114 &2932515728623351091
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: f6c0be61502bb534f922ebb746851216, type: 3}
m_Name:
m_EditorClassIdentifier:
ShowTopMostFoldoutHeaderGroup: 1
NetworkRigidbodyBaseExpanded: 0
UseRigidBodyForMotion: 0
AutoUpdateKinematicState: 1
AutoSetKinematicOnDespawn: 1
--- !u!1001 &6279328471144270833
PrefabInstance:
m_ObjectHideFlags: 0
......
......@@ -17,4 +17,4 @@ MonoBehaviour:
m_Bits: 512
detectionRange: 7
shootingRange: 10
shootingDelay: 2
shootingDelay: 4
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