Пример #1
0
 private void InitializeParticleCreator()
 {
     ParticleCreatorParameter.ValidValues.Clear();
     if (Problem != null)
     {
         IParticleCreator oldParticleCreator     = ParticleCreator;
         IParticleCreator defaultParticleCreator = Problem.Operators.OfType <IParticleCreator>().FirstOrDefault();
         foreach (var creator in Problem.Operators.OfType <IParticleCreator>().OrderBy(x => x.Name))
         {
             ParticleCreatorParameter.ValidValues.Add(creator);
         }
         if (oldParticleCreator != null)
         {
             var creator = ParticleCreatorParameter.ValidValues.FirstOrDefault(x => x.GetType() == oldParticleCreator.GetType());
             if (creator != null)
             {
                 ParticleCreator = creator;
             }
             else
             {
                 oldParticleCreator = null;
             }
         }
         if (oldParticleCreator == null && defaultParticleCreator != null)
         {
             ParticleCreator = defaultParticleCreator;
         }
     }
 }
Пример #2
0
        /*********
        ** Public methods
        *********/
        /// <summary>The mod entry point, called after the mod is first loaded.</summary>
        /// <param name="helper">Provides simplified APIs for writing mods.</param>
        public override void Entry(IModHelper helper)
        {
            ModConfig config = this.Helper.ReadConfig <ModConfig>();

            Multiplayer multiplayer = typeof(Game1).GetField("multiplayer", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null) as Multiplayer;

            FlowerHelper flowerHelper = new FlowerHelper(multiplayer, config.LocalOnly);

            flowerers = new List <IToolFlowerer> {
                new Swipe(flowerHelper),
                new Swing(flowerHelper),
                new Stab(flowerHelper),
                new Defense(flowerHelper),
                new Watering(flowerHelper),
                new TimingCast(flowerHelper)
            };

            explosionCreator = new Explosion(flowerHelper);
            slingshotCreator = new Slingshot(flowerHelper);

            helper.Events.GameLoop.UpdateTicked += GameLoop_UpdateTicked;
        }