zvuki tuda suda

This commit is contained in:
Oscar 2024-03-21 18:28:37 +03:00
parent dac0c37621
commit d06210b634
24 changed files with 5801 additions and 169 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,219 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3284751624330351903
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3284751624330709311}
- component: {fileID: 3284751624331512095}
- component: {fileID: 3284751624332610527}
m_Layer: 0
m_Name: Light_01
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3284751624330709311
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3284751624330351903}
m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068}
m_LocalPosition: {x: -3.9222198, y: 7.8, z: 2.6223996}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7396451232646831106}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3284751624331512095
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3284751624330351903}
m_Mesh: {fileID: 4300000, guid: 45d2e8119c39748209c49281be62d9a7, type: 3}
--- !u!23 &3284751624332610527
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3284751624330351903}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 91a1b05a08a334950a599b252610e8cf, type: 2}
- {fileID: 2100000, guid: 34e48a3ce50b34c339d8fc61e309e31d, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &8330344985427549349
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7396451232646831106}
- component: {fileID: 2324529651556420333}
- component: {fileID: 131160958841630461}
- component: {fileID: 4661712650867519974}
m_Layer: 0
m_Name: Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7396451232646831106
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8330344985427549349}
m_LocalRotation: {x: 0, y: -1, z: 0, w: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3284751624330709311}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -180, z: 0}
--- !u!108 &2324529651556420333
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8330344985427549349}
m_Enabled: 1
serializedVersion: 10
m_Type: 0
m_Shape: 0
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 100
m_Range: 65.201385
m_SpotAngle: 104.02255
m_InnerSpotAngle: 45.537075
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 20
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!114 &131160958841630461
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8330344985427549349}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 1
m_UsePipelineSettings: 1
m_AdditionalLightsShadowResolutionTier: 1
m_LightLayerMask: 1
m_CustomShadowLayers: 0
m_ShadowLayerMask: 1
m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0}
--- !u!114 &4661712650867519974
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8330344985427549349}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1560e0c42f6e77d429c1440b33c57ccc, type: 3}
m_Name:
m_EditorClassIdentifier:
maximumDim: 100
maximumBoost: 100
speed: 0.1
strength: 250

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 56e289ac2ac8b334ba74fb949dca58bd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -64,6 +64,7 @@ Transform:
- {fileID: 6954175736278366304} - {fileID: 6954175736278366304}
- {fileID: 130507569756096231} - {fileID: 130507569756096231}
- {fileID: 1730013645827481272} - {fileID: 1730013645827481272}
- {fileID: 3760302170776146783}
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}
@ -186,10 +187,10 @@ MonoBehaviour:
clientAuthority: 0 clientAuthority: 0
sendInterval: 0.05 sendInterval: 0.05
syncPosition: 1 syncPosition: 1
syncRotation: 1 syncRotation: 0
syncScale: 0 syncScale: 0
interpolatePosition: 1 interpolatePosition: 0
interpolateRotation: 1 interpolateRotation: 0
interpolateScale: 0 interpolateScale: 0
bufferTimeMultiplier: 1 bufferTimeMultiplier: 1
bufferSizeLimit: 64 bufferSizeLimit: 64
@ -203,6 +204,62 @@ MonoBehaviour:
showGizmos: 0 showGizmos: 0
showOverlay: 0 showOverlay: 0
overlayColor: {r: 0, g: 0, b: 0, a: 0.5} overlayColor: {r: 0, g: 0, b: 0, a: 0.5}
--- !u!1 &6319679230536888360
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3760302170776146783}
- component: {fileID: 3921398927715302553}
m_Layer: 0
m_Name: ReverbZone
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3760302170776146783
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6319679230536888360}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 3, y: 3, z: 3}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8105026293294623414}
m_RootOrder: 30
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!167 &3921398927715302553
AudioReverbZone:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6319679230536888360}
m_Enabled: 1
m_MinDistance: 10
m_MaxDistance: 14.261822
m_ReverbPreset: 4
m_Room: -1000
m_RoomHF: -1200
m_DecayTime: 1.49
m_DecayHFRatio: 0.54
m_Reflections: -370
m_ReflectionsDelay: 0.007
m_Reverb: 1030
m_ReverbDelay: 0.011
m_HFReference: 5000
m_Diffusion: 100
m_Density: 60
m_LFReference: 250
m_RoomLF: 0
--- !u!1001 &399836379701063749 --- !u!1001 &399836379701063749
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -244,6 +244,63 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b76f846b3379607468a593969b575654, type: 3} m_SourcePrefab: {fileID: 100100000, guid: b76f846b3379607468a593969b575654, type: 3}
--- !u!1001 &3037140655221281167
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 1680098935253317266}
m_Modifications:
- target: {fileID: 3284751624330351903, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_Name
value: Light_01
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_RootOrder
value: 40
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalPosition.x
value: -3.9222198
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalPosition.y
value: 7.8
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalPosition.z
value: 2.6223996
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalRotation.w
value: 0.7071068
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalRotation.x
value: -0.7071068
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3284751624330709311, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 56e289ac2ac8b334ba74fb949dca58bd, type: 3}
--- !u!1001 &3558816819179829879 --- !u!1001 &3558816819179829879
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -499,6 +556,10 @@ PrefabInstance:
propertyPath: m_Name propertyPath: m_Name
value: Room_1 value: Room_1
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3760302170776146783, guid: ef77c701b7af7b54a8b002554a3cea5d, type: 3}
propertyPath: m_RootOrder
value: 39
objectReference: {fileID: 0}
- target: {fileID: 8105026293294623414, guid: ef77c701b7af7b54a8b002554a3cea5d, type: 3} - target: {fileID: 8105026293294623414, guid: ef77c701b7af7b54a8b002554a3cea5d, type: 3}
propertyPath: m_RootOrder propertyPath: m_RootOrder
value: 0 value: 0

BIN
Assets/Resources/Audio/CharacterSounds/ya_maslinu_poymal.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 9e25b5f2e0f497f41a9bb2e7d513fb50
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1e3badbd63a9ffc4b8a674e0fc98ca49
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Resources/Audio/Dota2/first_blood.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: dfbf2d6d12238fa4aa866465aeb6e687
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Resources/Audio/Dota2/holy_shit.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: f630253bf412f22448b23f93ac375c74
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/Resources/Audio/Dota2/the_battle_begins.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 296a990a18415d144acbda24304182d3
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ namespace Characters.Enemy.States
{ {
_enemy = enemy; _enemy = enemy;
_navMeshData = NavMesh.CalculateTriangulation(); _navMeshData = NavMesh.CalculateTriangulation();
//NavMeshTriangulator.Data; Debug.Log("<--Triangulation calculated-->");
} }
[ServerCallback] [ServerCallback]

View File

@ -26,6 +26,7 @@ public class Interactions : NetworkBehaviour
public Light flashLight; public Light flashLight;
public GameObject hitVFX; public GameObject hitVFX;
public float shootSpread = 0.5f;
[SyncVar] [SyncVar]
private float gunLayerWeight, _gunSpread; private float gunLayerWeight, _gunSpread;
@ -176,7 +177,7 @@ public class Interactions : NetworkBehaviour
if (Input.GetKeyDown(KeyCode.Mouse0) && _canAttack && controller.currentEnergy > controller.shootDepletion) if (Input.GetKeyDown(KeyCode.Mouse0) && _canAttack && controller.currentEnergy > controller.shootDepletion)
{ {
_gunSpread = Time.time + .5f; _gunSpread = Time.time + shootSpread;
controller.InstantStaminaReduction(controller.shootDepletion); controller.InstantStaminaReduction(controller.shootDepletion);
Physics.Raycast(ray, out RaycastHit hitInfo); //shootPoint.position, new Vector3(Screen.width / 2, Screen.height / 2, 0) GameObject instance = Instantiate(hitVFX, hitInfo.point, Quaternion.LookRotation(hitInfo.normal)); Physics.Raycast(ray, out RaycastHit hitInfo); //shootPoint.position, new Vector3(Screen.width / 2, Screen.height / 2, 0) GameObject instance = Instantiate(hitVFX, hitInfo.point, Quaternion.LookRotation(hitInfo.normal));
@ -187,9 +188,11 @@ public class Interactions : NetworkBehaviour
if (pawn != null) if (pawn != null)
{ {
//suda
CmdHitPawn(pawn); CmdHitPawn(pawn);
controller.InstantStaminaRegeneration(controller.shootDepletion * 2);
} }
//
// var player = hitInfo.transform.gameObject.GetComponent<PersonController>(); // var player = hitInfo.transform.gameObject.GetComponent<PersonController>();
// if (player != null) // if (player != null)
// { // {

View File

@ -235,8 +235,8 @@ namespace StarterAssets
} }
} }
public float currentEnergy = 100f, shootDepletion = 15f, _flashLightDepletion = 0.3f; public float currentEnergy = 100f, shootDepletion = 15f, _flashLightDepletion = 0.4f;
private float _maxEnergy = 1000f, _depletionSpeed = 0.5f, _regenerationSpeed = 1f, _jumpDepletion = 5f; private float _maxEnergy = 300f, _depletionSpeed = 0.5f, _regenerationSpeed = 1f, _jumpDepletion = 5f;
private void CalculateEnergy() private void CalculateEnergy()
{ {
if (Input.GetKey(KeyCode.LeftShift) && _inputMove.magnitude != 0) if (Input.GetKey(KeyCode.LeftShift) && _inputMove.magnitude != 0)
@ -255,11 +255,11 @@ namespace StarterAssets
} }
public void InstantStaminaReduction(float Reduction) public void InstantStaminaReduction(float Reduction)
{ {
currentEnergy = Mathf.Clamp(currentEnergy -= Reduction, 0, _maxEnergy); currentEnergy = currentEnergy -= Reduction;
} }
public void InstantStaminaRegeneration(float Regeneration) public void InstantStaminaRegeneration(float Regeneration)
{ {
currentEnergy = Mathf.Clamp(currentEnergy += Regeneration, 0, _maxEnergy); currentEnergy = currentEnergy += Regeneration;
CmdGotEnergy(); CmdGotEnergy();
} }
@ -378,7 +378,7 @@ namespace StarterAssets
public override void TakeDamage() public override void TakeDamage()
{ {
_animator.SetTrigger("damage"); _animator.SetTrigger("damage");
InstantStaminaReduction(shootDepletion * 0.7f); InstantStaminaReduction(shootDepletion);
// Debug.Log(self.GetComponent<PersonController>().playerName); // Debug.Log(self.GetComponent<PersonController>().playerName);
// hitVFX.Stop(); // hitVFX.Stop();

View File

@ -49,6 +49,7 @@ public class CellSpawner : NetworkBehaviour
void SpawnPref() void SpawnPref()
{ {
_instance = Instantiate(prefab, transform.position + transform.up * 1.2f, Quaternion.identity); //* 1.8f _instance = Instantiate(prefab, transform.position + transform.up * 1.2f, Quaternion.identity); //* 1.8f
_instance.transform.SetParent(transform, false);
NetworkServer.Spawn(_instance); NetworkServer.Spawn(_instance);
_spawnStarted = false; _spawnStarted = false;
_maxConnections--; _maxConnections--;

View File

@ -28,7 +28,8 @@ public class EnergyCellManager : NetworkBehaviour
void SpawnEnergyCell() void SpawnEnergyCell()
{ {
Vector3 randomPosition = new Vector3(Random.Range(-6, 6), 0f, Random.Range(-6, 6)); Vector3 randomPosition = new Vector3(Random.Range(-6, 6), 0f, Random.Range(-6, 6));
GameObject go = Instantiate(prefab, transform.position + _offset + randomPosition, quaternion.identity); GameObject go = Instantiate(prefab, transform.position + _offset + randomPosition, Quaternion.identity);
go.transform.SetParent(transform, false);
NetworkServer.Spawn(go); NetworkServer.Spawn(go);
} }
} }

View File

@ -25,6 +25,8 @@ namespace Level.BuildModules
private int _startCellX = 0; private int _startCellX = 0;
private int _startCellY = 0; private int _startCellY = 0;
public event Action levelBuilded;
private CustomNetworkManager networkManager; private CustomNetworkManager networkManager;
public GameObject enemyPrefab; public GameObject enemyPrefab;
@ -36,10 +38,18 @@ namespace Level.BuildModules
{ {
if(!isServer) yield break; if(!isServer) yield break;
networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
levelBuilded += CheckGameStart;
while (networkManager.players.Count != networkManager.maxConnections)
{
yield return new WaitForSecondsRealtime(1f);
}
_size = PlayerPrefs.GetInt("LevelSize"); _size = PlayerPrefs.GetInt("LevelSize");
_spawnedRooms = new Room[_size, _size]; _spawnedRooms = new Room[_size, _size];
_spawnedRooms[_startCellX, _startCellY] = startingRoom; _spawnedRooms[_startCellX, _startCellY] = startingRoom;
networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
for (int i = 0; i < _size; i++) for (int i = 0; i < _size; i++)
{ {
@ -47,12 +57,11 @@ namespace Level.BuildModules
{ {
yield return new WaitForSecondsRealtime(0.1f); yield return new WaitForSecondsRealtime(0.1f);
} }
yield return new WaitForSecondsRealtime(1f);
PlaceOneRoom(); PlaceOneRoom();
} }
yield return new WaitForSecondsRealtime(1f); yield return new WaitForSecondsRealtime(1f); //Time for good build navmesh
print("<---Rooms Spawned--->"); print("<---Rooms Spawned--->");
@ -60,13 +69,13 @@ namespace Level.BuildModules
print("<---Surface builded--->"); print("<---Surface builded--->");
networkManager.OnPlayerSpawned += OnPlayerSpawned; yield return new WaitForSecondsRealtime(3f); //Time before start game
levelBuilded?.Invoke();
} }
private void OnPlayerSpawned() private void CheckGameStart()
{ {
print("OnPlayerSpawned");
if (enemyList.Count == networkManager.maxMonsters) return; if (enemyList.Count == networkManager.maxMonsters) return;
if (networkManager.players.Count == networkManager.maxConnections) if (networkManager.players.Count == networkManager.maxConnections)
@ -74,6 +83,10 @@ namespace Level.BuildModules
MonsterSpawn(); MonsterSpawn();
CubeSpawn(); CubeSpawn();
NetworkGameManager.singleton.RpcPlaySound(GameSounds.StartSound);
print("Game started");
} }
} }
@ -119,7 +132,7 @@ namespace Level.BuildModules
} }
} }
Room newRoom = Instantiate(roomPrefabs[Random.Range(0, roomPrefabs.Length)]); Room newRoom = Instantiate(roomPrefabs[Random.Range(0, roomPrefabs.Length)], startingRoom.transform, false);
NetworkServer.Spawn(newRoom.gameObject); NetworkServer.Spawn(newRoom.gameObject);
int limit = 500; int limit = 500;

View File

@ -48,14 +48,19 @@ public class CustomNetworkManager : NetworkManager
OnSceneChanged?.Invoke(); OnSceneChanged?.Invoke();
} }
public void OnConnectedToServer() // public void OnConnectedToServer()
{ // {
print("OnConnectedToServer"); // print("OnConnectedToServer");
if (players.Count == maxConnections) // if (players.Count == maxConnections)
{ // {
//
// }
// }
} // public override void OnServerConnect(NetworkConnectionToClient conn)
} // {
// print(conn.address);
// }
public override void OnServerAddPlayer(NetworkConnectionToClient conn) public override void OnServerAddPlayer(NetworkConnectionToClient conn)
{ {
@ -65,7 +70,6 @@ public class CustomNetworkManager : NetworkManager
Pawn player = conn.identity.GetComponent<Pawn>(); Pawn player = conn.identity.GetComponent<Pawn>();
player.OnLiveState += OnLiveState; player.OnLiveState += OnLiveState;
print("OnPlayerSpawned?.Invoke");
OnPlayerSpawned?.Invoke(); OnPlayerSpawned?.Invoke();
} }

View File

@ -5,6 +5,13 @@ using Mirror;
using System; using System;
using Characters; using Characters;
public enum GameSounds : byte
{
FirstBlood = 0,
StartSound,
PlayerDied,
}
public class NetworkGameManager : NetworkBehaviour public class NetworkGameManager : NetworkBehaviour
{ {
public static NetworkGameManager singleton { get; private set; } public static NetworkGameManager singleton { get; private set; }
@ -12,6 +19,7 @@ public class NetworkGameManager : NetworkBehaviour
private int _level; private int _level;
public AudioSource AudioSource;
public GameObject enemyPrefab; public GameObject enemyPrefab;
public List<GameObject> enemyList = new(); public List<GameObject> enemyList = new();
@ -19,6 +27,27 @@ public class NetworkGameManager : NetworkBehaviour
public bool gameStart = false; public bool gameStart = false;
public event Action RestartCallback; public event Action RestartCallback;
private AudioClip _firstBloodSound, _startSound, _playerDiedSound;
public AudioClip GetClipByType(GameSounds type)
{
switch (type)
{
case GameSounds.FirstBlood:
return _firstBloodSound;
case GameSounds.StartSound:
return _startSound;
case GameSounds.PlayerDied:
return _playerDiedSound;
default:
return _startSound;
}
}
void Awake() void Awake()
{ {
if (singleton != null && singleton != this) if (singleton != null && singleton != this)
@ -35,6 +64,10 @@ public class NetworkGameManager : NetworkBehaviour
{ {
_level = PlayerPrefs.GetInt("Level"); _level = PlayerPrefs.GetInt("Level");
_startSound = Resources.Load<AudioClip>("Audio/Dota2/the_battle_begins");
_firstBloodSound = Resources.Load<AudioClip>("Audio/Dota2/first_blood");
_playerDiedSound = Resources.Load<AudioClip>("Audio/CharacterSounds/ya_maslinu_poymal");
networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>(); networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
networkManager.OnLiveStateCallback += OnLiveStateCallback; networkManager.OnLiveStateCallback += OnLiveStateCallback;
@ -46,9 +79,23 @@ public class NetworkGameManager : NetworkBehaviour
// } // }
} }
private int _bufPlayerCount = 0;
[Server] [Server]
void OnLiveStateCallback() void OnLiveStateCallback()
{ {
if (networkManager.alive.Count == networkManager.players.Count - 1)
{
RpcPlaySound(GameSounds.FirstBlood);
_bufPlayerCount = networkManager.alive.Count;
}
else if (networkManager.alive.Count < _bufPlayerCount)
{
RpcPlaySound(GameSounds.PlayerDied);
_bufPlayerCount = networkManager.alive.Count;
//PROVERIT!
}
if (networkManager.dead.Count == networkManager.players.Count) if (networkManager.dead.Count == networkManager.players.Count)
{ {
CmdRestartScene(); CmdRestartScene();
@ -60,6 +107,13 @@ public class NetworkGameManager : NetworkBehaviour
} }
} }
[ClientRpc]
public void RpcPlaySound(GameSounds type)
{
AudioSource.PlayOneShot(GetClipByType(type));
}
[ClientRpc] [ClientRpc]
public void SetWinner(GameObject gameObject) public void SetWinner(GameObject gameObject)
{ {

View File

@ -36,6 +36,9 @@ public class NetworkManagerUI : MonoBehaviour
void Start() void Start()
{ {
manager = (CustomNetworkManager)NetworkManager.singleton;
print(manager);
nicknameInput.text = PlayerPrefs.GetString("NickName"); nicknameInput.text = PlayerPrefs.GetString("NickName");
manager.networkAddress = PlayerPrefs.GetString("Adress"); manager.networkAddress = PlayerPrefs.GetString("Adress");
adressInput.text = PlayerPrefs.GetString("Adress"); adressInput.text = PlayerPrefs.GetString("Adress");