예제 #1
0
 /// <summary>
 ///		Limpia los esquemas
 /// </summary>
 public void Clear()
 {
     Tables.Clear();
     Triggers.Clear();
     Views.Clear();
     Routines.Clear();
 }
예제 #2
0
 public void ReloadDatabase()
 {
     Tables.Clear();
     Triggers.Clear();
     LoadDatabase(_dbInfo.Path);
     CollectionViewSource.GetDefaultView(this.Tables).Refresh();
 }
        public void ResetWithHome(HMHome home)
        {
            Accessories.Clear();
            Accessories.AddRange(home.Accessories);
            Accessories.SortByLocalizedName(a => a.Name);

            Rooms.Clear();
            Rooms.AddRange(home.GetAllRooms());
            Rooms.SortByLocalizedName(r => r.Name);

            Zones.Clear();
            Zones.AddRange(home.Zones);
            Zones.SortByLocalizedName(z => z.Name);

            ActionSets.Clear();
            ActionSets.AddRange(home.ActionSets);
            ActionSets.SortByTypeAndLocalizedName();

            Triggers.Clear();
            Triggers.AddRange(home.Triggers);
            Triggers.SortByLocalizedName(t => t.Name);

            ServiceGroups.Clear();
            ServiceGroups.AddRange(home.ServiceGroups);
            ServiceGroups.SortByLocalizedName(sg => sg.Name);
        }
예제 #4
0
 private void GetTriggersViewModelsFromBind()
 {
     Triggers.Clear();
     foreach (BaseTrigger trigger in Bind.Triggers)
     {
         Triggers.Add(TriggersUtilities.GetViewModelForTrigger(trigger));
     }
     OnPropertyChanged("Triggers");
 }
예제 #5
0
 public void Reload()
 {
     Tables.Clear();
     Triggers.Clear();
     Indexes.Clear();
     _domains = null;
     _dbInfo  = new DatabaseInfo(new FirebirdInfo(_dbInfo.Path));
     LoadDatabase(_dbInfo.Path);
     AdditionalInfo.RefrechData(this);
     CollectionViewSource.GetDefaultView(this.Tables).Refresh();
 }
예제 #6
0
 public override void Clear()
 {
     Tables.Clear();
     Views.Clear();
     MaterializedViews.Clear();
     Indexes.Clear();
     Sequences.Clear();
     Synonyms.Clear();
     Triggers.Clear();
     StoredProcedures.Clear();
 }
예제 #7
0
            public BaiYinFangZhu()
            {
                Triggers.Clear();
                var trigger = new AutoNotifyUsagePassiveSkillTrigger(
                    this,
                    (p, e, a) => { return(p[RenJie.RenMark] > 0); },
                    Wrapper,
                    TriggerCondition.OwnerIsTarget,
                    new FangZhuVerifier()
                    );

                Triggers.Add(GameEvent.AfterDamageInflicted, trigger);
                IsAutoInvoked = null;
            }
예제 #8
0
        public void AssignPhaseData(DatabaseObjectInfo source, DatabaseAnalysePhase phase)
        {
            var src = (DatabaseInfo)source;

            if ((phase & DatabaseAnalysePhase.Tables) != 0)
            {
                Tables.Clear();
                foreach (var obj in src.Tables)
                {
                    Tables.Add(obj.CloneTable(this));
                }
            }
            if ((phase & DatabaseAnalysePhase.Views) != 0)
            {
                Views.Clear();
                foreach (var obj in src.Views)
                {
                    Views.Add(obj.CloneView(this));
                }
            }
            if ((phase & DatabaseAnalysePhase.Functions) != 0)
            {
                StoredProcedures.Clear();
                Functions.Clear();
                Triggers.Clear();
                foreach (var obj in src.StoredProcedures)
                {
                    StoredProcedures.Add(obj.CloneStoredProcedure(this));
                }
                foreach (var obj in src.Functions)
                {
                    Functions.Add(obj.CloneFunction(this));
                }
                foreach (var obj in src.Triggers)
                {
                    Triggers.Add(obj.CloneTrigger(this));
                }
            }
            if ((phase & DatabaseAnalysePhase.Settings) != 0)
            {
                Schemas.Clear();
                foreach (var obj in src.Schemas)
                {
                    Schemas.Add(obj.CloneSchema(this));
                }
                DefaultSchema = src.DefaultSchema;
            }
        }
        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                foreach (var trigger in Triggers)
                {
                    trigger.Tripped -= HandleTriggerTripped;
                    trigger.Dispose();
                }
                Triggers.Clear();

                //Nullify
                Triggers = null;
                Guard    = null;
                Supplier = null;
                Consumer = null;
                Effect   = null;
            }
        }
        private void PopulateFunctions(IList <DeviceObjectInstance> objects)
        {
            Triggers.Clear();
            Values.Clear();
            _functions.Clear();

            _device.Poll();
            JoystickState state = GetState();

            int lastButton = -1;
            int lastSlider = -1;
            int lastPov    = -1;

            foreach (DeviceObjectInstance obj in objects)
            {
                int controlNum = -1;
                if (obj.ObjectType == ObjectGuid.Button)
                {
                    controlNum = ++lastButton;
                }
                else if (obj.ObjectType == ObjectGuid.Slider)
                {
                    controlNum = ++lastSlider;
                }
                else if (obj.ObjectType == ObjectGuid.PovController)
                {
                    controlNum = ++lastPov;
                }
                else if (obj.ObjectType != ObjectGuid.Unknown)
                {
                    controlNum = 0;
                }

                if (controlNum > -1)
                {
                    AddFunction(DirectXControllerFunction.Create(this, obj.ObjectType, controlNum, state));
                }
            }
        }
예제 #11
0
 public void ClearTriggers()
 {
     Bind.Triggers.Clear();
     Triggers.Clear();
     OnPropertyChanged("Triggers");
 }
예제 #12
0
        public void MapDataReset()
        {
            cHKTokens = new List <CHKToken>();
            for (int i = 0; i < 8; i++)
            {
                CRGB[i] = new Microsoft.Xna.Framework.Color(0, 0, 0);

                CRGBIND[i] = (byte)CRGBINDTYPE.UseCOLRselection;
                COLR[i]    = (byte)i;
            }
            UNIT.Clear();


            FORCE        = new byte[8];
            FORCENAME    = new StringData[4];
            FORCENAME[0] = new StringData(this, "세력 1");
            FORCENAME[1] = new StringData(this, "세력 2");
            FORCENAME[2] = new StringData(this, "세력 3");
            FORCENAME[3] = new StringData(this, "세력 4");


            SIDE      = new byte[12];
            FORCEFLAG = new byte[4];
            WIDTH     = 0;
            HEIGHT    = 0;
            MASK      = null;
            MTXM      = null;
            TILE      = null;

            BYTESTR  = null;
            BYTESTRx = null;
            LOADSTR  = null;
            LOADSTRx = null;
            IOWN     = null;
            OWNR     = null;
            //LocationDatas.Add(new LocationData());


            SCEARIONAME = new StringData(this, "제목 없음");
            SCEARIODES  = new StringData(this, "시나리오 설명이 없습니다.");

            ENCODING = null;// System.Text.Encoding.


            DD2.Clear();
            THG2.Clear();


            DDDTHG2.Clear();
            LocationDatas.Clear();
            LocationDatas.Add(new LocationData(mapEditor));

            UPRP = new CUPRP[64];
            for (int i = 0; i < 64; i++)
            {
                UPRP[i] = new CUPRP();
            }


            UPUS = new byte[64];

            WAV = new StringData[512];
            for (int i = 0; i < 512; i++)
            {
                WAV[i] = new StringData(this);
            }
            SWNM = new StringData[256];
            for (int i = 0; i < 256; i++)
            {
                SWNM[i] = new StringData(this);
            }

            TRIG.Clear();
            MBRF.Clear();

            PUNI = new CPUNI(true);
            PUPx = new CPUPx(true);
            PTEx = new CPTEx(true);
            UNIx = new CUNIx(this, true);
            UPGx = new CUPGx(true);
            TECx = new CTECx(true);

            soundDatas = new List <SoundData>();

            Triggers.Clear();
            Brifings.Clear();
        }
예제 #13
0
 public BaiYinGuiCai()
 {
     Triggers.Clear();
     Triggers.Add(GameEvent.PlayerJudgeBegin, new RelayTrigger(OnJudgeBegin, TriggerCondition.Global));
 }
예제 #14
0
        /// <summary>
        /// Cleans up.
        /// </summary>
        public virtual void CleanUp()
        {
            foreach (var item in this.CameraManager.GetCamerasDescription())
            {
                item.cam.CleanUp();
            }

            foreach (var item in SoundEmiters3D.ToArray())
            {
                this.RemoveSoundEmitter(item);
            }

            foreach (var item in Triggers.ToArray())
            {
                this.RemoveTrigger(item);
            }

            foreach (var item in Lights.ToArray())
            {
                this.RemoveLight(item);
            }


            if (CleanUpObjectsOnDispose)
            {
                foreach (var item in Objects.ToArray())
                {
                    this.RemoveObject(item);
                    item.CleanUp(graphicFactory);
                }
            }
            else
            {
                foreach (var item in Objects.ToArray())
                {
                    this.RemoveObject(item);
                }
            }



            foreach (var item in SoundEmiters3D)
            {
                item.CleanUp(graphicFactory);
            }

            Objects.Clear();
            Lights.Clear();
            Dummies.Clear();
            this.culler = null;
            SoundEmiters3D.Clear();
            CameraManager = null;
            Triggers.Clear();
            if (particleManager != null)
            {
                particleManager.iCleanUp();
                particleManager = null;
            }
            this.PhysicWorld.iCleanUp();
            this.PhysicWorld = null;
        }
예제 #15
0
        public OverlayAuraModelBase(
            [NotNull] ISharedContext sharedContext,
            [NotNull] IAuraRepository repository,
            [NotNull] IConfigSerializer configSerializer,
            [NotNull] IUniqueIdGenerator idGenerator,
            [NotNull] IFactory <IEyeOverlayViewModel, IOverlayWindowController, IAuraModelController> overlayViewModelFactory,
            [NotNull] IFactory <IOverlayWindowController, IWindowTracker> overlayWindowControllerFactory,
            [NotNull] IFactory <WindowTracker, IStringMatcher> windowTrackerFactory,
            [NotNull][Dependency(WellKnownSchedulers.UI)] IScheduler uiScheduler,
            [NotNull][Dependency(WellKnownSchedulers.Background)] IScheduler bgScheduler)
        {
            defaultAuraName = $"Aura #{Interlocked.Increment(ref GlobalAuraIdx)}";
            Name            = defaultAuraName;
            Id           = idGenerator.Next();
            using var sw = new BenchmarkTimer($"[{Name}({Id})] OverlayAuraModel initialization", Log, nameof(OverlayAuraModelBase));

            var auraTriggers = new ComplexAuraTrigger();

            Triggers = auraTriggers.Triggers;

            var auraActions = new ComplexAuraAction();

            OnEnterActions = auraActions.Actions;

            this.repository       = repository;
            this.configSerializer = configSerializer;
            var matcher       = new RegexStringMatcher().AddToWhitelist(".*");
            var windowTracker = windowTrackerFactory
                                .Create(matcher)
                                .AddTo(Anchors);

            var overlayController = overlayWindowControllerFactory
                                    .Create(windowTracker)
                                    .AddTo(Anchors);

            sw.Step($"Overlay controller created: {overlayController}");

            var overlayViewModel = overlayViewModelFactory
                                   .Create(overlayController, this)
                                   .AddTo(Anchors);

            sw.Step($"Overlay view model created: {overlayViewModel}");

            Overlay = overlayViewModel;
            Observable.Merge(
                overlayViewModel.WhenValueChanged(x => x.AttachedWindow, false).ToUnit(),
                overlayViewModel.WhenValueChanged(x => x.IsLocked, false).ToUnit(),
                this.WhenValueChanged(x => x.IsActive, false).ToUnit())
            .StartWithDefault()
            .Select(
                () => new
            {
                OverlayShouldBeShown = IsActive || !overlayViewModel.IsLocked,
                WindowIsAttached     = overlayViewModel.AttachedWindow != null
            })
            .Subscribe(x => overlayController.IsEnabled = x.OverlayShouldBeShown && x.WindowIsAttached)
            .AddTo(Anchors);
            sw.Step($"Overlay view model initialized: {overlayViewModel}");

            Observable.CombineLatest(
                auraTriggers.WhenAnyValue(x => x.IsActive),
                sharedContext.SystemTrigger.WhenValueChanged(x => x.IsActive))
            .DistinctUntilChanged()
            .Subscribe(x => IsActive = x.All(isActive => isActive), Log.HandleException)
            .AddTo(Anchors);

            auraTriggers.WhenAnyValue(x => x.IsActive)
            .WithPrevious((prev, curr) => new { prev, curr })
            .Where(x => x.prev == false && x.curr)
            .Subscribe(ExecuteOnEnterActions, Log.HandleException)
            .AddTo(Anchors);

            this.repository.KnownEntities
            .ToObservableChangeSet()
            .SkipInitial()
            .Throttle(ModelsReloadTimeout, bgScheduler)
            .ObserveOn(uiScheduler)
            .Subscribe(
                () =>
            {
                var properties = Properties;
                ReloadCollections(properties);
            })
            .AddTo(Anchors);

            var modelPropertiesToIgnore = new[]
            {
                nameof(IAuraTrigger.IsActive),
                nameof(IAuraTrigger.TriggerDescription),
                nameof(IAuraTrigger.TriggerName),
            }.ToImmutableHashSet();

            //FIXME Properties mechanism should have inverted logic - only important parameters must matter
            Observable.Merge(
                this.WhenAnyProperty(x => x.Name, x => x.TargetWindow, x => x.IsEnabled).Select(x => $"[{Name}].{x.EventArgs.PropertyName} property changed"),
                Overlay.WhenAnyProperty().Where(x => !modelPropertiesToIgnore.Contains(x.EventArgs.PropertyName)).Select(x => $"[{Name}].{nameof(Overlay)}.{x.EventArgs.PropertyName} property changed"),
                Triggers.ToObservableChangeSet().Select(x => $"[{Name}({Id})] Trigger list changed, item count: {Triggers.Count}"),
                Triggers.ToObservableChangeSet().WhenPropertyChanged().Where(x => !modelPropertiesToIgnore.Contains(x.EventArgs.PropertyName)).Select(x => $"[{Name}].{x.Sender}.{x.EventArgs.PropertyName} Trigger property changed"),
                OnEnterActions.ToObservableChangeSet().Select(x => $"[{Name}({Id})] Action list changed, item count: {OnEnterActions.Count}"),
                OnEnterActions.ToObservableChangeSet().WhenPropertyChanged().Where(x => !modelPropertiesToIgnore.Contains(x.EventArgs.PropertyName)).Select(x => $"[{Name}].{x.Sender}.{x.EventArgs.PropertyName} Action property changed"))
            .Subscribe(reason => RaisePropertyChanged(nameof(Properties)))
            .AddTo(Anchors);

            Disposable.Create(() =>
            {
                Log.Debug(
                    $"Disposed Aura {Name}({Id}) (aka {defaultAuraName}), triggers: {Triggers.Count}, actions: {OnEnterActions.Count}");
                OnEnterActions.Clear();
                Triggers.Clear();
            }).AddTo(Anchors);
            sw.Step($"Overlay model properties initialized");

            overlayController.RegisterChild(overlayViewModel).AddTo(Anchors);
            sw.Step($"Overlay registration completed: {this}");
        }
예제 #16
0
 /// <summary>
 /// Remove all active and pending triggers.
 /// </summary>
 public void ClearTriggers()
 {
     Triggers.Clear();
     TriggersToInsert.Clear();
 }
예제 #17
0
 public void Clear()
 {
     Triggers.Clear();
 }