public Node <INode> GetNode(string nodeName) { switch (nodeName) { case AddForce.NAME: INode nodeAddForce = new AddForce() as INode; return(new Node <INode> (nodeAddForce)); case AddTorque.NAME: INode nodeAddTorque = new AddTorque() as INode; return(new Node <INode> (nodeAddTorque)); case RigidBody.NAME: INode nodeRigidBody = new RigidBody() as INode; return(new Node <INode> (nodeRigidBody)); case Velocity.NAME: INode nodeVelocity = new Velocity() as INode; return(new Node <INode> (nodeVelocity)); case CollisionEnter.NAME: INode nodeCollisionEnter = new CollisionEnter() as INode; return(new Node <INode> (nodeCollisionEnter)); case CollisionStay.NAME: INode nodeCollisionStay = new CollisionStay() as INode; return(new Node <INode> (nodeCollisionStay)); case CollisionExit.NAME: INode nodeCollisionExit = new CollisionExit() as INode; return(new Node <INode> (nodeCollisionExit)); case FixedUpdate.NAME: INode nodeFixedUpdate = new FixedUpdate() as INode; return(new Node <INode> (nodeFixedUpdate)); case AddImpulseForce.NAME: INode nodeImpulse = new AddImpulseForce() as INode; return(new Node <INode> (nodeImpulse)); case Character.NAME: var nodeCharacter = new Character() as INode; return(new Node <INode> (nodeCharacter)); case CharacterForward.NAME: var nodeCharacterForward = new CharacterForward() as INode; return(new Node <INode> (nodeCharacterForward)); case CameraRaycast.NAME: var nodeCameraRayCast = new CameraRaycast() as INode; return(new Node <INode> (nodeCameraRayCast)); case AddImpulseTorque.NAME: var nodeAddImpulseTorque = new AddImpulseTorque() as INode; return(new Node <INode>(nodeAddImpulseTorque)); default: return(null); } }
private void OnTriggerExit2D(Collider2D other) { var source = other.gameObject.GetComponent <ISource>(); if (source != null) { CollisionExit.SafeRaise(this, new EventArgsGeneric <ISource>(source)); } }
internal void OnCollisionExit(Collision collision) { CollisionExit?.Invoke(collision); var rigidbody = AttachedRigidBody; if (rigidbody) { rigidbody.OnCollisionExit(collision); } }
private void OnCollisionExit(Collision other) { foreach (var tag in tagsToCompare) { if (other.gameObject.CompareTag(tag) && objCollided == other.gameObject) { collidedWith = false; CollisionExit.Invoke(); } } }
/// <summary> /// Notifies one entitiy listenning onExitCollision event /// It will only invoke collision events in the entity that /// is involved in that specific collision /// Usefull for when only one side of the collision needs to be notified /// If there are no listeeners correspoding to that index, nothing happens /// </summary> /// <param name="index">index of the entity to signal. Index in the Delegate[] is the same in the links list</param> /// <param name="collidable">collider that collided with that entity</param> void NotifyOnCollisionExit(int index, ICollidable collidable) { if (CollisionExit != null) { Delegate[] list = CollisionExit.GetInvocationList(); //Check if the index of the entity is valid if (index < list.Length && index > -1) { Collision collision = new Collision(); collision.other = collidable; list[index].DynamicInvoke(collision); } } }
public void OnCollisionExit(CollisionInfo collisionInfo) { if (!(collisionInfo.Body.GetUserData() is ISceneObject hittedSceneObject)) { LogUtils.Log(MessageBuilder.Trace("Could not get data from a body.")); return; } if (hittedSceneObjects.ContainsKey(hittedSceneObject.Id)) { hittedSceneObjects.Remove(hittedSceneObject.Id); CollisionExit?.Invoke(collisionInfo, hittedSceneObject); } }
internal void Collision(Collider2D other, CollisionPairState state, HitState hitState) { if (state.enter) { CollisionEnter?.Invoke(other, hitState); } if (state.stay) { CollisionStay?.Invoke(other, hitState); } if (state.exit) { CollisionExit?.Invoke(other, hitState); } }
internal void OnCollisionExit(Collision collision) { CollisionExit?.Invoke(collision); }
private void OnCollisionExit(Collision other) => CollisionExit?.Invoke(other);
protected void CollisionExitInvoke() => CollisionExit?.Invoke();
private void OnCollisionExit(Collision collisionInfo) { Debug.Log("COLLIDING EXIT"); CollisionExit?.Invoke(this, collisionInfo); }
private void OnCollisionExit(Collision collision) { CollisionExit?.Invoke(this, new CollisionEventArgs(collision)); }
void OnCollisionExit(Collision collision) => CollisionExit?.Invoke(collision);
private void OnCollisionExit(Collision collision) { CollisionExit?.Invoke(gameObject, collision); }