Example #1
0
 public override void TriggerReaction(BodyPartBehaviour from, InteractionAction.InteractionActionType actionType, string jsonParam)
 {
     if (actionType == InteractionAction.InteractionActionType.Destroy)
     {
         Instantiate(destroyParticleEffect, transform.position, Quaternion.identity);
         Destroy(gameObject);
     }
 }
Example #2
0
 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);
     }
 }
Example #3
0
 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);
         }
     }
 }
Example #4
0
 public virtual void RunSingleInteractionFunction(GameObject targetObject, InteractionAction.InteractionActionType actionType, string jsonParams)
 {
     targetObject.GetComponents <ObjectReaction>().ToList().ForEach(p => p.TriggerReaction(this, actionType, jsonParams));
 }
Example #5
0
    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);