ict.shenzhi/Assets/Scripts/UIManager/MainScene/MainMenuButton.cs

210 lines
5.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using AFeijia.UI;
using Kirurobo;
using static MainCanvasManager;
using System.IO;
using System;
public class MainMenuButton : UITool
{
/// <summary>
/// 视频录制按钮
/// </summary>
public Button video_record_button;
/// <summary>
/// 查看媒体按钮
/// </summary>
public Button view_media_button;
/// <summary>
/// 导入媒体按钮
/// </summary>
public Button import_media_button;
/// <summary>
/// 重置场景按钮
/// </summary>
public Button reset_scene_button;
/// <summary>
/// 保存形象按钮
/// </summary>
public Button save_image_button;
/// <summary>
/// 提交按钮
/// </summary>
public Button submit_button;
/// <summary>
/// 暂存按钮
/// </summary>
public Button staging_button;
/// <summary>
/// 下载按钮
/// </summary>
public Button download_button;
/// <summary>
/// 菜单按钮
/// </summary>
public Button menu_button;
/// <summary>
/// 文件路径
/// </summary>
public string file_path;
protected override void Awake()
{
base.Awake();
}
private void Start()
{
import_media_button.onClick.AddListener(() => OnImportMedia());
view_media_button.onClick.AddListener(() => OnMediaViwer());
save_image_button.onClick.AddListener(() => BaoCun());
submit_button.onClick.AddListener(() => TiJiao());
reset_scene_button.onClick.AddListener(() => chonZhi());
staging_button.onClick.AddListener(() => ZanCun());
download_button.onClick.AddListener(() => XiaZai());
menu_button.onClick.AddListener(OnMenu);
}
private void OnMenu()
{
menu_panel.OnSwitch();
}
public void OnImportMedia()
{
//Path = base.OpenProject();
//OpenSingleFile();
//Debug.Log(file_path);
var _res = OpenFile.OpenFileWin();
if (_res != null)
{
//是否有新增
bool _add_new = false;
//是否仅有音频
bool _only_audio;
//文件类型
string _type;
if (_res.Length == 1)
{
_type = _res[0].Split('.')[^1];
//_type = _res[0].Split('.')[_res[0].Split('.').Length - 1];
_add_new |= media_viwer_panel.Init(_type, _res[0].Split('\\')[^1], _res[0]);
//_add_new |= media_viwer_panel.Init(_type, _res[0].Split('\\')[_res[0].Split('\\').Length - 1], _res[0]);
_only_audio = _type == "mp3";
}
else
{
_only_audio = true;
var _path = _res[0];
for (int i = 1; i < _res.Length; i++)
{
_type = _res[i].Split('.')[1];
_add_new |= media_viwer_panel.Init(_res[i].Split('.')[1], _res[i], _path + "\\" + _res[i]);
_only_audio &= _type == "mp3";
}
}
if (_add_new)
{
//如果有新增,则打开媒体查看面板
media_viwer_panel.OnPopup();
//切换到对应标签,若都有,则显示视频,只有音频,显示音频
//todo
if (_only_audio)
{
media_viwer_panel.audio_files_button.isOn = true;
media_viwer_panel.OnVideoFiles(false);
media_viwer_panel.OnAudioFiles(true);
}
else
{
media_viwer_panel.video_files_button.isOn = true;
media_viwer_panel.OnVideoFiles(true);
media_viwer_panel.OnAudioFiles(false);
}
}
}
else
{
}
}
/// <summary>
/// 查看媒体资源
/// </summary>
public void OnMediaViwer()
{
media_viwer_panel.OnPopup();
}
public void BaoCun()
{
//Instantiate(OneImage, Canvas);
}
/// <summary>
/// 提交按钮
/// </summary>
public void TiJiao()
{
//Instantiate(submit, Canvas);
}
public void chonZhi()
{
}
public void ZanCun()
{
//Instantiate(ZanCunS, Canvas);
}
public void XiaZai()
{
//Instantiate(XiaZaiS, Canvas);
}
/// <summary>
/// 提交方法
/// </summary>
public void Submit()
{
Debug.Log("提交成功");
}
/// <summary>
/// 暂存方法
/// </summary>
public void ZanCunPanel()
{
Debug.Log("暂存成功");
}
/// <summary>
/// 下载方法
/// </summary>
public void XiaZaiPanel()
{
Debug.Log("下载方法");
}
/// <summary>
/// 打开windows选择路径工具
/// </summary>
private void OpenSingleFile()
{
FilePanel.Settings settings = new FilePanel.Settings();
settings.filters = new FilePanel.Filter[]
{
//new FilePanel.Filter("All files", "*"),
new FilePanel.Filter("媒体文件(*.png;*.jpg;*.jpeg;*.mp3;*.mp4;*.mov;*.avi;)", "png", "jpg", "jpeg","mp3", "mp4", "mov", "avi"),
//new FilePanel.Filter("Vidos files (*.mp4;*.mov;*.avi)", "mp4", "mov", "avi"),
//new FilePanel.Filter("Documents (*.txt;*.rtf;*.doc;*.docx)", "txt", "rtf", "doc", "docx"),
};
settings.title = "导入媒体";
settings.initialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyPictures);
FilePanel.OpenFilePanel(settings, (files) =>
{
file_path = string.Join("\n", files);
});
}
}