Exemplo n.º 1
0
        public IffResWindow OpenResourceWindow(GameIffResource res, GameObject target)
        {
            if (ResourceWindow.ContainsKey(res.MainIff))
            {
                var resWindow = ResourceWindow[res.MainIff];
                var form      = (Form)resWindow;
                if (form.WindowState == FormWindowState.Minimized)
                {
                    form.WindowState = FormWindowState.Normal;
                }
                resWindow.Activate();
                resWindow.SetTargetObject(target);
                return(resWindow);
            }
            //detect if object, spawn iff res if not.
            //WARNING: if OBJD missing or present in files it should not be, bad things will happen!

            IffResWindow window;
            var          objs = res.List <OBJD>();

            if (objs != null && objs.Count > 0 && res is GameObjectResource)
            {
                window = new ObjectWindow(res, (target == null) ? GameContent.Get.WorldObjects.Get(objs[0].GUID) : target);
            }
            else
            {
                window = new IffResourceViewer(res.MainIff.Filename, res, target);
            }

            ResourceWindow.Add(res.MainIff, window);
            window.Show();
            window.Activate();
            return(window);
        }
Exemplo n.º 2
0
        public IffResWindow OpenResourceWindow(GameIffResource res, GameObject target)
        {
            if (ResourceWindow.ContainsKey(res.MainIff))
            {
                var resWindow = ResourceWindow[res.MainIff];
                var form = (Form)resWindow;
                if (form.WindowState == FormWindowState.Minimized) form.WindowState = FormWindowState.Normal;
                resWindow.Activate();
                resWindow.SetTargetObject(target);
                return resWindow;
            }
            //detect if object, spawn iff res if not.
            //WARNING: if OBJD missing or present in files it should not be, bad things will happen!

            IffResWindow window;
            var objs = res.List<OBJD>();
            if (objs != null && objs.Count > 0)
            {
                window = new ObjectWindow(res, (target == null) ? Content.Content.Get().WorldObjects.Get(objs[0].GUID) : target);
            }
            else
            {
                window = new IffResourceViewer(res.MainIff.Filename, res, target);
            }

            ResourceWindow.Add(res.MainIff, window);
            window.Show();
            window.Activate();
            return window;
        }
Exemplo n.º 3
0
        public IffResWindow OpenResourceWindow(GameObject obj)
        {
            if (obj == null)
            {
                return(null);
            }
            if (ResourceWindow.ContainsKey(obj.Resource.MainIff))
            {
                var resWindow = ResourceWindow[obj.Resource.MainIff];
                var form      = (Form)resWindow;
                if (form.WindowState == FormWindowState.Minimized)
                {
                    form.WindowState = FormWindowState.Normal;
                }
                resWindow.Activate();
                resWindow.SetTargetObject(obj);
                if (resWindow is ObjectWindow)
                {
                    ((ObjectWindow)resWindow).RegenObjMeta(((ObjectWindow)resWindow).ActiveIff);
                }
                return(resWindow);
            }
            //straight up spawn an object window
            var window = new ObjectWindow(obj.Resource, obj);

            window.Show();
            window.Activate();
            ResourceWindow.Add(obj.Resource.MainIff, window);
            return(window);
        }
 private void InitializeObjectWindowCommand()
 {
     ObjectWindowCommand = new RelayCommand <object>(
         sender => { return(true); }, sender =>
     {
         ObjectWindow objectWindow = new ObjectWindow();
         objectWindow.ShowDialog();
     });
 }
Exemplo n.º 5
0
        public MainViewModel()
        {
            LoadedWindowCommand = new RelayCommand <Window>((p) => { return(true); }, (p) => {
                isLoaded = true;
                if (p == null)
                {
                    return;
                }
                p.Hide();
                LoginWindow loginWindow = new LoginWindow();
                loginWindow.ShowDialog();
                if (loginWindow.DataContext == null)
                {
                    return;
                }
                var loginVM = loginWindow.DataContext as LoginViewModel;
                if (loginVM.IsLogin)
                {
                    p.Show();
                }
                else
                {
                    p.Close();
                }
            });

            SuplierWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                SuplierWindow window = new SuplierWindow();
                window.ShowDialog();
            });

            CustomerWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                CustomerWindow window = new CustomerWindow();
                window.ShowDialog();
            });

            ObjectWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                ObjectWindow window = new ObjectWindow();
                window.ShowDialog();
            });

            UserWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                UserWindow window = new UserWindow();
                window.ShowDialog();
            });

            InputWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                InputWindow window = new InputWindow();
                window.ShowDialog();
            });

            OutputWindowCommand = new RelayCommand <object>((p) => { return(true); }, (p) => {
                OutputWindow window = new OutputWindow();
                window.ShowDialog();
            });
        }
Exemplo n.º 6
0
 public IffResWindow OpenResourceWindow(GameObject obj)
 {
     if (ResourceWindow.ContainsKey(obj.Resource.MainIff))
     {
         var resWindow = ResourceWindow[obj.Resource.MainIff];
         var form = (Form)resWindow;
         if (form.WindowState == FormWindowState.Minimized) form.WindowState = FormWindowState.Normal;
         resWindow.Activate();
         resWindow.SetTargetObject(obj);
         if (resWindow is ObjectWindow) ((ObjectWindow)resWindow).RegenObjMeta(((ObjectWindow)resWindow).ActiveIff);
         return resWindow;
     }
     //straight up spawn an object window
     var window = new ObjectWindow(obj.Resource, obj);
     window.Show();
     window.Activate();
     ResourceWindow.Add(obj.Resource.MainIff, window);
     return window;
 }
Exemplo n.º 7
0
    static void Create()
    {
        ObjectWindow window = (ObjectWindow)EditorWindow.GetWindow(typeof(ObjectWindow));

        window.Show();
    }
 // mọi thứ xử lý sẽ nằm trong này
 public MainViewModel()
 {
     if (!IsLoaded)
     {
         LoadedWindowCommand = new RelayCommand <Window>((p) => { return(true); }, (p) =>
         {
             IsLoaded = true;
             if (p == null)
             {
                 return;
             }
             p.Hide();
             LoginWindow login = new LoginWindow();
             login.ShowDialog();
             if (login.DataContext == null)
             {
                 return;
             }
             var LoginVM = login.DataContext as LoginViewModel;
             if (LoginVM.IsLogin)
             {
                 p.Show();
                 LoadTonKhoData();
             }
             else
             {
                 p.Close();
             }
         });
         UnitCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             UnitWindow unit = new UnitWindow();
             unit.ShowDialog();
         });
         SuplierCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             SuplierWindow suplier = new SuplierWindow();
             suplier.ShowDialog();
         });
         CustomerCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             CustomerWindow suplier = new CustomerWindow();
             suplier.ShowDialog();
         });
         ObjectCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             ObjectWindow suplier = new ObjectWindow();
             suplier.ShowDialog();
         });
         UserCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             UserWindow suplier = new UserWindow();
             suplier.ShowDialog();
         });
         InputCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             InputWindow suplier = new InputWindow();
             suplier.ShowDialog();
         });
         OutnputCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
         {
             OutputWindow suplier = new OutputWindow();
             suplier.ShowDialog();
         });
     }
 }
Exemplo n.º 9
0
        public void Init(GameObject obj, ObjectWindow master)
        {
            Master          = master;
            ActiveObj       = obj;
            OBJDNumberEntry = new Dictionary <NumericUpDown, string>()
            {
                { VersionEntry, "ObjectVersion" },
                { LevelOffset, "LevelOffset" },
                { SalePrice, "SalePrice" },
                { MotiveBladder, "RatingBladder" },
                { MotiveComfort, "RatingComfort" },
                { MotiveEnergy, "RatingEnergy" },
                { MotiveFun, "RatingFun" },
                { MotiveHunger, "RatingHunger" },
                { MotiveHygiene, "RatingHygiene" },
                { TileWidth, "TileWidth" },
                { ShadowEntry, "ShadowBrightness" },
                { DeprInitial, "InitialDepreciation" },
                { DeprDaily, "DailyDepreciation" },
                { DeprLimit, "DepreciationLimit" }
            };

            OBJDFlagEntries = new Dictionary <CheckBox, PropFlagCombo>()
            {
                { CatMoney, new PropFlagCombo("LotCategories", 1) },
                { CatOffbeat, new PropFlagCombo("LotCategories", 2) },
                { CatRomance, new PropFlagCombo("LotCategories", 3) },
                { CatServices, new PropFlagCombo("LotCategories", 4) },
                { CatShopping, new PropFlagCombo("LotCategories", 5) },
                { CatSkills, new PropFlagCombo("LotCategories", 6) },
                { CatWelcome, new PropFlagCombo("LotCategories", 7) },
                { CatGames, new PropFlagCombo("LotCategories", 8) },
                { CatEntertainment, new PropFlagCombo("LotCategories", 9) },
                { CatResidence, new PropFlagCombo("LotCategories", 10) },
                { SklCooking, new PropFlagCombo("RatingSkillFlags", 0) },
                { SklMechanical, new PropFlagCombo("RatingSkillFlags", 1) },
                { SklLogic, new PropFlagCombo("RatingSkillFlags", 2) },
                { SklBody, new PropFlagCombo("RatingSkillFlags", 3) },
                { SklCreativity, new PropFlagCombo("RatingSkillFlags", 4) },
                { SklCharisma, new PropFlagCombo("RatingSkillFlags", 5) },
                { GlobalSim, new PropFlagCombo("Global", 0) }
            };

            OBJDComboEntry = new Dictionary <ComboBox, string>()
            {
                { FrontDir, "FrontDirection" },
                { MultiGroupCombo, "MasterID" },
                { ShadowType, "Shadow" },
                { TypeCombo, "ObjectType" }
            };

            foreach (var entry in OBJDNumberEntry)
            {
                var ui = entry.Key;
                ui.ValueChanged += NumberEntry_ValueChanged;
            }

            foreach (var entry in OBJDFlagEntries)
            {
                var ui = entry.Key;
                ui.CheckedChanged += OBJDCheck_CheckedChanged;
            }

            foreach (var entry in OBJDComboEntry)
            {
                var ui = entry.Key;
                ui.SelectedIndexChanged += GenericCombo_SelectedIndexChanged;
            }

            FrontDir.Items.Clear();
            FrontDir.Items.AddRange(Cardinal);
            ShadowType.Items.Clear();
            ShadowType.Items.AddRange(ShadowTypes);

            MultitileList.DrawItem += MultitileList_DrawItem;

            UpdateOBJD(obj);
        }
Exemplo n.º 10
0
 // mọi thứ xử lý sẽ nằm trong này
 public MainViewModel()
 {
     LoadedWindowCommand = new RelayCommand <Window>((p) => { return(true); }, (p) => {
         Isloaded = true;
         p.Hide();
         LoginWindow loginWindow = new LoginWindow();
         loginWindow.ShowDialog();
         p.Show();
     }
                                                     );
     UnitCommand     = new RelayCommand <object>((p) => { return(true); }, (p) => { UnitWindow wd = new UnitWindow(); wd.ShowDialog(); });
     SupplierCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { SupplierWindow wd = new SupplierWindow(); wd.ShowDialog(); });
     CustomerCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { CustomerWindow wd = new CustomerWindow(); wd.ShowDialog(); });
     ObjectCommand   = new RelayCommand <object>((p) => { return(true); }, (p) => { ObjectWindow wd = new ObjectWindow(); wd.ShowDialog(); });
     UserCommand     = new RelayCommand <object>((p) => { return(true); }, (p) => { UserWindow wd = new UserWindow(); wd.ShowDialog(); });
     InputCommand    = new RelayCommand <object>((p) => { return(true); }, (p) => { InputWindow wd = new InputWindow(); wd.ShowDialog(); });
     OutputCommand   = new RelayCommand <object>((p) => { return(true); }, (p) => { OutputWindow wd = new OutputWindow(); wd.ShowDialog(); });
 }
Exemplo n.º 11
0
 public MainViewModel()
 {
     IsSort = false;
     LoadedWindowCommand = new RelayCommand <Window>((p) => { return(true); }, (p) =>
     {
         if (p == null)
         {
             return;
         }
         p.Hide();
         LoginWindow loginWindow = new LoginWindow();
         loginWindow.ShowDialog();
         if (loginWindow.DataContext == null)
         {
             return;
         }
         var loginVM = loginWindow.DataContext as LoginViewModel;
         if (loginVM.IsLogin)
         {
             p.Show();
             LoadTonKhoData();
             name = loginVM.UserNames;
         }
         else
         {
             p.Close();
         }
     }
                                                     );
     UnitCommand        = new RelayCommand <object>((p) => { return(true); }, (p) => { UnitWindow wd = new UnitWindow(); UnitViewModel vm = new UnitViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     SuplierCommand     = new RelayCommand <object>((p) => { return(true); }, (p) => { SuplierWindow wd = new SuplierWindow(); SuplierViewModel vm = new SuplierViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     CustomerCommand    = new RelayCommand <object>((p) => { return(true); }, (p) => { CustomerWindow wd = new CustomerWindow(); CustomerViewModel vm = new CustomerViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     ObjectCommand      = new RelayCommand <object>((p) => { return(true); }, (p) => { ObjectWindow wd = new ObjectWindow(); ObjectViewModel vm = new ObjectViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     UserCommand        = new RelayCommand <object>((p) => { return(true); }, (p) => { UserWindow wd = new UserWindow(); UserViewModel vm = new UserViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     InputCommand       = new RelayCommand <object>((p) => { return(true); }, (p) => { InputWindow wd = new InputWindow(); InputViewModel vm = new InputViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     OutputCommand      = new RelayCommand <object>((p) => { return(true); }, (p) => { OutputWindow wd = new OutputWindow(); OutputViewModel vm = new OutputViewModel(); wd.DataContext = vm; wd.ShowDialog(); });
     UpdateCommand      = new RelayCommand <object>((p) => { return(true); }, (p) => { LoadTonKhoData(); });
     ExportExcelCommand = new RelayCommand <object>((p) => { return(true); }, (p) => { ExportExcel(); });
     SearchCommand      = new RelayCommand <TextBox>((p) => { return(true); }, (p) => { CollectionViewSource.GetDefaultView(TonKhoList).Refresh(); });
     timkiemCommand     = new RelayCommand <object>((p) => { return(true); }, (p) =>
     {
         CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(TonKhoList);
         view.Filter         = UserFilter;
     });
     #region Sort
     SortDisplaynameCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
     {
         //lấy ra danh sách tồn kho đang hiển thị
         CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(TonKhoList);
         if (IsSort)
         {
             //view.SortDescriptions.Remove(new SortDescription("Object.DisplayName", ListSortDirection.Descending));
             view.SortDescriptions.Clear();                                                                     //xóa sắp xếp cũ để thực hiện lại việc sắp xếp
             view.SortDescriptions.Add(new SortDescription("Object.DisplayName", ListSortDirection.Ascending)); // thực hiện việc sắp xếp tăng dần
         }
         else
         {
             //view.SortDescriptions.Remove(new SortDescription("Object.DisplayName", ListSortDirection.Ascending));
             view.SortDescriptions.Clear();
             view.SortDescriptions.Add(new SortDescription("Object.DisplayName", ListSortDirection.Descending));
         }
         IsSort = !IsSort;
     });
     SortCountCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
     {
         CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(TonKhoList);
         if (IsSort)
         {
             //view.SortDescriptions.Remove(new SortDescription("Count", ListSortDirection.Descending));
             view.SortDescriptions.Clear();
             view.SortDescriptions.Add(new SortDescription("Count", ListSortDirection.Ascending));
         }
         else
         {
             //view.SortDescriptions.Remove(new SortDescription("Count", ListSortDirection.Ascending));
             view.SortDescriptions.Clear();
             view.SortDescriptions.Add(new SortDescription("Count", ListSortDirection.Descending));
         }
         IsSort = !IsSort;
     });
     STTCommand = new RelayCommand <object>((p) => { return(true); }, (p) =>
     {
         CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(TonKhoList);
         if (IsSort)
         {
             //view.SortDescriptions.Remove(new SortDescription("Count", ListSortDirection.Descending));
             view.SortDescriptions.Clear();
             view.SortDescriptions.Add(new SortDescription("STT", ListSortDirection.Ascending));
         }
         else
         {
             //view.SortDescriptions.Remove(new SortDescription("Count", ListSortDirection.Ascending));
             view.SortDescriptions.Clear();
             view.SortDescriptions.Add(new SortDescription("STT", ListSortDirection.Descending));
         }
         IsSort = !IsSort;
     });
     #endregion
 }
Exemplo n.º 12
0
        public void Init(GameObject obj, ObjectWindow master)
        {
            Master = master;
            ActiveObj = obj;
            OBJDNumberEntry = new Dictionary<NumericUpDown, string>()
            {
                { VersionEntry, "ObjectVersion" },
                { LevelOffset, "LevelOffset" },
                { SalePrice, "SalePrice" },
                { MotiveBladder, "RatingBladder" },
                { MotiveComfort, "RatingComfort" },
                { MotiveEnergy, "RatingEnergy" },
                { MotiveFun, "RatingFun" },
                { MotiveHunger, "RatingHunger" },
                { MotiveHygiene, "RatingHygiene" },
                { TileWidth, "TileWidth" },
                { ShadowEntry, "ShadowBrightness" },
                { DeprInitial, "InitialDepreciation" },
                { DeprDaily, "DailyDepreciation" },
                { DeprLimit, "DepreciationLimit" }
            };

            OBJDFlagEntries = new Dictionary<CheckBox, PropFlagCombo>()
            {
                { CatMoney, new PropFlagCombo("LotCategories", 1) },
                { CatOffbeat, new PropFlagCombo("LotCategories", 2) },
                { CatRomance, new PropFlagCombo("LotCategories", 3) },
                { CatServices, new PropFlagCombo("LotCategories", 4) },
                { CatShopping, new PropFlagCombo("LotCategories", 5) },
                { CatSkills, new PropFlagCombo("LotCategories", 6) },
                { CatWelcome, new PropFlagCombo("LotCategories", 7) },
                { CatGames, new PropFlagCombo("LotCategories", 8) },
                { CatEntertainment, new PropFlagCombo("LotCategories", 9) },
                { CatResidence, new PropFlagCombo("LotCategories", 10) },
                { SklCooking, new PropFlagCombo("RatingSkillFlags", 0) },
                { SklMechanical, new PropFlagCombo("RatingSkillFlags", 1) },
                { SklLogic, new PropFlagCombo("RatingSkillFlags", 2) },
                { SklBody, new PropFlagCombo("RatingSkillFlags", 3) },
                { SklCreativity, new PropFlagCombo("RatingSkillFlags", 4) },
                { SklCharisma, new PropFlagCombo("RatingSkillFlags", 5) },
                { GlobalSim, new PropFlagCombo("Global", 0) }
            };

            OBJDComboEntry = new Dictionary<ComboBox, string>()
            {
                { FrontDir, "FrontDirection" },
                { MultiGroupCombo, "MasterID" },
                { ShadowType, "Shadow" },
            };

            foreach (var entry in OBJDNumberEntry)
            {
                var ui = entry.Key;
                ui.ValueChanged += NumberEntry_ValueChanged;
            }

            foreach (var entry in OBJDFlagEntries)
            {
                var ui = entry.Key;
                ui.CheckedChanged += OBJDCheck_CheckedChanged;
            }

            foreach (var entry in OBJDComboEntry)
            {
                var ui = entry.Key;
                ui.SelectedIndexChanged += GenericCombo_SelectedIndexChanged;
            }

            FrontDir.Items.Clear();
            FrontDir.Items.AddRange(Cardinal);
            ShadowType.Items.Clear();
            ShadowType.Items.AddRange(ShadowTypes);

            MultitileList.DrawItem += MultitileList_DrawItem;

            UpdateOBJD(obj);
        }