add some extra assets FX and SFX

This commit is contained in:
Robii Aragon
2026-03-29 23:03:14 -07:00
parent 6ef3eb1535
commit 24dc66a81e
10142 changed files with 2535978 additions and 36608 deletions

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/activateReactionSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -100,6 +100,15 @@ public class applyDamage : MonoBehaviour
}
}
public static void setDamageOrHealthTargetWithDelay (GameObject objectToDamage, float waitAmount, float valueAmount, int damageTypeID)
{
healthManagement currentHealthManagement = objectToDamage.GetComponent<healthManagement> ();
if (currentHealthManagement != null) {
currentHealthManagement.setDamageOrHealthTargetWithDelayWithHealthManagement (waitAmount, valueAmount, damageTypeID);
}
}
public static void sedateCharacter (GameObject objectToDamage, Vector3 position, float sedateDelay, bool useWeakSpotToReduceDelay, bool sedateUntilReceiveDamage, float sedateDuration)
{
healthManagement currentHealthManagement = objectToDamage.GetComponent<healthManagement> ();

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/applyDamage.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/applyDamageOnArea.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/applyDissolveOnArea.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/applyEffectOnArea.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/applyHealOnArea.cs
uploadId: 814740
uploadId: 889948

View File

@@ -221,6 +221,11 @@ public class characterDamageReceiver : healthManagement
healthManager.stopDamageOverTime ();
}
public override void setDamageOrHealthTargetWithDelayWithHealthManagement (float waitAmount, float valueAmount, int damageTypeID)
{
healthManager.setDamageOrHealthTargetWithDelay (waitAmount, valueAmount, damageTypeID);
}
public override void sedateCharacterithHealthManagement (Vector3 position, float sedateDelay, bool useWeakSpotToReduceDelay, bool sedateUntilReceiveDamage, float sedateDuration)
{
healthManager.sedateCharacter (position, sedateDelay, useWeakSpotToReduceDelay, sedateUntilReceiveDamage, sedateDuration);

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/characterDamageReceiver.cs
uploadId: 814740
uploadId: 889948

View File

@@ -272,6 +272,14 @@ public class damageHitReactionSystem : MonoBehaviour
}
}
}
if (currentHitReactionInfo.damageReactionIDMustMatch) {
canCheckRegularReaction = false;
if (showDebugPrint) {
print ("damage reaction ID doesn't match for " + currentHitReactionInfo.Name);
}
}
}
if (canCheckRegularReaction) {
@@ -282,7 +290,7 @@ public class damageHitReactionSystem : MonoBehaviour
}
if (ignoreMinAmountToReceiveDamage) {
canCheckReaction = true;
canCheckReaction = true;
}
if (blockDamageActive && (damageBlocked || damageReceived == 0)) {
@@ -294,11 +302,19 @@ public class damageHitReactionSystem : MonoBehaviour
}
if (canCheckReaction) {
if (showDebugPrint) {
print (currentHitReactionInfo.Name + " " + maxDamageFound + " " + currentHitReactionInfo.minAmountToReceiveDamage + " " + damageReactionID);
}
if (currentHitReactionInfo.minAmountToReceiveDamage > maxDamageFound) {
if (damageReactionID > -1 ||
(currentHitReactionInfo.damageDirection == hitDamageDirection.anyDirection ||
currentHitReactionInfo.damageDirection == currenthitDamageDirection)) {
if (showDebugPrint) {
print ("new value found " + currentHitReactionInfo.Name);
}
maxDamageFound = currentHitReactionInfo.minAmountToReceiveDamage;
hitReactionIndex = i;
@@ -484,8 +500,6 @@ public class damageHitReactionSystem : MonoBehaviour
public void checkDamageStateTemporally (float damageReceived, bool damageBlockedByShieldSystem)
{
// print (damageReceived);
bool damageStateFound = false;
if (damageReceived > 0) {
@@ -500,7 +514,6 @@ public class damageHitReactionSystem : MonoBehaviour
if (!damageStateFound && currentDamageStateInfo.damageStateEnabled) {
if (currentDamageStateInfo.damageStateRange.x <= damageReceived &&
currentDamageStateInfo.damageStateRange.y >= damageReceived) {
// print (currentDamageStateInfoName);
currentDamageStateInfo.eventOnDamageState.Invoke ();
@@ -518,8 +531,6 @@ public class damageHitReactionSystem : MonoBehaviour
if (currentDamageStateInfo.useAsDefaultState) {
currentDamageStateInfo.eventOnDamageState.Invoke ();
// print (currentDamageStateInfo.Name);
damageStateFound = true;
}
}
@@ -671,6 +682,10 @@ public class damageHitReactionSystem : MonoBehaviour
public int damageReactionID = -1;
public bool damageReactionIDMustMatch;
[Space]
public string reactionCategory;
public float minAmountToReceiveDamage;

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageHitReactionSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageInScreen.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageOnScreenInfoSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageOrHealTrigger.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/damageScreenSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -6,373 +6,389 @@ using UnityEngine.Events;
public class destroyableObject : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
[Header ("Main Settings")]
[Space]
public bool explosionEnabled = true;
public GameObject destroyedParticles;
public AudioClip destroyedSound;
public AudioElement destroyedAudioElement;
public bool explosionEnabled = true;
public GameObject destroyedParticles;
public AudioClip destroyedSound;
public AudioElement destroyedAudioElement;
[Space]
[Header ("Explosion Settings")]
[Space]
[Space]
[Header ("Explosion Settings")]
[Space]
public bool useExplosionForceWhenDestroyed;
public float explosionRadius;
public float explosionForce;
public float explosionDamage;
public bool ignoreShield;
public bool useExplosionForceWhenDestroyed;
public float explosionRadius;
public float explosionForce;
public float explosionDamage;
public bool ignoreShield;
public int damageTypeID = -1;
public int damageTypeID = -1;
public bool damageCanBeBlocked = true;
public bool damageCanBeBlocked = true;
public bool killObjectsInRadius;
public ForceMode forceMode;
public bool killObjectsInRadius;
public ForceMode forceMode;
public bool applyExplosionForceToVehicles = true;
public float explosionForceToVehiclesMultiplier = 0.2f;
public bool applyExplosionForceToVehicles = true;
public float explosionForceToVehiclesMultiplier = 0.2f;
public bool pushCharactersOnExplosion = true;
public bool pushCharactersOnExplosion = true;
public bool searchClosestWeakSpot;
public bool searchClosestWeakSpot;
[Space]
[Header ("Damage Over Time Settings")]
[Space]
[Space]
[Header ("Damage Over Time Settings")]
[Space]
public bool damageTargetOverTime;
public float damageOverTimeDelay;
public float damageOverTimeDuration;
public float damageOverTimeAmount;
public float damageOverTimeRate;
public bool damageOverTimeToDeath;
public bool removeDamageOverTimeState;
public bool damageTargetOverTime;
public float damageOverTimeDelay;
public float damageOverTimeDuration;
public float damageOverTimeAmount;
public float damageOverTimeRate;
public bool damageOverTimeToDeath;
public bool removeDamageOverTimeState;
[Space]
[Header ("Detect Objects Settings")]
[Space]
[Space]
[Header ("Detect Objects Settings")]
[Space]
public bool userLayerMask;
public LayerMask layer;
public bool userLayerMask;
public LayerMask layer;
[Space]
[Header ("Remote Events Settings")]
[Space]
[Space]
[Header ("Remote Events Settings")]
[Space]
public bool useRemoteEventOnObjectsFound;
public string removeEventName;
public bool useRemoteEventOnObjectsFound;
public string removeEventName;
[Space]
[Header ("Object Pieces Settings")]
[Space]
[Space]
[Header ("Object Pieces Settings")]
[Space]
public bool fadePiecesEnabled = true;
public float timeToFadePieces;
public bool fadePiecesEnabled = true;
public float timeToFadePieces;
public bool storeRendererParts = true;
public bool disableColliders = true;
public bool storeRendererParts = true;
public bool disableColliders = true;
public bool destroyObjectAfterFacePieces = true;
public Shader transparentShader;
public bool destroyObjectAfterFacePieces = true;
public Shader transparentShader;
public string defaultShaderName = "Legacy Shaders/Transparent/Diffuse";
public string defaultShaderName = "Legacy Shaders/Transparent/Diffuse";
[Space]
[Header ("Meshes Force Settings")]
[Space]
public string colorPropertyName = "_Color";
public float meshesExplosionForce = 500;
public float meshesExplosionRadius = 50;
public ForceMode meshesExplosionForceMode;
[Space]
[Header ("Meshes Force Settings")]
[Space]
[Space]
[Header ("Extra Pieces Settings")]
[Space]
public float meshesExplosionForce = 500;
public float meshesExplosionRadius = 50;
public ForceMode meshesExplosionForceMode;
public bool useExtraParts;
public List<GameObject> extraParts = new List<GameObject> ();
[Space]
[Header ("Extra Pieces Settings")]
[Space]
[Space]
[Header ("Events Settings")]
[Space]
public bool useExtraParts;
public List<GameObject> extraParts = new List<GameObject> ();
public bool useEventOnObjectDestroyed;
public UnityEvent eventOnObjectDestroyed;
[Space]
[Header ("Events Settings")]
[Space]
public bool useEventOnObjectBeforeDestroyed;
public UnityEvent eventOnObjectBeforeDestroyed;
public bool useEventOnObjectDestroyed;
public UnityEvent eventOnObjectDestroyed;
[Space]
[Header ("Debug")]
[Space]
public bool useEventOnObjectBeforeDestroyed;
public UnityEvent eventOnObjectBeforeDestroyed;
public bool destroyed;
[Space]
[Header ("Debug")]
[Space]
[Space]
[Header ("Gizmo Settings")]
[Space]
public bool destroyed;
public bool showGizmo;
[Space]
[Header ("Gizmo Settings")]
[Space]
[Space]
[Header ("Components")]
[Space]
public bool showGizmo;
public Rigidbody mainRigidbody;
public mapObjectInformation mapInformationManager;
public AudioSource destroyedSource;
[Space]
[Header ("Components")]
[Space]
public Transform explosionCenter;
public Rigidbody mainRigidbody;
public mapObjectInformation mapInformationManager;
public AudioSource destroyedSource;
public Transform explosionCenter;
List<Material> rendererParts = new List<Material> ();
bool objectDisabled;
List<Material> rendererParts = new List<Material> ();
bool objectDisabled;
void Start ()
{
if (mainRigidbody == null) {
mainRigidbody = GetComponent<Rigidbody> ();
}
Material currentMaterial;
if (mapInformationManager == null) {
mapInformationManager = GetComponent<mapObjectInformation> ();
}
if (destroyedSource == null) {
destroyedSource = GetComponent<AudioSource> ();
}
int colorID = -1;
if (destroyedSound != null) {
destroyedAudioElement.clip = destroyedSound;
}
if (destroyedSource != null) {
destroyedAudioElement.audioSource = destroyedSource;
}
}
void Start ()
{
if (mainRigidbody == null) {
mainRigidbody = GetComponent<Rigidbody> ();
}
void Update ()
{
if (destroyed && !objectDisabled) {
if (destroyObjectAfterFacePieces) {
if (timeToFadePieces > 0) {
timeToFadePieces -= Time.deltaTime;
}
if (mapInformationManager == null) {
mapInformationManager = GetComponent<mapObjectInformation> ();
}
if (storeRendererParts) {
if (timeToFadePieces <= 0) {
if (fadePiecesEnabled) {
int piecesAmountFade = 0;
if (destroyedSource == null) {
destroyedSource = GetComponent<AudioSource> ();
}
for (int i = 0; i < rendererParts.Count; i++) {
Color alpha = rendererParts [i].color;
if (destroyedSound != null) {
destroyedAudioElement.clip = destroyedSound;
}
alpha.a -= Time.deltaTime / 5;
if (destroyedSource != null) {
destroyedAudioElement.audioSource = destroyedSource;
}
}
rendererParts [i].color = alpha;
void Update ()
{
if (destroyed && !objectDisabled) {
if (destroyObjectAfterFacePieces) {
if (timeToFadePieces > 0) {
timeToFadePieces -= Time.deltaTime;
}
if (alpha.a <= 0) {
piecesAmountFade++;
}
}
if (storeRendererParts) {
if (timeToFadePieces <= 0) {
if (fadePiecesEnabled) {
int piecesAmountFade = 0;
if (piecesAmountFade == rendererParts.Count) {
Destroy (gameObject);
}
} else {
Destroy (gameObject);
}
}
} else {
if (timeToFadePieces <= 0) {
Destroy (gameObject);
}
}
} else {
objectDisabled = true;
}
}
}
for (int i = 0; i < rendererParts.Count; i++) {
currentMaterial = rendererParts [i];
//Destroy the object
public void destroyObject ()
{
if (!explosionEnabled) {
return;
}
if (destroyed) {
return;
}
//instantiated an explosiotn particles
if (destroyedParticles != null) {
GameObject destroyedParticlesClone = (GameObject)Instantiate (destroyedParticles, transform.position, transform.rotation);
destroyedParticlesClone.transform.SetParent (transform);
}
if (destroyedAudioElement != null) {
AudioPlayer.PlayOneShot (destroyedAudioElement, gameObject);
}
//set the velocity of the object to zero
if (mainRigidbody != null) {
mainRigidbody.linearVelocity = Vector3.zero;
mainRigidbody.isKinematic = true;
}
//get every renderer component if the object
if (storeRendererParts) {
if (fadePiecesEnabled) {
if (transparentShader == null) {
transparentShader = Shader.Find (defaultShaderName);
}
}
Component[] components = GetComponentsInChildren (typeof(MeshRenderer));
List<Component> componentsList = new List<Component> (components);
if (useExtraParts) {
int extraPartsCount = extraParts.Count;
for (int j = 0; j < extraPartsCount; j++) {
GameObject currentObject = extraParts [j];
if (currentObject != null) {
Component[] extraComponents = currentObject.GetComponentsInChildren (typeof(MeshRenderer));
if (extraComponents.Length > 0) {
componentsList.AddRange (extraComponents);
}
}
}
}
int ignoreRaycastLayerIndex = LayerMask.NameToLayer ("Ignore Raycast");
int layerToIgnoreIndex = LayerMask.NameToLayer ("Scanner");
int componentsListCount = componentsList.Count;
for (int i = 0; i < componentsListCount; i++) {
MeshRenderer child = componentsList [i] as MeshRenderer;
if (child != null && child.gameObject.layer != layerToIgnoreIndex) {
if (child.enabled) {
if (fadePiecesEnabled) {
//for every renderer object, change every shader in it for a transparent shader
for (int j = 0; j < child.materials.Length; j++) {
child.materials [j].shader = transparentShader;
rendererParts.Add (child.materials [j]);
}
}
//set the layer ignore raycast to them
child.gameObject.layer = ignoreRaycastLayerIndex;
//add rigidbody and box collider to them
Rigidbody currentRigidbody = child.gameObject.GetComponent<Rigidbody> ();
if (currentRigidbody == null) {
currentRigidbody = child.gameObject.AddComponent<Rigidbody> ();
} else {
currentRigidbody.isKinematic = false;
currentRigidbody.useGravity = true;
}
Collider currentCollider = child.gameObject.GetComponent<Collider> ();
if (currentCollider == null) {
currentCollider = child.gameObject.AddComponent<BoxCollider> ();
}
//apply explosion force
currentRigidbody.AddExplosionForce (meshesExplosionForce, transform.position, meshesExplosionRadius, 3, meshesExplosionForceMode);
}
}
}
}
if (disableColliders) {
//any other object with a collider but with out renderer, is disabled
Component[] collidersInObject = GetComponentsInChildren (typeof(Collider));
int collidersInObjectLength = collidersInObject.Length;
for (int i = 0; i < collidersInObjectLength; i++) {
Collider currentCollider = collidersInObject [i] as Collider;
if (currentCollider != null && !currentCollider.GetComponent<Renderer> ()) {
currentCollider.enabled = false;
}
}
}
if (currentMaterial.HasProperty (colorID)) {
Color alpha = currentMaterial.GetColor (colorID);
if (mapInformationManager != null) {
mapInformationManager.removeMapObject ();
}
alpha.a -= Time.deltaTime / 5;
if (useEventOnObjectBeforeDestroyed) {
eventOnObjectBeforeDestroyed.Invoke ();
}
currentMaterial.SetColor (colorID, alpha);
if (useExplosionForceWhenDestroyed) {
if (explosionCenter == null) {
explosionCenter = transform;
}
//once the alpha is 0, remove the gameObject
if (alpha.a <= 0) {
piecesAmountFade++;
}
}
}
Vector3 currentPosition = explosionCenter.position;
if (piecesAmountFade == rendererParts.Count) {
Destroy (gameObject);
}
} else {
Destroy (gameObject);
}
}
} else {
if (timeToFadePieces <= 0) {
Destroy (gameObject);
}
}
} else {
objectDisabled = true;
}
}
}
applyDamage.setExplosion (currentPosition, explosionRadius, userLayerMask, layer, gameObject, false, gameObject,
killObjectsInRadius, true, false, explosionDamage, pushCharactersOnExplosion, applyExplosionForceToVehicles,
explosionForceToVehiclesMultiplier, explosionForce, forceMode, true, transform, ignoreShield,
useRemoteEventOnObjectsFound, removeEventName, damageTypeID,
damageTargetOverTime, damageOverTimeDelay, damageOverTimeDuration, damageOverTimeAmount,
damageOverTimeRate, damageOverTimeToDeath, removeDamageOverTimeState, damageCanBeBlocked, searchClosestWeakSpot);
}
//Destroy the object
public void destroyObject ()
{
if (!explosionEnabled) {
return;
}
if (useEventOnObjectDestroyed) {
eventOnObjectDestroyed.Invoke ();
}
if (destroyed) {
return;
}
destroyed = true;
}
//instantiated an explosiotn particles
if (destroyedParticles != null) {
GameObject destroyedParticlesClone = (GameObject)Instantiate (destroyedParticles, transform.position, transform.rotation);
destroyedParticlesClone.transform.SetParent (transform);
}
if (destroyedAudioElement != null) {
AudioPlayer.PlayOneShot (destroyedAudioElement, gameObject);
}
//set the velocity of the object to zero
if (mainRigidbody != null) {
mainRigidbody.linearVelocity = Vector3.zero;
mainRigidbody.isKinematic = true;
}
//get every renderer component if the object
if (storeRendererParts) {
if (fadePiecesEnabled) {
if (transparentShader == null) {
transparentShader = Shader.Find (defaultShaderName);
}
if (colorID == -1) {
colorID = Shader.PropertyToID (colorPropertyName);
}
}
Component [] components = GetComponentsInChildren (typeof (MeshRenderer));
List<Component> componentsList = new List<Component> (components);
if (useExtraParts) {
int extraPartsCount = extraParts.Count;
for (int j = 0; j < extraPartsCount; j++) {
GameObject currentObject = extraParts [j];
if (currentObject != null) {
Component [] extraComponents = currentObject.GetComponentsInChildren (typeof (MeshRenderer));
if (extraComponents.Length > 0) {
componentsList.AddRange (extraComponents);
}
}
}
}
int ignoreRaycastLayerIndex = LayerMask.NameToLayer ("Ignore Raycast");
int layerToIgnoreIndex = LayerMask.NameToLayer ("Scanner");
int componentsListCount = componentsList.Count;
for (int i = 0; i < componentsListCount; i++) {
MeshRenderer child = componentsList [i] as MeshRenderer;
if (child != null && child.gameObject.layer != layerToIgnoreIndex) {
if (child.enabled) {
if (fadePiecesEnabled) {
//for every renderer object, change every shader in it for a transparent shader
for (int j = 0; j < child.materials.Length; j++) {
child.materials [j].shader = transparentShader;
rendererParts.Add (child.materials [j]);
}
}
//set the layer ignore raycast to them
child.gameObject.layer = ignoreRaycastLayerIndex;
//add rigidbody and box collider to them
Rigidbody currentRigidbody = child.gameObject.GetComponent<Rigidbody> ();
if (currentRigidbody == null) {
currentRigidbody = child.gameObject.AddComponent<Rigidbody> ();
} else {
currentRigidbody.isKinematic = false;
currentRigidbody.useGravity = true;
}
Collider currentCollider = child.gameObject.GetComponent<Collider> ();
if (currentCollider == null) {
currentCollider = child.gameObject.AddComponent<BoxCollider> ();
}
//apply explosion force
currentRigidbody.AddExplosionForce (meshesExplosionForce, transform.position, meshesExplosionRadius, 3, meshesExplosionForceMode);
}
}
}
}
if (disableColliders) {
//any other object with a collider but with out renderer, is disabled
Component [] collidersInObject = GetComponentsInChildren (typeof (Collider));
int collidersInObjectLength = collidersInObject.Length;
for (int i = 0; i < collidersInObjectLength; i++) {
Collider currentCollider = collidersInObject [i] as Collider;
if (currentCollider != null && !currentCollider.GetComponent<Renderer> ()) {
currentCollider.enabled = false;
}
}
}
if (mapInformationManager != null) {
mapInformationManager.removeMapObject ();
}
if (useEventOnObjectBeforeDestroyed) {
eventOnObjectBeforeDestroyed.Invoke ();
}
if (useExplosionForceWhenDestroyed) {
if (explosionCenter == null) {
explosionCenter = transform;
}
Vector3 currentPosition = explosionCenter.position;
applyDamage.setExplosion (currentPosition, explosionRadius, userLayerMask, layer, gameObject, false, gameObject,
killObjectsInRadius, true, false, explosionDamage, pushCharactersOnExplosion, applyExplosionForceToVehicles,
explosionForceToVehiclesMultiplier, explosionForce, forceMode, true, transform, ignoreShield,
useRemoteEventOnObjectsFound, removeEventName, damageTypeID,
damageTargetOverTime, damageOverTimeDelay, damageOverTimeDuration, damageOverTimeAmount,
damageOverTimeRate, damageOverTimeToDeath, removeDamageOverTimeState, damageCanBeBlocked, searchClosestWeakSpot);
}
if (useEventOnObjectDestroyed) {
eventOnObjectDestroyed.Invoke ();
}
destroyed = true;
}
#if UNITY_EDITOR
void OnDrawGizmos ()
{
if (!showGizmo) {
return;
}
{
if (!showGizmo) {
return;
}
if (GKC_Utils.isCurrentSelectionActiveGameObject (gameObject)) {
DrawGizmos ();
}
}
if (GKC_Utils.isCurrentSelectionActiveGameObject (gameObject)) {
DrawGizmos ();
}
}
void OnDrawGizmosSelected ()
{
DrawGizmos ();
}
void OnDrawGizmosSelected ()
{
DrawGizmos ();
}
void DrawGizmos ()
{
if (showGizmo) {
if (useExplosionForceWhenDestroyed) {
Gizmos.color = Color.red;
Gizmos.DrawWireSphere (transform.position, explosionRadius);
}
}
}
void DrawGizmos ()
{
if (showGizmo) {
if (useExplosionForceWhenDestroyed) {
Gizmos.color = Color.red;
Gizmos.DrawWireSphere (transform.position, explosionRadius);
}
}
}
#endif
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/destroyableObject.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/externalDamageProperties.cs
uploadId: 814740
uploadId: 889948

View File

@@ -169,6 +169,7 @@ public class health : healthManagement
public bool useDamageHitReaction;
public damageHitReactionSystem mainDamageHitReactionSystem;
public bool sendDamageToReactionSystemIfShieldSystemActive;
public Transform debugDamageSourceTransform;
@@ -230,6 +231,9 @@ public class health : healthManagement
Coroutine damageOverTimeCoroutine;
Coroutine damageOrHealthTargetWithDelayCoroutine;
healthBarManagementSystem healthBarManager;
bool hasHealthSlider;
@@ -601,11 +605,17 @@ public class health : healthManagement
customDamageReceiverList.Add (newReceiver);
}
print ("Damage receivers added to ragdoll");
bool applicationIsPlaying = Application.isPlaying;
if (!applicationIsPlaying) {
print ("Damage receivers added to ragdoll");
}
updateComponent ();
print (customDamageReceiverList.Count);
if (!applicationIsPlaying) {
print (customDamageReceiverList.Count);
}
}
}
@@ -1217,6 +1227,9 @@ public class health : healthManagement
mainDamageHitReactionSystem.activateDamageReactionByID (damageAmount, damagePosition, attacker, damageReactionID);
} else if (damageReactionID > -2) {
if (canActivateReactionSystemTemporally) {
if (sendDamageToReactionSystemIfShieldSystemActive) {
mainDamageHitReactionSystem.checkDamageReceivedTemporally (damageAmount, damagePosition, attacker);
}
mainDamageHitReactionSystem.checkDamageStateTemporally (originalDamageAmountReceived, true);
}
@@ -1549,6 +1562,35 @@ public class health : healthManagement
receivingDamageOverTimeActive = false;
}
public void setDamageOrHealthTargetWithDelay (float waitAmount, float valueAmount, int damageTypeID)
{
stopDamageOrHealthTargetWithDelay ();
damageOrHealthTargetWithDelayCoroutine = StartCoroutine (setDamageOrHealthTargetWithDelayCoroutine (waitAmount, valueAmount, damageTypeID));
}
IEnumerator setDamageOrHealthTargetWithDelayCoroutine (float waitAmount, float valueAmount, int damageTypeID)
{
WaitForSeconds delay = new WaitForSeconds (waitAmount);
yield return delay;
if (valueAmount > 0) {
getHealth (valueAmount);
} else {
setDamage (-valueAmount, transform.forward, transform.position + 1.5f * transform.up, gameObject,
gameObject, true, false, false, false, false, false, -1, damageTypeID);
}
}
public void stopDamageOrHealthTargetWithDelay ()
{
if (damageOrHealthTargetWithDelayCoroutine != null) {
StopCoroutine (damageOrHealthTargetWithDelayCoroutine);
}
}
public void sedateCharacter (Vector3 position, float sedateDelay, bool useWeakSpotToReduceDelay, bool sedateUntilReceiveDamage, float sedateDuration)
{
if (advancedSettings.haveRagdoll && ragdollManager != null && canBeSedated) {
@@ -2610,7 +2652,9 @@ public class health : healthManagement
updateComponent ();
print ("Damage receivers of " + gameObject.name + " have been updated");
if (!Application.isPlaying) {
print ("Damage receivers of " + gameObject.name + " have been updated");
}
}
public void activateAllEventsOnEmptyHealthAmountOnWeakSpotsList ()
@@ -2692,6 +2736,23 @@ public class health : healthManagement
}
}
public void addObjectAsNewCharacterDamageReceiver (GameObject newObject)
{
if (newObject == null) {
return;
}
characterDamageReceiver currentCharacterDamageReceiver = newObject.GetComponent<characterDamageReceiver> ();
if (currentCharacterDamageReceiver == null) {
currentCharacterDamageReceiver = newObject.AddComponent<characterDamageReceiver> ();
}
currentCharacterDamageReceiver.setCharacter (gameObject, this);
addDamageReceiverGameObjectList (currentCharacterDamageReceiver.gameObject);
}
public bool addDamageReceiversToCustomTransformList;
public List<Transform> customTransformListDamageReceiver = new List<Transform> ();
@@ -3222,6 +3283,11 @@ public class health : healthManagement
stopDamageOverTime ();
}
public override void setDamageOrHealthTargetWithDelayWithHealthManagement (float waitAmount, float valueAmount, int damageTypeID)
{
setDamageOrHealthTargetWithDelay (waitAmount, valueAmount, damageTypeID);
}
public override void sedateCharacterithHealthManagement (Vector3 position, float sedateDelay, bool useWeakSpotToReduceDelay, bool sedateUntilReceiveDamage, float sedateDuration)
{
sedateCharacter (position, sedateDelay, useWeakSpotToReduceDelay, sedateUntilReceiveDamage, sedateDuration);
@@ -3343,6 +3409,11 @@ public class health : healthManagement
updateSliderOffset (settings.sliderOffset.y);
}
public void setSliderOffset (float newValue)
{
settings.sliderOffset.y = newValue;
}
public override bool characterHasWeakSpotListWithHealthManagement ()
{
return characterHasWeakSpotList ();

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/health.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/healthBarManagementSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/healthElementInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -73,6 +73,11 @@ public class healthManagement : MonoBehaviour
}
public virtual void setDamageOrHealthTargetWithDelayWithHealthManagement (float waitAmount, float valueAmount, int damageTypeID)
{
}
public virtual void removeDamagetTargetOverTimeStateWithHealthManagement ()
{

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/healthManagement.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/healthSliderInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/playerDamageOnScreenInfoSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/playerHealthBarManagementSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -12,7 +12,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/setHealthCustomWeakSpotID.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/shieldSystem.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Health/weakSpotInfo.cs
uploadId: 814740
uploadId: 889948