void Start() { debounceDispatcher = new DebounceDispatcher(1000); TypeEventSystem.Register <FileDragIn>((fileDragIn) => { var path = fileDragIn.Path; System.IO.FileInfo file = new System.IO.FileInfo(path); if (file.Extension == ".csb") { Paths = GetPaths(); } else if (file.Extension == ".png") { RefreshItems(); } }); TypeEventSystem.Register <DeleteItem>((t) => { if (t.Extension == ".csb") { Paths = GetPaths(); RefreshItems(); } }); }
public void TypeEventSystem_UnRegisterTest() { var receivedCount = 0; Action <string> onReceive = (msg) => { receivedCount++; }; TypeEventSystem.Register(onReceive); TypeEventSystem.Register(onReceive); TypeEventSystem.Register(onReceive); TypeEventSystem.Register(onReceive); TypeEventSystem.Register(onReceive); TypeEventSystem.UnRegister(onReceive); TypeEventSystem.UnRegister(onReceive); TypeEventSystem.UnRegister(onReceive); TypeEventSystem.Send("Hello"); Assert.AreEqual(receivedCount, 2); // 为了避免影响其他的单元测试,所以要注销一下 TypeEventSystem.UnRegister(onReceive); TypeEventSystem.UnRegister(onReceive); }
private void Start() { if (AttackBtn) { AttackBtn.PointerDownEvent += (s, e) => Attack(); } // FluentText 初始化 FluentText.InitPanel(transform, FluentText.transform.position - transform.position); FluentText.ShowPanel(); FluentText.ChangeWord(FluentText.CurrentText); // 注册驱逐通知 TypeEventSystem.Register <MissionExpelledNotification>(OnExpelOne); // ResLoader Allocate resLoader = ResLoader.Allocate(); // 获取攻击动画时长 //if (Animator) { // AnimationClip[] clips = Animator.runtimeAnimatorController.animationClips; // foreach (AnimationClip clip in clips) { // if (clip.name == "Attack") { // attackDuration = clip.length; // break; // } // } //} }
public void Register <T> (Action <T> onReceive) { TypeEventSystem.Register <T>(onReceive); mUnRegisterEventActions.Add(() => { TypeEventSystem.UnRegister <T>(onReceive); }); }
public PackageLoginApp() { mContainer = new QFrameworkContainer(); mContainer.RegisterInstance(new PackageLoginModel()); mContainer.RegisterInstance <IPackageLoginService>(new PacakgeLoginService()); TypeEventSystem.Register <IPackageLoginCommand>(OnCommandExecute); }
public void TypeEventSystem_RegisterTest() { var receivedMsg = string.Empty; Action <string> onReceive = (msg) => { receivedMsg = msg; }; TypeEventSystem.Register(onReceive); TypeEventSystem.Send("Hello"); Assert.AreEqual(receivedMsg, "Hello"); // 为了避免影响其他的单元测试,所以要注销一下 TypeEventSystem.UnRegister(onReceive); }
private void Start() { TypeEventSystem.Register <GameStartEvent>(OnGameStartEvent); TypeEventSystem.Register <GameOverEvent>(OnGameOverEvent); TypeEventSystem.Register <ISkillEvent>(OnSkillEvent); TypeEventSystem.Send <GameStartEvent>(); TypeEventSystem.Send(new GameOverEvent() { Score = 100 }); // 要把事件发送给父类 TypeEventSystem.Send <ISkillEvent>(new PlayerSkillAEvent()); TypeEventSystem.Send <ISkillEvent>(new PlayerSkillBEvent()); }
private List <int> missionCompletedRecord; // 事件完成的记录 private void Awake() { // 注册 IOC App.Container.RegisterInstance <LevelManager>(this); // 注册聚会通知的提醒 TypeEventSystem.Register <PartyNotification>(OnPartyNotify); // 注册活动成功/失败的通知提醒 TypeEventSystem.Register <MissionCompletedNotification>(OnMissionCompleteNotify); TypeEventSystem.Register <MissionExpelledNotification>(OnMissionExpelledNotify); ResMgr.Init(); resLoader = ResLoader.Allocate(); InitTargetPositions(); InitEvent2Pos(); InitPartyPos2Human(); InitPartyTipTexts(); InitRecordList(); }
public PackageManagerApp() { // 注册好 自己的实例 Container.RegisterInstance(Container); // 配置命令的执行 TypeEventSystem.Register <IEditorStrangeMVCCommand>(OnCommandExecute); InstalledPackageVersions.Reload(); // 注册好 model var model = new PackageManagerModel { Repositories = PackageInfosRequestCache.Get().PackageRepositories }; Container.RegisterInstance(model); Container.Register <IPackageManagerServer, PackageManagerServer>(); }
public void Init(IQFrameworkContainer container) { // view mRootLayout = new VerticalLayout(); var treeNode = new TreeNode(true, LocaleText.FrameworkPackages).AddTo(mRootLayout); var verticalLayout = new VerticalLayout("box"); treeNode.Add2Spread(verticalLayout); mCategoriesSelectorView = new ToolbarView(0) .AddTo(verticalLayout); mCategoriesSelectorView.Index.Bind(newIndex => { TypeEventSystem.Send <IEditorStrangeMVCCommand>(new PackageManagerSelectCategoryCommand() { CategoryIndex = newIndex }); }); new HeaderView() .AddTo(verticalLayout); var packageList = new VerticalLayout("box") .AddTo(verticalLayout); mScrollLayout = new ScrollLayout() .Height(240) .AddTo(packageList); TypeEventSystem.Register <PackageManagerViewUpdate>(OnRefresh); // 执行 TypeEventSystem.Send <IEditorStrangeMVCCommand>(new PackageManagerStartUpCommand()); var bindingSet = BindKit.CreateBindingSet(this, new PackageManagerViewModel()); }
public PacakgeKitLoginViewModel() { TypeEventSystem.Register <LoginSucceed>(OnLoginSucceed); }
void Start() { Mask.SetActive(true); TypeEventSystem.Register <ResourceItemClick>((tmp) => { var isOn = ScrollViewContent.AnyTogglesOn(); if (!isOn) { Mask.SetActive(true); } else { Mask.SetActive(false); var items = ScrollViewContent.ActiveToggles(); var item = items.FirstOrDefault(); if (item) { mItem = item; SetUI(); } } }); InputName.onValueChanged.AddListener((value) => { if (mItem) { var resourceItem = mItem.GetComponent <ResourceItem>(); resourceItem.SetFileName(value + resourceItem.ResInfo.Extension); } else { Debug.LogError("mItem is null"); } }); DeleteBtn.onClick.AddListener(() => { if (mItem) { var resourceItem = mItem.GetComponent <ResourceItem>(); resourceItem.DeleteItem(); Mask.SetActive(true); } else { Debug.LogError("mItem is null"); } }); ImageMark.onValueChanged.AddListener((state) => { if (mItem) { var resInfo = mItem.GetComponent <ResourceItem>().ResInfo; var isCocosStudio = resInfo.Tag == ResourceTag.CocosStudio; var resourceItem = mItem.GetComponent <ResourceItem>(); InputName.textComponent.color = isCocosStudio ? new Color(255, 0, 0) : new Color(0, 0, 0); if (state) { resInfo.Tag = ResourceTag.TexturePackage; resourceItem.SetTag(ResourceTag.TexturePackage); } else { resInfo.Tag = ResourceTag.None; resourceItem.SetTag(ResourceTag.None); } } else { Debug.LogError("mItem is null"); } }); }
protected override void OnInit(QFramework.IUIData uiData) { mData = uiData as UIResourcePanelData ?? new UIResourcePanelData(); // please add init code here var activity = mData.activityIndex; var id = mData.id; TextLabel.text = "ResArea-" + activity; var version = PlayerPrefs.GetString("Version"); gameObject.AddComponent <FileDragAndDrop>(); DirTools.ActivityIndex = activity; DirTools.Version = version; TypeEventSystem.Register <ResBlockNameChanged>(NameChanged); Export.onClick.AddListener(ExportRes); Clear.onClick.AddListener(ClearRes); God.onClick.AddListener(() => { UIMgr.OpenPanel("UIUploadPanel", UILevel.Common, new UIUploadPanelData() { ActivityIndex = activity, id = id }); }); TypeEventSystem.Register <RemoveBlock>((tmp) => { var md5 = tmp.MD5; ResMap.Remove(md5); string resDir = DirTools.GetTmpResDir(); string filepath = Path.Combine(resDir, md5 + tmp.Extension); if (File.Exists(filepath)) { File.Delete(filepath); } else { Debug.LogError("资源不存在!!!"); } }); TypeEventSystem.Register <SetBlockProperties>((tmp) => { var md5 = tmp.MD5; var properties = tmp.properties; var ResBlock = ResMap[md5]; ResBlock.GetComponent <ResBlockScript>().Properties = properties; }); TypeEventSystem.Register <ClearRescoursePanel>((tmp) => { ResMap.Clear(); var lst = new List <Transform>(); foreach (Transform child in Content) { lst.Add(child); } for (int i = 0; i < lst.Count; i++) { Destroy(lst[i].gameObject); } DirTools.DeleteFolder(DirTools.GetTmpResDir()); }); TypeEventSystem.Register <FilePathInfo>((file) => { if (ResMap.ContainsKey(file.MD5)) { return; } else if (file.Extension == ".zip") { MessageBoxV2.AddMessage("暂不支持拖入zip", 3); } else { var BlockImage = Instantiate(ResBlockPrefab, Content); BlockImage.GetComponent <ResBlockScript>().SetImage(file); DirTools.CopyDropFileToTmpResDir(file); ResMap.Add(file.MD5, BlockImage); } }); DirTools.CleanUpDir(); ResMap.Clear(); #if UNITY_EDITOR Invoke("Test", 3.0f); #endif }
private void TypeEventRegister() { DownloadButton.GetComponentInChildren <Text>().color = new Color(66, 66, 66); UploadButton.GetComponentInChildren <Text>().color = new Color(66, 66, 66); TypeEventSystem.Register <Template>((template) => { TemplateText.text = "已选择Template: " + template.name; UploadButton.interactable = true; DownloadButton.interactable = true; DownloadButton.GetComponentInChildren <Text>().color = new Color(0, 0, 0); UploadButton.GetComponentInChildren <Text>().color = new Color(0, 0, 0); _template = template; }); TypeEventSystem.Register <FileInfo>((fileInfo) => { List <Transform> children = new List <Transform>(); foreach (Transform child in ScrollViewContent) { // var info = child.GetComponent<ResourceItem>().ResInfo; children.Add(child); } var target = children.Find((child) => { var info = child.GetComponent <ResourceItem>().ResInfo; return(info.FileName == fileInfo.FileName); }); if (target != null) { var resItem = target.GetComponent <ResourceItem>(); SimplePopupManager.Instance.CreatePopup(string.Format("文件名相同,直接替换原有资源{0}", fileInfo.FileName)); SimplePopupManager.Instance.AddButton("知道了", delegate { fileInfo.Tag = resItem.ResInfo.Tag; target.GetComponent <ResourceItem>().SetItemInfo(fileInfo); }); SimplePopupManager.Instance.ShowPopup(); return; } if (fileInfo.DropType == DragDropType.Add) { var Item = Instantiate(ResourceItem, ScrollViewContent); Item.GetComponent <ResourceItem>().SetItemInfo(fileInfo); Item.GetComponent <Toggle>().group = ScrollViewContent.GetComponent <ToggleGroup>(); } else { var inspector = Inspector.GetComponent <Inspector>(); if (!inspector.Mask.activeSelf) { ///替换item var item = inspector.SelectItem; if (item) { var resItem = item.GetComponent <ResourceItem>(); if (resItem.ResInfo.Extension != fileInfo.Extension) { SimplePopupManager.Instance.CreatePopup(string.Format("不可以把 {0} 替换为 {1}", resItem.ResInfo.Extension, fileInfo.Extension)); SimplePopupManager.Instance.AddButton("Soga", delegate { }); SimplePopupManager.Instance.ShowPopup(); File.Delete(fileInfo.FileFullName); return; } SimplePopupManager.Instance.CreatePopup(string.Format("确定替换 {0}{1}", inspector.InputName.text, inspector.ExtensionText.text)); SimplePopupManager.Instance.AddButton("嗯嗯", delegate { if (File.Exists(resItem.ResInfo.FileFullName)) { var originName = resItem.ResInfo.FileName; File.Delete(resItem.ResInfo.FileFullName); fileInfo.Tag = resItem.ResInfo.Tag; resItem.SetItemInfo(fileInfo); resItem.SetFileName(originName); } else { Debug.LogError("替换文件,被替换的文件不存在"); } Debug.Log(resItem.ResInfo); }); SimplePopupManager.Instance.AddButton("算了算了", delegate { File.Delete(fileInfo.FileFullName); }); SimplePopupManager.Instance.ShowPopup(); } } else { SimplePopupManager.Instance.CreatePopup("没有选中的资源,无法进行替换"); SimplePopupManager.Instance.AddButton("朕晓得了", delegate { }); SimplePopupManager.Instance.ShowPopup(); } } }); }
// Start is called before the first frame update void Start() { DirTools.ClearTempPath(); TypeEventSystem.Register <FileDragIn>((fileDragIn) => { var path = fileDragIn.Path; System.IO.FileInfo file = new System.IO.FileInfo(path); if (file.Extension == ".zip") { ImportZip(path); return; } else if (file.Extension == ".csb") { // var csbInspector = transform.GetComponent<CsbInspector>(); // var totalInfo = transform.GetComponent<QFramework.Example.UIPanel>().GetTotalInfo(); // totalInfo = totalInfo.Where((info) => { return info.Extension == ".csb"; }).ToList(); // var paths = totalInfo.Select((info) => { return info.FileFullName; }).ToList(); // paths.Add(path); // var totalPaths = new List<string>(); // paths.ForEach((name) => // { // totalPaths.AddRange(csbInspector.GetCsbImagePath(name)); // }); // totalPaths = totalPaths.Select((t) => { return Path.GetFileName(t); }).ToList(); // totalPaths = totalPaths.Distinct().ToList(); // transform.GetComponent<AppData>().CsbImagePaths = totalPaths; } else if (file.Extension == ".png") { // var ret = isCocosStudioImage(path); // if (ret) // { // fileDragIn.Tag = ResourceTag.CocosStudio; // } } var tempPath = DirTools.GetTempPath(); File.Copy(file.FullName, tempPath + "/" + file.Name, true); var md5Code = GetMD5HashFromFile(path); if (md5Code == null) { SimplePopupManager.Instance.CreatePopup(string.Format("{0}可能被占用", fileDragIn.Path)); SimplePopupManager.Instance.AddButton("朕知道了", delegate { }); SimplePopupManager.Instance.ShowPopup(); return; } TypeEventSystem.Send(new FileInfo() { FileName = file.Name, FileFullName = tempPath + "/" + file.Name, Extension = file.Extension, Time = DateTime.Now, MD5 = md5Code, Tag = fileDragIn.Tag, DropType = fileDragIn.Point.x < 860 ? DragDropType.Add : DragDropType.Replace, }); }); if (Application.platform == RuntimePlatform.WindowsEditor) { var path = @"C:\Users\yzqlw\Desktop\png"; Directory.GetFiles(path, "*").ForEach((file) => { TypeEventSystem.Send(new FileDragIn() { Path = file, Tag = ResourceTag.Default }); }); // TypeEventSystem.Send(new FileDragIn() // { // Path = path, // Tag = ResourceTag.Default // }); Invoke("test", 3.0f); } else if (Application.platform == RuntimePlatform.OSXEditor || Application.platform == RuntimePlatform.OSXPlayer) { var path = @"/Users/yzqlwt/Desktop/image"; Directory.GetFiles(path, "*").ForEach((file) => { TypeEventSystem.Send(new FileDragIn() { Path = file, Tag = ResourceTag.Default, Point = new POINT(900, 100) }); }); } }