//public BindableCollection<HandModel> Hands { get; set; }
        // public System.Windows.Controls.DataGrid DG { get; set; }

        // public HandsModel HM { get; set; }

        // public List<string> Headers { get; set; }
        // public string[][] HandData { get; set; }

        public HandBrowserViewModel(HandGroup handGroup, string windowTitle)
        {
            // WindowTitle = $"{handGroup.Spot.Action} {handGroup.Spot.AggPos}vs{handGroup.Spot.CllPos} {handGroup.Spot.BoardSubtype} {handGroup.Spot.BoardSubtype} {handGroup.HandType.ToString()}";
            WindowTitle = windowTitle;
            NotifyOfPropertyChange(() => WindowTitle);
            LoadDataGrid(handGroup);
        }
Exemple #2
0
        /// <summary>
        /// Tests the FAR3Archive class.
        /// </summary>
        private static void FAR3Test()
        {
            Console.WriteLine("Attempting to parse Mesh...");
            FileManager.GetMesh((ulong)FileIDs.MeshFileIDs.uaab023dog_pinkpoodle_head_dogbody_head);

            Console.WriteLine("Attempting to parse Skeleton...");
            FileManager.GetSkeleton(0x100000005);

            Console.WriteLine("Attempting to parse Outfit...");
            Outfit Oft = FileManager.GetOutfit((ulong)FileIDs.OutfitsFileIDs.fab002_police);

            Console.WriteLine("Attempting to parse Handgroup...");
            HandGroup Hag = FileManager.GetHandgroup(Oft.HandgroupID.UniqueID);

            Console.WriteLine("Attempting to parse Appearance...");
            Appearance Apr = FileManager.GetAppearance(Hag.Light.Left.Idle.AppearanceID.UniqueID);

            Console.WriteLine("Attempting to parse Animation...");
            Anim Animation = FileManager.GetAnimation(0x100000007);
        }
        public void LoadDataGrid(HandGroup handGroup)
        {
            Console.WriteLine("Loading starts");

            HandsData = new DataTable();
            addHeaders(handGroup.GetFrequencyLabels());

            // int rowIndex = 0;
            foreach (int strengthorder in handGroup.GetStrengthOrders())
            {
                foreach (Hand hand in handGroup.GetHands(strengthorder))
                {
                    addRow(hand);
                }
            }

            HandsView = CollectionViewSource.GetDefaultView(HandsData);
            HandsView.GroupDescriptions.Clear();
            if (Properties.Settings.Default.GroupHands)
            {
                HandsView.GroupDescriptions.Add(new PropertyGroupDescription("Strength label"));
            }
            Console.WriteLine("Loading ends");
        }
Exemple #4
0
        /// <summary>
        /// Changes this avatar's outfit.
        /// </summary>
        public void ChangeOutfit(Outfit Oft, SkinType Type)
        {
            Binding[] Bindings;

            AccessoryMesh    = null;
            AccessoryTexture = null;

            if (Oft.HandgroupID.FileID != 0)
            {
                HandGroup  Hag = FileManager.Instance.GetHandgroup(Oft.HandgroupID.UniqueID);
                Appearance LeftHandApr, RightHandApr;

                switch (Type)
                {
                case SkinType.Light:
                    LeftHandApr  = FileManager.Instance.GetAppearance(Hag.Light.Left.Idle.AppearanceID.UniqueID);
                    RightHandApr = FileManager.Instance.GetAppearance(Hag.Light.Right.Idle.AppearanceID.UniqueID);
                    break;

                case SkinType.Medium:
                    LeftHandApr  = FileManager.Instance.GetAppearance(Hag.Medium.Left.Idle.AppearanceID.UniqueID);
                    RightHandApr = FileManager.Instance.GetAppearance(Hag.Medium.Right.Idle.AppearanceID.UniqueID);
                    break;

                case SkinType.Dark:
                    LeftHandApr  = FileManager.Instance.GetAppearance(Hag.Dark.Left.Idle.AppearanceID.UniqueID);
                    RightHandApr = FileManager.Instance.GetAppearance(Hag.Dark.Right.Idle.AppearanceID.UniqueID);
                    break;

                default:
                    LeftHandApr  = FileManager.Instance.GetAppearance(Hag.Light.Left.Idle.AppearanceID.UniqueID);
                    RightHandApr = FileManager.Instance.GetAppearance(Hag.Light.Right.Idle.AppearanceID.UniqueID);
                    break;
                }

                Bindings = FileManager.Instance.GetBindings(LeftHandApr.BindingIDs);

                foreach (Binding Bnd in Bindings)
                {
                    switch (Bnd.Bone)
                    {
                    case "L_HAND":
                        LeftHandMesh    = FileManager.Instance.GetMesh(Bnd.MeshID.UniqueID);
                        LeftHandTexture = FileManager.Instance.GetTexture(Bnd.TextureID.UniqueID);
                        break;
                    }
                }

                Bindings = FileManager.Instance.GetBindings(RightHandApr.BindingIDs);

                foreach (Binding Bnd in Bindings)
                {
                    switch (Bnd.Bone)
                    {
                    case "R_HAND":
                        RightHandMesh    = FileManager.Instance.GetMesh(Bnd.MeshID.UniqueID);
                        RightHandTexture = FileManager.Instance.GetTexture(Bnd.TextureID.UniqueID);
                        break;
                    }
                }
            }

            Appearance Apr;

            switch (Type)
            {
            case SkinType.Light:
                Apr = FileManager.Instance.GetAppearance(Oft.LightAppearance.UniqueID);
                break;

            case SkinType.Medium:
                Apr = FileManager.Instance.GetAppearance(Oft.MediumAppearance.UniqueID);
                break;

            case SkinType.Dark:
                Apr = FileManager.Instance.GetAppearance(Oft.DarkAppearance.UniqueID);
                break;

            default:
                Apr = FileManager.Instance.GetAppearance(Oft.LightAppearance.UniqueID);
                break;
            }

            Bindings = FileManager.Instance.GetBindings(Apr.BindingIDs);

            if (Oft.Region == OutfitRegion.Head)
            {
                HeadMesh = null; //IMPORTANT: Reset the head mesh before loading a new one.
            }
            foreach (Binding Bnd in Bindings)
            {
                switch (Bnd.Bone)
                {
                case "PELVIS":
                    BodyMesh    = FileManager.Instance.GetMesh(Bnd.MeshID.UniqueID);
                    BodyTexture = FileManager.Instance.GetTexture(Bnd.TextureID.UniqueID);
                    break;

                case "HEAD":
                    if (HeadMesh == null)
                    {
                        HeadMesh    = FileManager.Instance.GetMesh(Bnd.MeshID.UniqueID);
                        HeadTexture = FileManager.Instance.GetTexture(Bnd.TextureID.UniqueID);
                    }
                    else
                    {
                        AccessoryMesh    = FileManager.Instance.GetMesh(Bnd.MeshID.UniqueID);
                        AccessoryTexture = FileManager.Instance.GetTexture(Bnd.TextureID.UniqueID);
                    }
                    break;
                }
            }
        }