예제 #1
0
 public override void UpdateBackground(UpdateParamater updatePara)
 {
     if (updatePara.GameTime.TotalGameTime - lastActivationTime > interval)
     {
         state = RequestActivation(this) ? PluginState.Active : PluginState.Background;
     }
 }
예제 #2
0
        public void Update(GameTime gameTime)
        {
            UpdateParamater up = new UpdateParamater();

            up.GameTime = gameTime;

            Plugin active_remove_tmp = null;

            if (activePlugin != null)
            {
                activePlugin.Update(up, CatController);
                if (activePlugin.State != PluginState.Active)
                {
                    active_remove_tmp = activePlugin;
                    activePlugin      = requestActivationPlugins.Count == 0 ? null : requestActivationPlugins.Dequeue();
                }
            }

            foreach (Plugin plugin in runningPlugins)
            {
                plugin.UpdateBackground(up);
                if (plugin.State == PluginState.Inactive)
                {
                    runningPlugins.Remove(plugin);
                }
            }

            if (active_remove_tmp != null)
            {
                runningPlugins.Add(active_remove_tmp);
            }
        }
예제 #3
0
 public override void Update(UpdateParamater updatePara, CatController cc)
 {
     if (!greeting)
     {
         greeting    = true;
         greetingMsg = memorialDays.GetDay((uint)DateTime.Today.Month, (uint)DateTime.Today.Day).HandledDescription;
     }
     if (cc.Execute(cc.Commands["Greet"], new string[] { greetingMsg }))
     {
         greeting = false;
     }
 }
예제 #4
0
 public override void Update(UpdateParamater updatePara, CatController cc)
 {
     if (!shown)
     {
         player.Show();
         shown = true;
     }
     if (!running)
     {
         running = true;
     }
 }
예제 #5
0
        public override void UpdateBackground(UpdateParamater updatePara)
        {
            if (!greetChecked && updatePara.GameTime.TotalGameTime > checkDelay)
            {
                needGreet    = CheckGreeting();
                greetChecked = true;
            }

            if (needGreet)
            {
                needGreet = !RequestActivation(this);
            }
        }
예제 #6
0
 public override void Update(UpdateParamater updatePara, CatController cc)
 {
     if (!executing)
     {
         currentCmd = RandomCommand();
         executing  = true;
     }
     if (cc.Execute(cc.Commands[currentCmd], null))
     {
         executing          = false;
         state              = PluginState.Background;
         lastActivationTime = updatePara.GameTime.TotalGameTime;
     }
 }
예제 #7
0
 public override void UpdateBackground(UpdateParamater updatePara)
 {
 }