add some extra assets FX and SFX
This commit is contained in:
@@ -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/Powers/New Powers Behaviors/changeGlobalGravityPower.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/New Powers Behaviors/changeObjectsPositionPower.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/New Powers Behaviors/deviceToControlAtDistance.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/New Powers Behaviors/joinObjectsPower.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
public class pushObjectsPower : MonoBehaviour
|
||||
{
|
||||
@@ -9,11 +10,33 @@ public class pushObjectsPower : MonoBehaviour
|
||||
|
||||
public bool powerEnabled = true;
|
||||
|
||||
public LayerMask layer;
|
||||
|
||||
[Space]
|
||||
|
||||
public bool pushObjectsFromCenterPosition;
|
||||
|
||||
public bool pushObjectsFromPlayerForwardDirection;
|
||||
|
||||
public LayerMask layer;
|
||||
[Space]
|
||||
|
||||
public bool useMaxAngleWithCameraFaceDirection;
|
||||
|
||||
public float maxAngleWithCameraFaceDirection;
|
||||
|
||||
[Space]
|
||||
|
||||
public bool useRaycastToPushObjects;
|
||||
|
||||
public LayerMask layerForRaycastSurfaceDetection;
|
||||
|
||||
public bool useMaxAngleWithPlayerFaceDirection;
|
||||
|
||||
public float maxAngleWithPlayerFaceDirection;
|
||||
|
||||
public float maxRaycastDistance;
|
||||
|
||||
[Space]
|
||||
|
||||
public List<string> ignoreTagList = new List<string> ();
|
||||
|
||||
@@ -60,6 +83,26 @@ public class pushObjectsPower : MonoBehaviour
|
||||
|
||||
public bool checkIfObjectInFrontOfPlayer;
|
||||
|
||||
[Space]
|
||||
[Header ("Magnetize Objects To AI Settings")]
|
||||
[Space]
|
||||
|
||||
public bool magnetizeObjectToCloseAIEnemies;
|
||||
public string mountPointNameToMagnetize;
|
||||
public float magnetizeForceAmount;
|
||||
public float maxDistanceToMagnetize;
|
||||
public bool magnetizeOnlyLockOnAI;
|
||||
|
||||
[Space]
|
||||
|
||||
public bool addLaunchedObjectComponentToDetectedObjects;
|
||||
|
||||
[Space]
|
||||
|
||||
public bool useEventsOnFoundObjectToMagnetizeResult;
|
||||
public UnityEvent eventOnFoundObjectToMagnetize;
|
||||
public UnityEvent eventOnNotFoundObjectToMagnetize;
|
||||
|
||||
[Space]
|
||||
[Header ("Remote Events Settings")]
|
||||
[Space]
|
||||
@@ -79,6 +122,10 @@ public class pushObjectsPower : MonoBehaviour
|
||||
|
||||
public bool useOfPowerPaused;
|
||||
|
||||
public bool showGizmo;
|
||||
|
||||
public bool updateCoroutineActive;
|
||||
|
||||
[Space]
|
||||
|
||||
public List<Rigidbody> vehiclesRigidbodyFoundList = new List<Rigidbody> ();
|
||||
@@ -96,6 +143,10 @@ public class pushObjectsPower : MonoBehaviour
|
||||
public Transform pushObjectsCenter;
|
||||
public Transform mainCameraTransform;
|
||||
|
||||
public playerCamera mainPlayerCamera;
|
||||
public AIAroundManager mainAIAroundManager;
|
||||
public Camera mainCamera;
|
||||
|
||||
Rigidbody objectToDamageMainRigidbody;
|
||||
|
||||
GameObject objectToPush;
|
||||
@@ -106,6 +157,15 @@ public class pushObjectsPower : MonoBehaviour
|
||||
|
||||
bool componentsInitialized;
|
||||
|
||||
bool anyObjectToMagnetizeFound;
|
||||
|
||||
//bool anyObjectToPushFound;
|
||||
|
||||
Coroutine updateCoroutine;
|
||||
|
||||
bool mainPlayerCameraLocated;
|
||||
|
||||
|
||||
void Start ()
|
||||
{
|
||||
if (!useCustomPushCenterDistance) {
|
||||
@@ -118,15 +178,68 @@ public class pushObjectsPower : MonoBehaviour
|
||||
centerPosition = transform;
|
||||
}
|
||||
}
|
||||
|
||||
mainPlayerCameraLocated = mainPlayerCamera != null;
|
||||
}
|
||||
|
||||
void Update ()
|
||||
//void Update ()
|
||||
//{
|
||||
// if (searchForObjectsOnUpdate) {
|
||||
// activatePower ();
|
||||
// }
|
||||
//}
|
||||
|
||||
public void stopUpdateCoroutine ()
|
||||
{
|
||||
if (updateCoroutineActive) {
|
||||
StopCoroutine (updateCoroutine);
|
||||
}
|
||||
|
||||
updateCoroutineActive = false;
|
||||
}
|
||||
|
||||
IEnumerator updateSystemCoroutine ()
|
||||
{
|
||||
var waitTime = new WaitForSecondsRealtime (0.0001f);
|
||||
|
||||
while (true) {
|
||||
updateSystem ();
|
||||
|
||||
yield return waitTime;
|
||||
}
|
||||
}
|
||||
|
||||
void updateSystem ()
|
||||
{
|
||||
if (searchForObjectsOnUpdate) {
|
||||
activatePower ();
|
||||
}
|
||||
}
|
||||
|
||||
public void activatePowerWithUpdate ()
|
||||
{
|
||||
if (searchForObjectsOnUpdate) {
|
||||
if (powerEnabled) {
|
||||
updateCoroutine = StartCoroutine (updateSystemCoroutine ());
|
||||
|
||||
updateCoroutineActive = true;
|
||||
}
|
||||
} else {
|
||||
if (powerEnabled) {
|
||||
activatePower ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void deactivatePowerWithUpdate ()
|
||||
{
|
||||
if (searchForObjectsOnUpdate) {
|
||||
if (powerEnabled) {
|
||||
stopUpdateCoroutine ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void activatePower ()
|
||||
{
|
||||
if (useOfPowerPaused) {
|
||||
@@ -146,6 +259,10 @@ public class pushObjectsPower : MonoBehaviour
|
||||
powersManager.createShootParticles ();
|
||||
}
|
||||
|
||||
anyObjectToMagnetizeFound = false;
|
||||
|
||||
//anyObjectToPushFound = false;
|
||||
|
||||
//if the power selected is push objects, check the objects close to pushObjectsCenter and add force to them in camera forward direction
|
||||
colliders = Physics.OverlapSphere (pushObjectsCenter.position, pushCenterDistance, layer);
|
||||
|
||||
@@ -156,6 +273,10 @@ public class pushObjectsPower : MonoBehaviour
|
||||
checkObjectToApplyForce (objectToPush);
|
||||
}
|
||||
}
|
||||
|
||||
if (magnetizeObjectToCloseAIEnemies) {
|
||||
checkEventsOnFoundObjectToMagnetizeResult (anyObjectToMagnetizeFound);
|
||||
}
|
||||
}
|
||||
|
||||
public void checkObjectToApplyForce (GameObject currentObject)
|
||||
@@ -180,6 +301,12 @@ public class pushObjectsPower : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
bool lockedCameraActive = false;
|
||||
|
||||
if (mainPlayerCameraLocated) {
|
||||
lockedCameraActive = !mainPlayerCamera.isCameraTypeFree ();
|
||||
}
|
||||
|
||||
Vector3 pushDirection = Vector3.zero;
|
||||
|
||||
if (pushObjectsFromCenterPosition) {
|
||||
@@ -191,6 +318,14 @@ public class pushObjectsPower : MonoBehaviour
|
||||
if (mainCameraTransform != null) {
|
||||
pushDirection = mainCameraTransform.forward;
|
||||
}
|
||||
|
||||
if (!lockedCameraActive && useMaxAngleWithCameraFaceDirection) {
|
||||
float angle = Vector3.Angle (playerGameObject.transform.forward, mainCameraTransform.forward);
|
||||
|
||||
if (angle > maxAngleWithCameraFaceDirection) {
|
||||
currentForceToApply = playerGameObject.transform.forward;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,6 +346,8 @@ public class pushObjectsPower : MonoBehaviour
|
||||
|
||||
bool rigidbodyFound = false;
|
||||
|
||||
bool objectMagnetizedToAIResult = false;
|
||||
|
||||
if (canApplyForceToVehicles) {
|
||||
if (objectToDamageMainRigidbody != null) {
|
||||
|
||||
@@ -229,21 +366,40 @@ public class pushObjectsPower : MonoBehaviour
|
||||
}
|
||||
|
||||
if (pushObjectsFromCenterPosition) {
|
||||
currentForceToApply = (objectToDamageMainRigidbody.position - centerPosition.position).normalized * finalExplosionForce;
|
||||
currentForceToApply = (objectToDamageMainRigidbody.position - centerPosition.position).normalized;
|
||||
} else {
|
||||
if (pushObjectsFromPlayerForwardDirection) {
|
||||
currentForceToApply = playerGameObject.transform.forward * finalExplosionForce;
|
||||
currentForceToApply = playerGameObject.transform.forward;
|
||||
} else {
|
||||
currentForceToApply = mainCameraTransform.TransformDirection (Vector3.forward) * finalExplosionForce;
|
||||
currentForceToApply = mainCameraTransform.TransformDirection (Vector3.forward);
|
||||
|
||||
if (!lockedCameraActive && useMaxAngleWithCameraFaceDirection) {
|
||||
float angle = Vector3.Angle (playerGameObject.transform.forward, mainCameraTransform.forward);
|
||||
|
||||
if (angle > maxAngleWithCameraFaceDirection) {
|
||||
currentForceToApply = playerGameObject.transform.forward;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
currentForceToApply *= finalExplosionForce;
|
||||
|
||||
if (checkRagdollsDetected) {
|
||||
if (applyDamage.isRagdollActive (currentObject)) {
|
||||
// print ("ragdoll found");
|
||||
currentForceToApply *= ragdollMultiplierForce;
|
||||
} else {
|
||||
// print ("Not found");
|
||||
}
|
||||
}
|
||||
|
||||
if (useRaycastToPushObjects) {
|
||||
checkIfUseRaycastToPushObjects (objectToDamageMainRigidbody.gameObject);
|
||||
}
|
||||
|
||||
if (magnetizeObjectToCloseAIEnemies) {
|
||||
objectMagnetizedToAIResult = checkIfMagnetizeObjectToAI (objectToDamageMainRigidbody.gameObject);
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("objectMagnetizedToAIResult " + objectMagnetizedToAIResult);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,6 +409,14 @@ public class pushObjectsPower : MonoBehaviour
|
||||
if (showDebugPrint) {
|
||||
print ("object to apply force " + objectToDamageMainRigidbody.name + " " + currentForceToApply);
|
||||
}
|
||||
|
||||
if (showGizmo) {
|
||||
Debug.DrawRay (objectToDamageMainRigidbody.position, currentForceToApply.normalized * 10, Color.red, 3);
|
||||
}
|
||||
|
||||
if (addLaunchedObjectComponentToDetectedObjects) {
|
||||
checkIfAttackLaunchedObjectComponent (objectToDamageMainRigidbody.gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
if (isVehicle) {
|
||||
@@ -273,12 +437,34 @@ public class pushObjectsPower : MonoBehaviour
|
||||
}
|
||||
|
||||
if (pushObjectsFromCenterPosition) {
|
||||
currentForceToApply = (objectToDamageMainRigidbody.position - centerPosition.position).normalized * forceToApply;
|
||||
currentForceToApply = (objectToDamageMainRigidbody.position - centerPosition.position).normalized;
|
||||
} else {
|
||||
if (pushObjectsFromPlayerForwardDirection) {
|
||||
currentForceToApply = playerGameObject.transform.forward * forceToApply;
|
||||
currentForceToApply = playerGameObject.transform.forward;
|
||||
} else {
|
||||
currentForceToApply = mainCameraTransform.TransformDirection (Vector3.forward) * forceToApply;
|
||||
currentForceToApply = mainCameraTransform.TransformDirection (Vector3.forward);
|
||||
|
||||
if (!lockedCameraActive && useMaxAngleWithCameraFaceDirection) {
|
||||
float angle = Vector3.Angle (playerGameObject.transform.forward, mainCameraTransform.forward);
|
||||
|
||||
if (angle > maxAngleWithCameraFaceDirection) {
|
||||
currentForceToApply = playerGameObject.transform.forward;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
currentForceToApply *= forceToApply;
|
||||
|
||||
if (useRaycastToPushObjects) {
|
||||
checkIfUseRaycastToPushObjects (objectToDamageMainRigidbody.gameObject);
|
||||
}
|
||||
|
||||
if (magnetizeObjectToCloseAIEnemies) {
|
||||
objectMagnetizedToAIResult = checkIfMagnetizeObjectToAI (currentObject);
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("objectMagnetizedToAIResult " + objectMagnetizedToAIResult);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,6 +472,18 @@ public class pushObjectsPower : MonoBehaviour
|
||||
objectToDamageMainRigidbody = currentObject.GetComponent<Rigidbody> ();
|
||||
|
||||
objectToDamageMainRigidbody.AddForce (currentForceToApply * objectToDamageMainRigidbody.mass, forceMode);
|
||||
|
||||
if (addLaunchedObjectComponentToDetectedObjects) {
|
||||
checkIfAttackLaunchedObjectComponent (objectToDamageMainRigidbody.gameObject);
|
||||
}
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("object to apply force " + objectToDamageMainRigidbody.name + " " + currentForceToApply);
|
||||
}
|
||||
|
||||
if (showGizmo) {
|
||||
Debug.DrawRay (objectToDamageMainRigidbody.position, currentForceToApply.normalized * 10, Color.red, 3);
|
||||
}
|
||||
}
|
||||
|
||||
if (!callRemoteEventsBeforeApplyingForce) {
|
||||
@@ -296,12 +494,200 @@ public class pushObjectsPower : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
if (!rigidbodyFound) {
|
||||
if (rigidbodyFound) {
|
||||
if (magnetizeObjectToCloseAIEnemies) {
|
||||
if (objectMagnetizedToAIResult) {
|
||||
anyObjectToMagnetizeFound = true;
|
||||
}
|
||||
}
|
||||
|
||||
//anyObjectToPushFound = true;
|
||||
} else {
|
||||
checkRemoteEvent (currentObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool checkIfMagnetizeObjectToAI (GameObject currentObject)
|
||||
{
|
||||
if (magnetizeObjectToCloseAIEnemies) {
|
||||
Vector3 screenPoint;
|
||||
|
||||
float screenWidth = Screen.width;
|
||||
float screenHeight = Screen.height;
|
||||
|
||||
List<Transform> charactersAround = mainAIAroundManager.getCharactersAround ();
|
||||
|
||||
if (charactersAround.Count == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (charactersAround.Contains (currentObject.transform)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int charactersAroundCount = charactersAround.Count;
|
||||
|
||||
bool usingScreenSpaceCamera = mainPlayerCamera.isUsingScreenSpaceCamera ();
|
||||
|
||||
float minDistance = Mathf.Infinity;
|
||||
|
||||
int closestTargetIndex = -1;
|
||||
|
||||
Vector3 currentPosition = Vector3.zero;
|
||||
|
||||
Transform currentTargetToLook = mainPlayerCamera.getCurrentTargetToLook ();
|
||||
|
||||
if (pushObjectsFromCenterPosition) {
|
||||
currentPosition = centerPosition.position;
|
||||
} else {
|
||||
if (pushObjectsFromPlayerForwardDirection) {
|
||||
currentPosition = playerGameObject.transform.position;
|
||||
} else {
|
||||
if (mainCameraTransform != null) {
|
||||
currentPosition = mainCameraTransform.position;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < charactersAroundCount; i++) {
|
||||
bool objectVisible = false;
|
||||
|
||||
bool targetOnScreen = false;
|
||||
|
||||
GameObject currentTarget = charactersAround [i].gameObject;
|
||||
|
||||
Vector3 targetPosition = currentTarget.transform.position;
|
||||
|
||||
Transform currentTargetPlaceToShoot = applyDamage.getPlaceToShoot (currentTarget);
|
||||
|
||||
if (currentTargetPlaceToShoot != null) {
|
||||
targetPosition = currentTargetPlaceToShoot.position;
|
||||
}
|
||||
|
||||
if (usingScreenSpaceCamera) {
|
||||
screenPoint = mainCamera.WorldToViewportPoint (targetPosition);
|
||||
targetOnScreen = screenPoint.z > 0 && screenPoint.x > 0 && screenPoint.x < 1 && screenPoint.y > 0 && screenPoint.y < 1;
|
||||
} else {
|
||||
screenPoint = mainCamera.WorldToScreenPoint (targetPosition);
|
||||
targetOnScreen = screenPoint.z > 0 && screenPoint.x > 0 && screenPoint.x < screenWidth && screenPoint.y > 0 && screenPoint.y < screenHeight;
|
||||
}
|
||||
|
||||
//the target is visible in the screen
|
||||
if (targetOnScreen) {
|
||||
objectVisible = true;
|
||||
}
|
||||
|
||||
if (objectVisible) {
|
||||
bool checkDistanceResult = true;
|
||||
|
||||
if (magnetizeOnlyLockOnAI) {
|
||||
if (currentTargetToLook != null) {
|
||||
if (currentTargetToLook != currentTarget) {
|
||||
checkDistanceResult = false;
|
||||
}
|
||||
} else {
|
||||
checkDistanceResult = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (checkDistanceResult) {
|
||||
float currentDistance = GKC_Utils.distance (currentPosition, targetPosition);
|
||||
|
||||
if (currentDistance < maxDistanceToMagnetize) {
|
||||
if (currentDistance < minDistance) {
|
||||
minDistance = currentDistance;
|
||||
|
||||
closestTargetIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (closestTargetIndex > -1) {
|
||||
Transform currentMountPoint = GKC_Utils.getMountPointTransformByName (mountPointNameToMagnetize, charactersAround [closestTargetIndex]);
|
||||
|
||||
if (currentMountPoint != null) {
|
||||
Vector3 pushDirection = (currentMountPoint.position - currentObject.transform.position).normalized;
|
||||
|
||||
currentForceToApply = pushDirection * magnetizeForceAmount;
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void checkIfAttackLaunchedObjectComponent (GameObject currentObject)
|
||||
{
|
||||
if (addLaunchedObjectComponentToDetectedObjects) {
|
||||
launchedObjects currentLaunchedObjects = currentObject.GetComponent<launchedObjects> ();
|
||||
|
||||
if (currentLaunchedObjects == null) {
|
||||
currentLaunchedObjects = currentObject.AddComponent<launchedObjects> ();
|
||||
}
|
||||
|
||||
if (currentLaunchedObjects != null) {
|
||||
currentLaunchedObjects.setCurrentPlayer (playerGameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void checkIfUseRaycastToPushObjects (GameObject currentObject)
|
||||
{
|
||||
if (useRaycastToPushObjects) {
|
||||
|
||||
bool lockedCameraActive = !mainPlayerCamera.isCameraTypeFree ();
|
||||
|
||||
if (useMaxAngleWithPlayerFaceDirection) {
|
||||
if (!lockedCameraActive) {
|
||||
float angle = Vector3.Angle (playerGameObject.transform.forward, mainPlayerCamera.transform.forward);
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("useMaxAngleWithPlayerFaceDirection " + angle);
|
||||
}
|
||||
|
||||
if (angle > maxAngleWithPlayerFaceDirection) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RaycastHit hit;
|
||||
|
||||
Vector3 raycastPosition = mainCameraTransform.position;
|
||||
Vector3 raycastDirection = mainCameraTransform.forward;
|
||||
|
||||
if (lockedCameraActive) {
|
||||
raycastPosition = playerGameObject.transform.position + playerGameObject.transform.up;
|
||||
raycastDirection = playerGameObject.transform.forward;
|
||||
}
|
||||
|
||||
Vector3 surfacePoint = Vector3.zero;
|
||||
|
||||
if (Physics.Raycast (raycastPosition, raycastDirection, out hit, maxRaycastDistance, layerForRaycastSurfaceDetection)) {
|
||||
surfacePoint = hit.point;
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("surface by raycast found");
|
||||
}
|
||||
} else {
|
||||
surfacePoint = raycastPosition + raycastDirection * maxRaycastDistance;
|
||||
|
||||
if (showDebugPrint) {
|
||||
print ("surface by raycast not found");
|
||||
}
|
||||
}
|
||||
|
||||
currentForceToApply = (surfacePoint - currentObject.transform.position).normalized * finalExplosionForce;
|
||||
}
|
||||
}
|
||||
|
||||
public void setPowerEnabledState (bool state)
|
||||
{
|
||||
powerEnabled = state;
|
||||
@@ -311,6 +697,25 @@ public class pushObjectsPower : MonoBehaviour
|
||||
if (powerEnabled) {
|
||||
gameObjectsFoundList.Clear ();
|
||||
}
|
||||
|
||||
if (searchForObjectsOnUpdate) {
|
||||
if (powerEnabled) {
|
||||
updateCoroutine = StartCoroutine (updateSystemCoroutine ());
|
||||
|
||||
updateCoroutineActive = true;
|
||||
} else {
|
||||
stopUpdateCoroutine ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setPowerEnabledStateOneFrame ()
|
||||
{
|
||||
setPowerEnabledState (true);
|
||||
|
||||
activatePower ();
|
||||
|
||||
setPowerEnabledState (false);
|
||||
}
|
||||
|
||||
public void cleanGameObjectFoundList ()
|
||||
@@ -354,6 +759,17 @@ public class pushObjectsPower : MonoBehaviour
|
||||
pushCenterDistance = newValue;
|
||||
}
|
||||
|
||||
void checkEventsOnFoundObjectToMagnetizeResult (bool state)
|
||||
{
|
||||
if (useEventsOnFoundObjectToMagnetizeResult) {
|
||||
if (state) {
|
||||
eventOnFoundObjectToMagnetize.Invoke ();
|
||||
} else {
|
||||
eventOnNotFoundObjectToMagnetize.Invoke ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void initializeComponents ()
|
||||
{
|
||||
if (componentsInitialized) {
|
||||
|
||||
@@ -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/Powers/New Powers Behaviors/pushObjectsPower.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/New Powers Behaviors/useDevicesAtDistancePower.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/New Projectiles Behaviors/brainwashAIProjectile.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -47,16 +47,19 @@ public class removeGravityFromCharactersProjectile : projectileSystem
|
||||
public void applyEffect (GameObject objectToAffect)
|
||||
{
|
||||
if (objectToAffect != null) {
|
||||
playerComponentsManager currentplayerComponentsManager = objectToAffect.GetComponent<playerComponentsManager> ();
|
||||
remoteEventSystem currentRemoteEventSystem = objectToAffect.GetComponent<remoteEventSystem> ();
|
||||
|
||||
if (currentplayerComponentsManager != null) {
|
||||
if (currentRemoteEventSystem == null) {
|
||||
playerComponentsManager currentplayerComponentsManager = objectToAffect.GetComponent<playerComponentsManager> ();
|
||||
|
||||
remoteEventSystem currentRemoteEventSystem = currentplayerComponentsManager.getRemoteEventSystem ();
|
||||
|
||||
if (currentRemoteEventSystem != null) {
|
||||
currentRemoteEventSystem.callRemoteEvent (remoteEventName);
|
||||
if (currentplayerComponentsManager != null) {
|
||||
currentRemoteEventSystem = currentplayerComponentsManager.getRemoteEventSystem ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (currentRemoteEventSystem != null) {
|
||||
currentRemoteEventSystem.callRemoteEvent (remoteEventName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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/Powers/New Projectiles Behaviors/removeGravityFromCharactersProjectile.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/blackHoleProjectile.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/gravityBootsSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/gravityWallRunSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/gravityWallRunTriggerSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/hitCombat.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/launchedObjects.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/nanoBlade.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/otherPowers.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/powerSlotElement.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/powersAndAbilitiesSystem.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/powersListElement.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/powersListManager.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/slowDownTarget.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -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/Powers/slowObject.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -4,170 +4,182 @@ using System.Collections.Generic;
|
||||
|
||||
public class slowObjectsColor : MonoBehaviour
|
||||
{
|
||||
public Color slowColor;
|
||||
public bool changeToSlow = true;
|
||||
public bool changeToNormal;
|
||||
public float slowDownDuration;
|
||||
public float timer = 0;
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public string setNormalVelocityString = "setNormalVelocity";
|
||||
public string setReducedVelocityString = "setReducedVelocity";
|
||||
public string setCanMoveAIStateString = "setCanMoveAIState";
|
||||
public string setOverrideAnimationSpeedActiveStateString = "setOverrideAnimationSpeedActiveState";
|
||||
public Color slowColor;
|
||||
public bool changeToSlow = true;
|
||||
public bool changeToNormal;
|
||||
public float slowDownDuration;
|
||||
public float timer = 0;
|
||||
|
||||
public List<Renderer> rendererParts = new List<Renderer> ();
|
||||
public List<Color> originalColor = new List<Color> ();
|
||||
public List<Color> transistionColor = new List<Color> ();
|
||||
[Space]
|
||||
|
||||
bool renderPartsStored;
|
||||
float slowValue;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
slowObject slowObjectManager;
|
||||
GameObject objectToCallFunction;
|
||||
public string setNormalVelocityString = "setNormalVelocity";
|
||||
public string setReducedVelocityString = "setReducedVelocity";
|
||||
public string setCanMoveAIStateString = "setCanMoveAIState";
|
||||
public string setOverrideAnimationSpeedActiveStateString = "setOverrideAnimationSpeedActiveState";
|
||||
|
||||
int rendererPartsCount;
|
||||
int materialsLength;
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
|
||||
Renderer currentRenderer;
|
||||
Material currentMaterial;
|
||||
public List<Renderer> rendererParts = new List<Renderer> ();
|
||||
public List<Color> originalColor = new List<Color> ();
|
||||
public List<Color> transistionColor = new List<Color> ();
|
||||
|
||||
bool useSlowObjectColor;
|
||||
|
||||
void Update ()
|
||||
{
|
||||
//change the color smoothly from the original, to the other
|
||||
timer += Time.deltaTime;
|
||||
bool renderPartsStored;
|
||||
float slowValue;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
slowObject slowObjectManager;
|
||||
GameObject objectToCallFunction;
|
||||
|
||||
if (useSlowObjectColor) {
|
||||
rendererPartsCount = rendererParts.Count;
|
||||
int rendererPartsCount;
|
||||
int materialsLength;
|
||||
|
||||
for (i = 0; i < rendererPartsCount; i++) {
|
||||
currentRenderer = rendererParts [i];
|
||||
Renderer currentRenderer;
|
||||
Material currentMaterial;
|
||||
|
||||
if (currentRenderer != null) {
|
||||
materialsLength = currentRenderer.materials.Length;
|
||||
bool useSlowObjectColor;
|
||||
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
currentMaterial = currentRenderer.materials [j];
|
||||
void Update ()
|
||||
{
|
||||
//change the color smoothly from the original, to the other
|
||||
timer += Time.deltaTime;
|
||||
|
||||
currentMaterial.color = Color.Lerp (currentMaterial.color, transistionColor [i], timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (useSlowObjectColor) {
|
||||
rendererPartsCount = rendererParts.Count;
|
||||
|
||||
//after the 80% of the time has passed, the color will change from the slowObjectsColor, to the original
|
||||
if (timer >= slowDownDuration * 0.8f && changeToSlow) {
|
||||
//set the transition color to the original
|
||||
changeToSlow = false;
|
||||
for (i = 0; i < rendererPartsCount; i++) {
|
||||
currentRenderer = rendererParts [i];
|
||||
|
||||
changeToNormal = true;
|
||||
if (currentRenderer != null) {
|
||||
materialsLength = currentRenderer.materials.Length;
|
||||
|
||||
transistionColor = originalColor;
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
currentMaterial = currentRenderer.materials [j];
|
||||
|
||||
timer = 0;
|
||||
}
|
||||
currentMaterial.color = Color.Lerp (currentMaterial.color, transistionColor [i], timer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//when the time is over, set the color and remove the script
|
||||
if (timer >= slowDownDuration * 0.2f && !changeToSlow && changeToNormal) {
|
||||
if (useSlowObjectColor) {
|
||||
rendererPartsCount = rendererParts.Count;
|
||||
//after the 80% of the time has passed, the color will change from the slowObjectsColor, to the original
|
||||
if (timer >= slowDownDuration * 0.8f && changeToSlow) {
|
||||
//set the transition color to the original
|
||||
changeToSlow = false;
|
||||
|
||||
for (i = 0; i < rendererPartsCount; i++) {
|
||||
changeToNormal = true;
|
||||
|
||||
currentRenderer = rendererParts [i];
|
||||
transistionColor = originalColor;
|
||||
|
||||
if (currentRenderer != null) {
|
||||
materialsLength = currentRenderer.materials.Length;
|
||||
timer = 0;
|
||||
}
|
||||
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
currentRenderer.materials [j].color = transistionColor [i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//when the time is over, set the color and remove the script
|
||||
if (timer >= slowDownDuration * 0.2f && !changeToSlow && changeToNormal) {
|
||||
if (useSlowObjectColor) {
|
||||
rendererPartsCount = rendererParts.Count;
|
||||
|
||||
if (objectToCallFunction != null) {
|
||||
objectToCallFunction.BroadcastMessage (setNormalVelocityString, SendMessageOptions.DontRequireReceiver);
|
||||
for (i = 0; i < rendererPartsCount; i++) {
|
||||
|
||||
if (slowValue < 0.09f) {
|
||||
objectToCallFunction.BroadcastMessage (setCanMoveAIStateString, true, SendMessageOptions.DontRequireReceiver);
|
||||
currentRenderer = rendererParts [i];
|
||||
|
||||
objectToCallFunction.BroadcastMessage (setOverrideAnimationSpeedActiveStateString, false, SendMessageOptions.DontRequireReceiver);
|
||||
}
|
||||
}
|
||||
if (currentRenderer != null) {
|
||||
materialsLength = currentRenderer.materials.Length;
|
||||
|
||||
slowObjectManager.checkEventOnRegularSpeed ();
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
currentRenderer.materials [j].color = transistionColor [i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Destroy (gameObject.GetComponent<slowObjectsColor> ());
|
||||
}
|
||||
}
|
||||
if (objectToCallFunction != null) {
|
||||
objectToCallFunction.BroadcastMessage (setNormalVelocityString, SendMessageOptions.DontRequireReceiver);
|
||||
|
||||
public void startSlowObject (bool useSlowObjectColorValue, Color newSlowColor, float newSlowValue, float newSlowDownDuration, slowObject newSlowObjectComponent)
|
||||
{
|
||||
useSlowObjectColor = useSlowObjectColorValue;
|
||||
if (slowValue < 0.09f) {
|
||||
objectToCallFunction.BroadcastMessage (setCanMoveAIStateString, true, SendMessageOptions.DontRequireReceiver);
|
||||
|
||||
slowColor = newSlowColor;
|
||||
objectToCallFunction.BroadcastMessage (setOverrideAnimationSpeedActiveStateString, false, SendMessageOptions.DontRequireReceiver);
|
||||
}
|
||||
}
|
||||
|
||||
slowValue = newSlowValue;
|
||||
slowObjectManager.checkEventOnRegularSpeed ();
|
||||
|
||||
slowDownDuration = newSlowDownDuration;
|
||||
Destroy (gameObject.GetComponent<slowObjectsColor> ());
|
||||
}
|
||||
}
|
||||
|
||||
timer = 0;
|
||||
public void startSlowObject (bool useSlowObjectColorValue, Color newSlowColor, float newSlowValue, float newSlowDownDuration, slowObject newSlowObjectComponent)
|
||||
{
|
||||
useSlowObjectColor = useSlowObjectColorValue;
|
||||
|
||||
changeToSlow = true;
|
||||
changeToNormal = false;
|
||||
slowColor = newSlowColor;
|
||||
|
||||
slowObjectManager = newSlowObjectComponent;
|
||||
slowValue = newSlowValue;
|
||||
|
||||
objectToCallFunction = slowObjectManager.getObjectToCallFunction ();
|
||||
slowDownDuration = newSlowDownDuration;
|
||||
|
||||
if (slowObjectManager.isUseCustomSlowSpeedEnabled ()) {
|
||||
slowValue = slowObjectManager.getCustomSlowSpeed ();
|
||||
}
|
||||
timer = 0;
|
||||
|
||||
slowObjectManager.checkEventOnReducedSpeed ();
|
||||
changeToSlow = true;
|
||||
changeToNormal = false;
|
||||
|
||||
//send a message to slow down the object
|
||||
if (objectToCallFunction != null) {
|
||||
objectToCallFunction.BroadcastMessage (setReducedVelocityString, slowValue, SendMessageOptions.DontRequireReceiver);
|
||||
slowObjectManager = newSlowObjectComponent;
|
||||
|
||||
if (slowValue < 0.09f) {
|
||||
objectToCallFunction.BroadcastMessage (setCanMoveAIStateString, false, SendMessageOptions.DontRequireReceiver);
|
||||
objectToCallFunction = slowObjectManager.getObjectToCallFunction ();
|
||||
|
||||
objectToCallFunction.BroadcastMessage (setOverrideAnimationSpeedActiveStateString, true, SendMessageOptions.DontRequireReceiver);
|
||||
if (slowObjectManager.isUseCustomSlowSpeedEnabled ()) {
|
||||
slowValue = slowObjectManager.getCustomSlowSpeed ();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!renderPartsStored) {
|
||||
if (useSlowObjectColor) {
|
||||
bool useCustomSlowSpeed = slowObjectManager.useMeshesToIgnoreEnabled ();
|
||||
slowObjectManager.checkEventOnReducedSpeed ();
|
||||
|
||||
int propertyNameID = Shader.PropertyToID ("_Color");
|
||||
//send a message to slow down the object
|
||||
if (objectToCallFunction != null) {
|
||||
objectToCallFunction.BroadcastMessage (setReducedVelocityString, slowValue, SendMessageOptions.DontRequireReceiver);
|
||||
|
||||
//get all the renderers inside of it, to change their color with the slowObjectsColor from otherpowers
|
||||
Component[] components = GetComponentsInChildren (typeof(Renderer));
|
||||
foreach (Renderer child in components) {
|
||||
if (!useCustomSlowSpeed || !slowObjectManager.checkChildsObjectsToIgnore (child.transform)) {
|
||||
if (child.material.HasProperty (propertyNameID)) {
|
||||
if (slowValue < 0.09f) {
|
||||
objectToCallFunction.BroadcastMessage (setCanMoveAIStateString, false, SendMessageOptions.DontRequireReceiver);
|
||||
|
||||
materialsLength = child.materials.Length;
|
||||
objectToCallFunction.BroadcastMessage (setOverrideAnimationSpeedActiveStateString, true, SendMessageOptions.DontRequireReceiver);
|
||||
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
rendererParts.Add (child);
|
||||
}
|
||||
}
|
||||
|
||||
originalColor.Add (child.materials [j].color);
|
||||
if (!renderPartsStored) {
|
||||
if (useSlowObjectColor) {
|
||||
bool useCustomSlowSpeed = slowObjectManager.useMeshesToIgnoreEnabled ();
|
||||
|
||||
transistionColor.Add (slowColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int propertyNameID = Shader.PropertyToID ("_Color");
|
||||
|
||||
renderPartsStored = true;
|
||||
}
|
||||
}
|
||||
//get all the renderers inside of it, to change their color with the slowObjectsColor from otherpowers
|
||||
Component [] components = GetComponentsInChildren (typeof (Renderer));
|
||||
foreach (Renderer child in components) {
|
||||
if (!useCustomSlowSpeed || !slowObjectManager.checkChildsObjectsToIgnore (child.transform)) {
|
||||
if (child.material.HasProperty (propertyNameID)) {
|
||||
|
||||
materialsLength = child.materials.Length;
|
||||
|
||||
for (j = 0; j < materialsLength; j++) {
|
||||
if (child.materials [j].HasProperty (propertyNameID)) {
|
||||
rendererParts.Add (child);
|
||||
|
||||
originalColor.Add (child.materials [j].color);
|
||||
|
||||
transistionColor.Add (slowColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
renderPartsStored = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,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/Powers/slowObjectsColor.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
@@ -11,7 +11,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/Powers/timeBullet.cs
|
||||
uploadId: 814740
|
||||
uploadId: 889948
|
||||
|
||||
Reference in New Issue
Block a user