public override void TriggerReaction(BodyPartBehaviour from, InteractionAction.InteractionActionType actionType, string jsonParam) { if (actionType == InteractionAction.InteractionActionType.Destroy) { Instantiate(destroyParticleEffect, transform.position, Quaternion.identity); Destroy(gameObject); } }
public override void TriggerReaction(BodyPartBehaviour from, InteractionAction.InteractionActionType actionType, string jsonParam) { if (actionType == InteractionAction.InteractionActionType.BounceOff) { rigidBody.AddForce((from.transform.position - transform.position).normalized * -1 * pushOffForceRatio, ForceMode2D.Force); rigidBody.velocity = Vector2.ClampMagnitude(rigidBody.velocity, maximumSpeed); } }
public override void TriggerReaction(BodyPartBehaviour from, InteractionAction.InteractionActionType actionType, string jsonParam) { if (actionType == InteractionAction.InteractionActionType.SuckToMe) { rigidBody.AddForce((from.transform.position - transform.position).normalized * suckForceRatio, ForceMode2D.Force); rigidBody.velocity = Vector2.ClampMagnitude(rigidBody.velocity, maximumSpeed); if (Vector2.SqrMagnitude(transform.position - from.transform.position) <= 1f) { Destroy(gameObject); } } }
public virtual void RunSingleInteractionFunction(GameObject targetObject, InteractionAction.InteractionActionType actionType, string jsonParams) { targetObject.GetComponents <ObjectReaction>().ToList().ForEach(p => p.TriggerReaction(this, actionType, jsonParams)); }
protected virtual void RunInteractionFunction(PhysicsInteractionInfo.PhysicsInteractionType targetType, InteractionAction.InteractionActionType actionType, string jsonParams) { if (ObjectManager.instance == null) { return; } var allTargetObjects = ObjectManager.instance.GetAllObjectsMeetsType(targetType); for (int i = 0; i < allTargetObjects.Count; i++) { if (allTargetObjects[i] != null) { RunSingleInteractionFunction(allTargetObjects[i], actionType, jsonParams); } } }
public abstract void TriggerReaction(BodyPartBehaviour from, InteractionAction.InteractionActionType actionType, string jsonParam);