/// <summary>
        /// Same as above but allows for smaller tile position numbers instead.
        /// </summary>
        /// <param name="EventHelper"></param>
        /// <param name="JunimoData"></param>
        public static void AddJunimoAdvanceMoveTiles(this EventHelper EventHelper, JunimoAdvanceMoveData JunimoData)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.AddInJunimoAdvanceMove ");

            b.Append(JunimoData.junimoActorID);
            b.Append(" ");
            b.Append(JunimoData.maxFrames);
            b.Append(" ");
            b.Append(JunimoData.tickSpeed);
            b.Append(" ");
            b.Append(JunimoData.loop);
            b.Append(" ");
            for (int i = 0; i < JunimoData.points.Count; i++)
            {
                b.Append(JunimoData.points[i].X * Game1.tileSize);
                b.Append("_");
                b.Append(JunimoData.points[i].Y * Game1.tileSize);
                if (i != JunimoData.points.Count - 1)
                {
                    b.Append(" ");
                }
            }

            EventHelper.Add(b);
        }
        public static void FinishJunimoAdvanceMove(this EventHelper EventHelper)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.FinishAdvanceJunimoMovement");
            EventHelper.Add(b);
        }
        public static void RemoveJunimoAdvanceMove(this EventHelper EventHelper, string ActorName)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.RemoveJunimoAdvanceMove ");
            b.Append(ActorName);
            b.Append(" ");
            EventHelper.Add(b);
        }
        public static void FlipJunimoActor(this EventHelper EventHelper, string ActorName, bool Flipped = false)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.FlipJunimoActor ");
            b.Append(ActorName);
            b.Append(" ");
            b.Append(Flipped);
            EventHelper.Add(b);
        }
        public static void ViewportLerpTile(this EventHelper EventHelper, Point NewTilePosition, double Speed)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.ViewportLerp ");
            b.Append(NewTilePosition.X * Game1.tileSize);
            b.Append(" ");
            b.Append(NewTilePosition.Y * Game1.tileSize);
            b.Append(" ");
            b.Append(Speed);
            EventHelper.Add(b);
        }
        /// <summary>
        /// Creates the event string to add the object to the player's inventory.
        /// </summary>
        /// <returns></returns>
        public static void addObjectToPlayersInventory(this EventHelper EventHelper, int ParentSheetIndex, int Amount = 1, bool MakeActiveObject = false)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.AddObjectToPlayersInventory ");
            b.Append(ParentSheetIndex);
            b.Append(" ");
            b.Append(Amount);
            b.Append(" ");
            b.Append(MakeActiveObject);
            EventHelper.Add(b);
        }
 public InputWrapper(EventHelper eventHelper)
 {
     if (eventHelper != null)
     {
         updateHelper = eventHelper;
         updateHelper.Add(BaseUpdate);
     }
     else
     {
         throw new System.InvalidOperationException("Given update helper is null.");
     }
 }
 public void SetHelper(EventHelper eventHelper)
 {
     if (!HelperExists)
     {
         updateHelper = eventHelper;
         updateHelper.Add(BaseUpdate);
     }
     else
     {
         throw new System.InvalidOperationException("Cannot set a new update helper while the initial helper exists.");
     }
 }
        /// <summary>
        /// Lerps the camera an offset tile amount.
        /// </summary>
        /// <param name="EventHelper"></param>
        /// <param name="NewTilePositionOffset"></param>
        /// <param name="Speed">How many frames (aka update ticks) it takes to finish. Aka 60~=1 second</param>
        public static void ViewportLerpTileOffset(this EventHelper EventHelper, Point NewTilePositionOffset, int Frames = 60, bool Concurrent = false)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.ViewportLerp ");
            b.Append((NewTilePositionOffset.X * Game1.tileSize));
            b.Append(" ");
            b.Append((NewTilePositionOffset.Y * Game1.tileSize));
            b.Append(" ");
            b.Append(Frames);
            b.Append(" ");
            b.Append(Concurrent);
            EventHelper.Add(b);
        }
        /// <summary>
        /// Creates the code to add in a junimo actor at the given location.
        /// </summary>
        /// <param name="EventHelper"></param>
        /// <param name="ActorName"></param>
        /// <param name="Position"></param>
        /// <param name="Color"></param>
        public static void AddInJunimoActor(this EventHelper EventHelper, string ActorName, Vector2 Position, Color Color, bool Flipped = false)
        {
            StringBuilder b = new StringBuilder();

            b.Append("Omegasis.EventFramework.AddInJunimoActor ");
            b.Append(ActorName);
            b.Append(" ");
            b.Append(Position.X);
            b.Append(" ");
            b.Append(Position.Y);
            b.Append(" ");
            b.Append(Color.R);
            b.Append(" ");
            b.Append(Color.G);
            b.Append(" ");
            b.Append(Color.B);
            b.Append(" ");
            b.Append(Flipped);
            EventHelper.Add(b);
        }
Пример #11
0
 public SealedEventHelper(EventHelper eventHelper)
 {
     eventHelper.Add(Invoke);
 }