Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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);
         }
     }
 }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
 private void OnCollisionStay(Collision other) => CollisionStay?.Invoke(other);
 private void OnCollisionStay(Collision collision)
 {
     CollisionStay?.Invoke(this, new CollisionEventArgs(collision));
 }
Exemplo n.º 7
0
 public void OnColiisionStay(Collision collision)
 {
     CollisionStay.Invoke(collision);
 }
Exemplo n.º 8
0
 private void OnCollisionStay(Collision collision)
 {
     CollisionStay?.Invoke(gameObject, collision);
 }