internal void AddNewItem() { var item = new KeyValueItem { IsNew = true }; item.DeleteCommand = new KeyValueItemDeleteCommand(this, item); ChangeMonitor monitor = new ChangeMonitor(this, item); monitor.PropertyChanged += new PropertyChangedEventHandler(monitor_PropertyChanged); changeMonitors.Add(monitor); list.Add(item); }
internal static void Pulse() { try { if (!Player.IsValid) { return; } ChangeMonitor.CheckForChanges(); ActorHistory.UpdateActors(); PositionCache.RecordPosition(); // Mark Dungeon Explorer nodes as Visited if combat pulls us into it if (ProfileManager.CurrentProfileBehavior != null) { Type profileBehaviorType = ProfileManager.CurrentProfileBehavior.GetType(); if (profileBehaviorType == typeof(ExploreDungeonTag)) { ExploreDungeonTag exploreDungeonTag = (ExploreDungeonTag)ProfileManager.CurrentProfileBehavior; exploreDungeonTag.MarkNearbyNodesVisited(); } } LoadOnceTag.RecordLoadOnceProfile(); RiftTrial.PulseRiftTrial(); CheckGamesPerHourStop(); SkipCutScene(); AdvanceConversation(); } catch (Exception ex) { Logger.Log(ex.ToString()); } }
internal void UpdatePositionTraceState() { if (EventOptions.PositionChangeNotification) { if (_xChangeMonitor == null) { _xChangeMonitor = new ChangeMonitor(); _xChangeMonitor.Bind(this, GraphAreaBase.XProperty); _xChangeMonitor.ChangeDetected += changeMonitor_ChangeDetected; } if (_yChangeMonitor == null) { _yChangeMonitor = new ChangeMonitor(); _yChangeMonitor.Bind(this, GraphAreaBase.YProperty); _yChangeMonitor.ChangeDetected += changeMonitor_ChangeDetected; } } else { if (_xChangeMonitor != null) { _xChangeMonitor.ChangeDetected -= changeMonitor_ChangeDetected; _xChangeMonitor.Unbind(); _xChangeMonitor = null; } if (_yChangeMonitor != null) { _yChangeMonitor.ChangeDetected -= changeMonitor_ChangeDetected; _yChangeMonitor.Unbind(); _yChangeMonitor = null; } } }
/// <summary> /// 添加缓存项 /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <param name="dependency">缓存依赖</param> /// <returns></returns> public bool Add(string key, object value, ChangeMonitor dependency) { var policy = this.BuildDefaultPolicy(); policy.ChangeMonitors.Add(dependency); return(Cache.Add(key, value, policy)); }
public object AddOrGetExisting(string key, object value, ChangeMonitor dependency) { var policy = this.BuildDefaultPolicy(); policy.ChangeMonitors.Add(dependency); return(this.Cache.AddOrGetExisting(key, value, policy)); }
internal static void OutOfGamePulse() { ChangeMonitor.CheckForChanges(); Player.UpdateOutOfGame(); EventManager.Update(); SelectBehavior(); }
/// <summary> /// 变化监控 /// </summary> /// <param name="key">键值</param> /// <param name="value">数据</param> /// <param name="changeMonitor">变化监控</param> public void Set(string key, object value, ChangeMonitor changeMonitor) { CacheItemPolicy policy = new CacheItemPolicy(); policy.ChangeMonitors.Add(changeMonitor); CurrentCache.Set(key, value, policy); }
// Use this for initialization void Start() { monitor = new ChangeMonitor(true); monitor.Add(() => MaximumHealth); monitor.Add(() => Strength); monitor.Add <float>(() => WatchThisGrow, (newValue, priorValue) => newValue > priorValue); }
public T AddOrGetExisting <T>(string key, T value, ChangeMonitor dependency) { var policy = this.BuildDefaultPolicy(); policy.ChangeMonitors.Add(dependency); var result = this.Cache.AddOrGetExisting(key, value, policy); return(result is T ? (T)result : default(T)); }
/// <summary> /// Builds a <see cref="CacheItemPolicy"/> from a configuration element and adds a single <see cref="ChangeMonitor"/> to the policy. /// </summary> /// <param name="monitor"></param> /// <param name="objectCacheName"></param> /// <returns></returns> public virtual CacheItemPolicy GetCacheItemPolicy(ChangeMonitor monitor, string objectCacheName = null) { var policy = GetCacheItemPolicy(objectCacheName); if (monitor != null) { policy.ChangeMonitors.Add(monitor); } return(policy); }
private void Disable() { Enabled = false; TrinityCombat.Party = DefaultProviders.Party; Log.Info("Plugin disabled! "); CurrentBehavior?.Deactivate(); BotMain.OnStart -= BotMain_OnStart; BotMain.OnStop -= BotMain_OnStop; EventManager.Disable(); EventManager.OnPulseOutOfGame -= Pulse; Service.OnUpdatePreview -= ServiceOnUpdatePreview; Server.ShutdownServer(); Client.ShutdownClient(); TabUi.RemoveTab(); ChangeMonitor.Disable(); }
/// <summary> /// Adds the MethodResult to cache. /// </summary> /// <param name="cache">The cache.</param> /// <param name="key">The key.</param> /// <param name="result">The result.</param> private void AddToCache(ObjectCache cache, string key, IMethodReturn result) { CacheItemPolicy policy = new CacheItemPolicy { SlidingExpiration = TimeSpan.FromMinutes(_timeSpan) }; if (Type != null) { Type t = typeof(EntityChangeMonitor <>); t = t.MakeGenericType(Type); ChangeMonitor changeMonitor = Container.Resolve(t) as ChangeMonitor; policy.ChangeMonitors.Add(changeMonitor); } cache.Add(key, result.ReturnValue, policy); }
//private void EditArea_DataItemUnShown(object sender, EditAreaDataItemArg e) //{ // foreach (var columnControl in FormulaColumns) // { // var fullFormula = AgentUICoreMediator.GetAgentUICoreMediator.formulaManager.GetFormula(columnControl.Column.CustomFormula.ID); // if (fullFormula.FormulaItems.Any(x => x.ItemType == FormuaItemType.Column || !string.IsNullOrEmpty(x.RelationshipIDTail))) // { // e.DataItem.RemoveChangeMonitorByGenaralKey("formulaColumn" + AgentHelper.GetUniqueDataPostfix(e.DataItem)); // } // } //} //private void EditArea_DataItemShown(object sender, EditAreaDataItemArg e) //{ //} private void DataItem_RelatedDataTailOrColumnChanged(object sender, ChangeMonitor e) { if (e.GeneralKey.StartsWith("formulaColumn")) { if (EditArea.DataItemIsInEditMode(e.DataToCall)) { foreach (var columnControl in FormulaColumns.Where(x => x.Column.ID.ToString() == e.UsageKey)) { var formulaColumn = FormulaColumns.First(x => x.Column.ID == columnControl.Column.ID).Column.ColumnCustomFormula; var dataProperty = e.DataToCall.GetProperty(columnControl.Column.ID); if (dataProperty != null) { CalculateProperty(dataProperty, formulaColumn, e.DataToCall, false); } } } } }
public void OnEnabled() { Enabled = true; Log.Info(" v{0} Enabled", Version); BotMain.OnStart += BotMain_OnStart; BotMain.OnStop += BotMain_OnStop; CurrentBehavior = DefaultBehavior; EventManager.Enable(); BotHistory.Enable(); TabUi.InstallTab(); ChangeMonitor.Enable(); Service.Connect(); CommunicationThread.ThreadStart(); // When start button is clicked, hooks are cleared, TreeHooks.Instance.OnHooksCleared += OnHooksCleared; }
public void OnDisabled() { Enabled = false; Log.Info("Plugin disabled! "); if (CurrentBehavior != null) { CurrentBehavior.Deactivate(); } BotMain.OnStart -= BotMain_OnStart; BotMain.OnStop -= BotMain_OnStop; EventManager.Disable(); EventManager.OnPulseOutOfGame += Pulse; Service.OnUpdatePreview -= ServiceOnUpdatePreview; BotHistory.Disable(); TabUi.RemoveTab(); ChangeMonitor.Disable(); }
private void Enable() { if (!Application.Current.CheckAccess()) { return; } Enabled = true; TrinityCombat.Party = new AutoFollowPartyProvider(); Log.Info(" v{0} Enabled", Version); BotMain.OnStart += BotMain_OnStart; BotMain.OnStop += BotMain_OnStop; CurrentBehavior = DefaultBehavior; EventManager.Enable(); TabUi.InstallTab(); ChangeMonitor.Enable(); Server.ServerStartAttempts = 0; Client.ConnectionAttempts = 0; Service.Connect(); CommunicationThread.ThreadStart(); TreeHooks.Instance.OnHooksCleared += OnHooksCleared; }
void CustomAttributesEditor_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { property = (BindableProperty)e.NewValue; CustomEditorBinder.BindProperty(this, property); NameValueCollection value = (NameValueCollection)property.Value; list = new ObservableCollection<KeyValueItem>(); foreach (string key in value) { var item = new KeyValueItem { Key = key, Value = value[key] }; item.DeleteCommand = new KeyValueItemDeleteCommand(this, item); ChangeMonitor monitor = new ChangeMonitor(this, item); monitor.PropertyChanged += new PropertyChangedEventHandler(monitor_PropertyChanged); changeMonitors.Add(monitor); list.Add(item); } AddNewItem(); this.Items.ItemsSource = list; }
void CustomAttributesEditor_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e) { property = (BindableProperty)e.NewValue; CustomEditorBinder.BindProperty(this, property); NameValueCollection value = (NameValueCollection)property.Value; list = new ObservableCollection <KeyValueItem>(); foreach (string key in value) { var item = new KeyValueItem { Key = key, Value = value[key] }; item.DeleteCommand = new KeyValueItemDeleteCommand(this, item); ChangeMonitor monitor = new ChangeMonitor(this, item); monitor.PropertyChanged += new PropertyChangedEventHandler(monitor_PropertyChanged); changeMonitors.Add(monitor); list.Add(item); } AddNewItem(); this.Items.ItemsSource = list; }
public void RemoveChangeMonitor(ChangeMonitor changeMonitor) { _changeMonitors.Remove(changeMonitor); }
public ProxyRenderer() { canvasRenderersBySubmeshIndex = new Dictionary <int, CanvasRenderer>(); canvasRendererPool = new ProxyRendererObjectPool <CanvasRenderer>(CreateCanvasRenderer, ProxyRenderer.DestroyCanvasRenderer, 8); monitor = new ChangeMonitor(true); }
internal static void InGamePulse() { ChangeMonitor.CheckForChanges(); Player.Update(); SelectBehavior(); }
private void OnEnable() { _monitor = GetComponent <ChangeMonitor>(); }
/// <summary> /// Builds a <see cref="CacheItemPolicy"/> from a configuration element and adds a single <see cref="ChangeMonitor"/> to the policy. /// </summary> /// <param name="monitor"></param> /// <param name="objectCacheName"></param> /// <returns></returns> public static CacheItemPolicy GetCacheItemPolicy(this ChangeMonitor monitor, string objectCacheName = null) { return(_provider.Value.GetCacheItemPolicy(monitor, objectCacheName)); }
public void AddChangeMonitor(ChangeMonitor changeMonitor) { _changeMonitors.Add(changeMonitor); }