示例#1
0
        private void openWorldModelButton_Click(object sender, EventArgs e)
        {
            if (LoadedAsset.AssetFilePath == null)
            {
                MessageBox.Show("You must first save the IAT asset");
                return;
            }
            _wmForm = new WorldModelWF.MainForm();
            var asset = _wmForm.SelectAndOpenAssetFromBrowser();

            if (asset == null)
            {
                return;
            }

            LoadedAsset.m_worldModelSource = new WorldModelSourceDTO();

            LoadedAsset.m_worldModelSource.RelativePath =
                LoadableAsset <WorldModelAsset> .ToRelativePath(LoadedAsset.AssetFilePath,
                                                                asset.AssetFilePath);

            LoadedAsset.m_worldModelSource.Source = asset.AssetFilePath;

            SetModified();
            ReloadEditor();
        }
示例#2
0
        private T Loader <T>(string path, Func <T> generateDefault) where T : LoadableAsset <T>
        {
            if (string.IsNullOrEmpty(path))
            {
                return(generateDefault());
            }

            return(LoadableAsset <T> .LoadFromFile(ToAbsolutePath(path)));
        }
示例#3
0
        private void LoadWorldModelForm()
        {
            var wm = WorldModelAsset.LoadFromFile(LoadedAsset.m_worldModelSource.Source);

            _wmForm             = new WorldModelWF.MainForm();
            _wmForm.LoadedAsset = wm;

            this.pathTextBoxWorldModel.Text = LoadableAsset <WorldModelAsset> .ToRelativePath(LoadedAsset.AssetFilePath, this.LoadedAsset.m_worldModelSource.Source);

            _wmForm.Refresh();
            FormHelper.ShowFormInContainerControl(groupBox7, _wmForm);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            var path = _controlForm.SelectAssetFileFromBrowser();

            if (path == null)
            {
                return;
            }

            try
            {
                var asset = LoadableAsset <TAsset> .LoadFromFile(path);

                _path.Text = asset.AssetFilePath;
                OnPathChanged?.Invoke(this, new EventArgs());
                EditAsset();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + "-" + ex.StackTrace, Resources.ErrorDialogTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#5
0
 protected virtual T LoadAssetFromFile(string path)
 {
     return(LoadableAsset <T> .LoadFromFile(path));
 }
示例#6
0
        protected override void OnAssetDataLoaded(RolePlayCharacterAsset asset)
        {
            textBoxCharacterName.Text  = asset.CharacterName == null ? string.Empty : asset.CharacterName.ToString();
            textBoxCharacterBody.Text  = asset.BodyName;
            textBoxCharacterVoice.Text = asset.VoiceName;

            _emotionalStateVM         = new EmotionalStateVM(this);
            _autobiographicalMemoryVM = new AutobiographicalMemoryVM(this);

            this.moodValueLabel.Text             = Math.Round(_emotionalStateVM.Mood).ToString(MOOD_FORMAT);
            this.moodTrackBar.Value              = (int)float.Parse(this.moodValueLabel.Text);
            this.StartTickField.Value            = _emotionalStateVM.Start;
            this.emotionsDataGridView.DataSource = _emotionalStateVM.Emotions;
            this.dataGridViewAM.DataSource       = _autobiographicalMemoryVM.Events;

            //EA ASSET
            if (string.IsNullOrEmpty(asset.EmotionalAppraisalAssetSource))
            {
                _eaForm.Hide();
            }
            else
            {
                this.pathTextBoxEA.Text = LoadableAsset <EmotionalDecisionMakingAsset> .ToRelativePath(LoadedAsset.AssetFilePath, asset.EmotionalAppraisalAssetSource);

                var ea = EmotionalAppraisalAsset.LoadFromFile(asset.EmotionalAppraisalAssetSource);
                _eaForm.LoadedAsset = ea;
                FormHelper.ShowFormInContainerControl(this.panelEA, _eaForm);
            }

            //EDM ASSET
            if (string.IsNullOrEmpty(asset.EmotionalDecisionMakingSource))
            {
                _edmForm.Hide();
            }
            else
            {
                this.textBoxPathEDM.Text = LoadableAsset <EmotionalDecisionMakingAsset> .ToRelativePath(LoadedAsset.AssetFilePath, asset.EmotionalDecisionMakingSource);

                var edm = EmotionalDecisionMakingAsset.LoadFromFile(asset.EmotionalDecisionMakingSource);
                _edmForm.LoadedAsset = edm;
                FormHelper.ShowFormInContainerControl(this.panelEDM, _edmForm);
            }

            //SI ASSET
            if (string.IsNullOrEmpty(asset.SocialImportanceAssetSource))
            {
                _siForm.Hide();
            }
            else
            {
                this.textBoxPathSI.Text = LoadableAsset <EmotionalDecisionMakingAsset> .ToRelativePath(LoadedAsset.AssetFilePath, asset.SocialImportanceAssetSource);

                var si = SocialImportanceAsset.LoadFromFile(asset.SocialImportanceAssetSource);
                _siForm.LoadedAsset = si;
                FormHelper.ShowFormInContainerControl(this.panelSI, _siForm);
            }

            //CIF ASSET
            if (string.IsNullOrEmpty(asset.CommeillFautAssetSource))
            {
                _cifForm.Hide();
            }
            else
            {
                this.textBoxPathCIF.Text = LoadableAsset <EmotionalDecisionMakingAsset> .ToRelativePath(LoadedAsset.AssetFilePath, asset.CommeillFautAssetSource);

                var cif = CommeillFautAsset.LoadFromFile(asset.CommeillFautAssetSource);
                _cifForm.LoadedAsset = cif;
                FormHelper.ShowFormInContainerControl(this.panelCIF, _cifForm);
            }

            //KB
            _knowledgeBaseVM = new KnowledgeBaseVM(this);
            dataGridViewBeliefs.DataSource = _knowledgeBaseVM.Beliefs;
        }