Exemple #1
0
 public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power = 0.0f)
 {
     if (connection.Name == "velocity_in")
     {
         currVelocity = XMLExtensions.ParseToVector2(signal, false);
     }
     else
     {
         base.ReceiveSignal(stepsTaken, signal, connection, source, sender, power);
     }
 }
Exemple #2
0
        public override void ReceiveSignal(int stepsTaken, string signal, Connection connection, Item source, Character sender, float power)
        {
            switch (connection.Name)
            {
            case "position_in":
                Vector2 receivedPos = XMLExtensions.ParseToVector2(signal, false);

                Vector2 centerPos = new Vector2(item.WorldRect.X + barrelPos.X, item.WorldRect.Y - barrelPos.Y);

                Vector2 offset = receivedPos - centerPos;
                offset.Y = -offset.Y;

                targetRotation = MathUtils.WrapAngleTwoPi(MathUtils.VectorToAngle(offset));

                IsActive = true;

                break;

            case "trigger_in":
                item.Use((float)Timing.Step, sender);
                break;
            }
        }