private void treeViewCustom1_AfterSelect(object sender, TreeViewEventArgs e) { if (samplerTreeView.SelectedNode != null) { int index = samplerTreeView.SelectedNode.Index; activeSampler = (FMAA.BfresSamplerAnim)material.Nodes[index]; } }
public void LoadAnim(FMAA materialAnim) { if (materialAnim.Materials.Count <= 0) { return; } IsLoaded = false; ActiveMaterialAnim = materialAnim; materialCB.Items.Clear(); samplerCB.Items.Clear(); foreach (var mat in materialAnim.Materials) { materialCB.Items.Add(mat.Text); } materialCB.SelectedIndex = 0; material = materialAnim.Materials[materialCB.SelectedIndex]; if (material.Samplers.Count <= 0) { return; } foreach (var sampler in material.Samplers) { samplerCB.Items.Add(sampler.Text); } samplerCB.SelectedIndex = 0; activeSampler = (FMAA.BfresSamplerAnim)material.Samplers[samplerCB.SelectedIndex]; listViewCustom1.SuspendLayout(); listViewCustom1.Items.Clear(); LoadAniamtion(materialAnim, activeSampler); listViewCustom1.ResumeLayout(); IsLoaded = true; animationTrackBar.Value = 0; }
public void LoadAnim(FMAA.BfresSamplerAnim samplerAnim) { activeSampler = samplerAnim; material = (MaterialAnimation.Material)samplerAnim.Parent; var anim = (MaterialAnimation)material.Parent; trackbarKeyEditor1.ClearKeys(); trackbarKeyEditor1.Maximum = anim.FrameCount; samplerTreeView.Nodes.Clear(); int KeyHeight = trackbarKeyEditor1.ClientSize.Width / anim.FrameCount; pictureBoxCustom1.Image = null; foreach (FMAA.BfresSamplerAnim sampler in material.Nodes) { samplerTreeView.Nodes.Add(sampler.Text); } if (samplerTreeView.Nodes.Count > 0) { samplerTreeView.SelectedNode = samplerTreeView.Nodes[0]; } animMaxFrameUD.Value = anim.FrameCount; for (int Frame = 0; Frame < anim.FrameCount; Frame++) { int KeyPosY = KeyHeight; foreach (FMAA.BfresSamplerAnim sampler in material.Nodes) { var keyFrame = sampler.group.GetKeyFrame(Frame); if (keyFrame.IsKeyed) { var tex = sampler.GetActiveTexture(Frame); if (tex != null) { Bitmap temp = tex.GetBitmap(); trackbarKeyEditor1.AddKeyFrameThumbSlider(Frame, KeyPosY, KeyHeight, temp); KeyPosY += KeyHeight; } } } } }
private void samplerCB_SelectedIndexChanged(object sender, EventArgs e) { if (material == null || !IsLoaded) { return; } if (samplerCB.SelectedIndex >= 0) { if (activeSampleU != null) { activeSampleU = (FTXP.BfresSamplerAnim)material.Samplers[samplerCB.SelectedIndex]; LoadAniamtion(ActiveMaterialAnim, activeSampleU); } else { activeSampler = (FMAA.BfresSamplerAnim)material.Samplers[samplerCB.SelectedIndex]; LoadAniamtion(ActiveMaterialAnim, activeSampler); } } }