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 OnCollisionStay(Collision other) { foreach (var tag in tagsToCompare) { if (other.gameObject.CompareTag(tag) && other.gameObject == objCollided) { CollisionStay.Invoke(); } } }
/// <summary> /// Notifies one entitiy listenning onCollisionStay event /// It will only invoke collision events in the entity that /// is involved in that specific collision /// 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 NotifyOnCollisionStay(int index, ICollidable collidable) { if (CollisionStay != null) { //Console.WriteLine("OnCollisionStay"); Delegate[] list = CollisionStay.GetInvocationList(); if (index < list.Length && index > -1) { Collision collision = new Collision(); collision.other = collidable; list[index].DynamicInvoke(collision); } } }
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); } }
private void OnCollisionStay(Collision other) => CollisionStay?.Invoke(other);
private void OnCollisionStay(Collision collision) { CollisionStay?.Invoke(this, new CollisionEventArgs(collision)); }
public void OnColiisionStay(Collision collision) { CollisionStay.Invoke(collision); }
private void OnCollisionStay(Collision collision) { CollisionStay?.Invoke(gameObject, collision); }