Example #1
0
        IEnumerator GetAttachments(string itemType, int itemId)
        {
            var             url        = string.Format(AppConfig.JiuquUrl + "/admin-course/item/attachment?itemType={0}&itemId={1}", itemType, itemId);
            UnityWebRequest webRequest = UnityWebRequest.Get(url);

            webRequest.SetRequestHeader("Authorization", GetAuthCode());
            webRequest.SetRequestHeader("Content-Type", "application/json");
            yield return(webRequest.SendWebRequest());

            if (webRequest.isNetworkError)
            {
                Debug.Log(": Error: " + webRequest.error);
            }
            else
            {
                var list       = JsonConvert.DeserializeObject <List <Attachment> >(webRequest.downloadHandler.text);
                var attachment = list.Find((item) => item.name == ResName);
                if (_operation == "upload")
                {
                    yield return(StartCoroutine(DownloadZip(attachment)));

                    yield return(StartCoroutine(UploadZip(itemId)));

                    var attachmentId = _attachmentId;
                    if (attachment != null)
                    {
                        yield return(StartCoroutine(UpdateArgu(attachment.id.ToString(), itemType, itemId.ToString(),
                                                               attachment.name, attachmentId)));
                    }
                    else
                    {
                        yield return(StartCoroutine(CreateResArgu(itemType, itemId, attachmentId)));
                    }

                    SimplePopupManager.Instance.CreatePopup("上传成功~~~");
                    SimplePopupManager.Instance.AddButton("朕知道,退下吧", delegate { Debug.Log("clicked on yes"); });
                    SimplePopupManager.Instance.ShowPopup();
                }
                else if (_operation == "download")
                {
                    if (attachment != null)
                    {
                        yield return(StartCoroutine(DownloadZip(attachment)));

                        TypeEventSystem.Send(new FileDragIn()
                        {
                            Path  = _zipname,
                            Tag   = ResourceTag.Default,
                            Point = new POINT(0, 0)
                        });
                    }
                    else
                    {
                        SimplePopupManager.Instance.CreatePopup("后台没有" + ResName);
                        SimplePopupManager.Instance.AddButton("朕知道,退下吧", delegate { Debug.Log("clicked on yes"); });
                        SimplePopupManager.Instance.ShowPopup();
                    }
                }
            }
        }
Example #2
0
    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 Execute()
        {
            Server.GetAllRemotePackageInfo(list =>
            {
                RenderEndCommandExecuter.PushCommand(() =>
                {
                    Model.PackageDatas = PackageInfosRequestCache.Get().PackageDatas;

                    TypeEventSystem.Send(new PackageManagerViewUpdate()
                    {
                        PackageDatas = Model.SelectedPackageType,
                        VersionCheck = Model.VersionCheck,
                    });
                });
            });


            Server.GetAllRemotePackageInfoV5((list, categories) =>
            {
                RenderEndCommandExecuter.PushCommand(() =>
                {
                    Model.PackageDatas = PackageInfosRequestCache.Get().PackageDatas;

                    TypeEventSystem.Send(new PackageManagerViewUpdate()
                    {
                        PackageDatas = Model.SelectedPackageType,
                        VersionCheck = Model.VersionCheck,
                    });
                });
            });
        }
Example #4
0
 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();
         }
     });
 }
Example #5
0
        void OnFilesAsync(List <string> aFiles, POINT aPos)
        {
            var existCsb = aFiles.ToList <string>().Find((file) => file.EndsWith(".csb")) != null;

            existCsb = false;
            foreach (var path in aFiles)
            {
                if (Directory.Exists(path))
                {
                    var files = Directory.GetFiles(path, "*");
                    // var isCsb = files.ToList<string>().Find((file) => file.EndsWith(".csb")) != null;
                    Directory.GetFiles(path, "*").ForEach((file) => {
                        TypeEventSystem.Send(new FileDragIn()
                        {
                            Path  = file,
                            Tag   = ResourceTag.Default,
                            Point = aPos
                        });
                    });
                }
                else if (File.Exists(path))
                {
                    TypeEventSystem.Send(new FileDragIn()
                    {
                        Path  = path,
                        Tag   = ResourceTag.Default,
                        Point = aPos
                    });
                }
            }
        }
Example #6
0
        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);
        }
Example #7
0
        public void Dispose()
        {
            TypeEventSystem.UnRegister <IEditorStrangeMVCCommand>(OnCommandExecute);

            Container.Clear();
            Container = null;
        }
Example #8
0
 public void OnValueChanged(string tmp)
 {
     Debug.Log("Value Changed");
     foreach (Transform child in Content)
     {
         if (child.gameObject.name == "Property")
         {
             var key   = child.Find("Key").GetComponent <Text>().text;
             var value = child.Find("InputField").GetComponent <InputField>().text;
             if (Properties.ContainsKey(key))
             {
                 Properties[key] = value;
             }
             else
             {
                 Properties.Add(key, value);
             }
             if (key == "Name")
             {
                 TypeEventSystem.Send(new ResBlockNameChanged()
                 {
                     MD5      = Properties["MD5"],
                     FileName = Properties["Name"] + Properties["Extension"]
                 });
             }
         }
     }
 }
Example #9
0
        public void Dispose()
        {
            TypeEventSystem.UnRegister <IPackageLoginCommand>(OnCommandExecute);

            mContainer.Clear();
            mContainer = null;
        }
Example #10
0
        public void ImportToResPanel()
        {
            TypeEventSystem.Send(new ClearRescoursePanel());
            var dict = getResConfig(DirTools.GetRestoredPNGDir());

            foreach (KeyValuePair <string, Dictionary <string, string> > kv in dict)
            {
                var properties = kv.Value;
                var Name       = properties["Name"];
                var MD5        = properties["MD5"];
                var Extension  = properties["Extension"];
                var fileinfo   = new FilePathInfo()
                {
                    FilePath  = DirTools.GetRestoredPNGDir() + "/" + MD5 + Extension,
                    FileName  = Name + Extension,
                    Extension = Extension,
                    MD5       = MD5
                };
                TypeEventSystem.Send(fileinfo);
                TypeEventSystem.Send(new SetBlockProperties()
                {
                    MD5        = MD5,
                    properties = properties
                });
            }
            UIMgr.ClosePanel("UIUploadPanel");
        }
Example #11
0
 public void Register <T> (Action <T> onReceive)
 {
     TypeEventSystem.Register <T>(onReceive);
     mUnRegisterEventActions.Add(() =>
     {
         TypeEventSystem.UnRegister <T>(onReceive);
     });
 }
 public void Execute()
 {
     TypeEventSystem.Send(new LoginSucceed()
     {
         InLoginView = Model.InLoginView,
         Logined     = Model.Logined
     });
 }
Example #13
0
        public PackageLoginApp()
        {
            mContainer = new QFrameworkContainer();

            mContainer.RegisterInstance(new PackageLoginModel());
            mContainer.RegisterInstance <IPackageLoginService>(new PacakgeLoginService());
            TypeEventSystem.Register <IPackageLoginCommand>(OnCommandExecute);
        }
Example #14
0
        public void OnDispose()
        {
            TypeEventSystem.UnRegister <PackageManagerViewUpdate>(OnRefresh);

            mScrollLayout           = null;
            mCategoriesSelectorView = null;
            mPackageManagerApp.Dispose();
            mPackageManagerApp = null;
        }
Example #15
0
        public void Execute()
        {
            Model.InLoginView = false;

            TypeEventSystem.Send(new LoginSucceed()
            {
                Logined     = Model.Logined,
                InLoginView = Model.InLoginView
            });
        }
Example #16
0
 void Start()
 {
     TemplateList.onValueChanged.AddListener((value) =>
     {
         var text     = TemplateList.captionText.text;
         var template = templates[text];
         TypeEventSystem.Send(template);
         transform.gameObject.SetActive(false);
     });
 }
Example #17
0
        void Update()
        {
            if (Input.GetMouseButtonDown(0))
            {
                TypeEventSystem.Send(new OnLeftMouseClickEvent());
            }

            if (Input.GetMouseButtonDown(1))
            {
                TypeEventSystem.Send(new OnRightMouseClickEvent());
            }
        }
Example #18
0
 public void DeleteItem()
 {
     if (File.Exists(ResInfo.FileFullName))
     {
         File.Delete(ResInfo.FileFullName);
         TypeEventSystem.Send(new DeleteItem()
         {
             Extension = ResInfo.Extension
         });
     }
     Destroy(gameObject);
 }
Example #19
0
        public void Login()
        {
            Service.DoGetToken(mUsername, mPassword, token =>
            {
                User.Username.Value = mUsername;
                User.Password.Value = mPassword;
                User.Token.Value    = token;
                User.Save();

                TypeEventSystem.Send(new LoginSucceed());
            });
        }
Example #20
0
        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());
        }
 void OnFilesAsync(List <string> aFiles, POINT aPos)
 {
     foreach (var path in aFiles)
     {
         MessageBoxV2.AddMessage(path);
         var extension = Path.GetExtension(path);
         var fileName  = Path.GetFileName(path);
         var md5       = Utils.GetMD5HashFromFile(path);
         TypeEventSystem.Send(new FilePathInfo()
         {
             FilePath  = path,
             Extension = extension,
             FileName  = fileName,
             MD5       = md5
         });
     }
 }
Example #23
0
    private IEnumerator GO()
    {
        yield return(new WaitForSeconds(1f));

        FluentText.ChangeWord(humanEvent.TipTexts[Random.Range(0, humanEvent.TipTexts.Length)]);
        FluentText.ShowPanel();

        // Get target position and Move to target pos
        missionPos = App.Container.Resolve <LevelManager>().GetTargetPos(humanEvent.EventType);

        SwitchAgentObstacle(true);
        Agent.SetDestination(RandomNearPos(missionPos, Agent.stoppingDistance / 2));

        while (!ArriveTarget())
        {
            yield return(null);  // 等待到下一帧
        }


        SwitchAgentObstacle(false);

        // 到达指定地点后进行结算
        if (humanEvent.IsParty)
        {
            var lookDir = missionPos - transform.position;
            lookDir.Set(lookDir.x, 0, lookDir.z);
            Quaternion q = Quaternion.LookRotation(lookDir);
            transform.rotation = q;
            // 播放动画
            string anim = humanEvent.PartyAnimations[
                Random.Range(0, humanEvent.PartyAnimations.Length)];
            animator.PlayInFixedTime(anim, -1, 1f);

            // 告诉 Manager 自己到达某处聚集点
            TypeEventSystem.Send(new PartyNotification(missionPos, transform));
            yield return(new WaitForSeconds(2));

            FluentText.HidePanel();
        }
        else
        {
            ReportMission(done: true);
            Destroy(gameObject);
        }
    }
Example #24
0
    // 告诉 Manager 该项活动是否被阻止,进行记录
    private void ReportMission(bool done)
    {
        // 活动被阻止
        if (!done)
        {
            if (humanEvent.IsParty)
            {
                TypeEventSystem.Send(new PartyNotification(missionPos, transform, true));
            }
            TypeEventSystem.Send(new MissionExpelledNotification(humanEvent));
        }
        // 活动成功完成
        else
        {
            TypeEventSystem.Send(new MissionCompletedNotification(humanEvent));
        }

        Debug.Log("Mission: " + humanEvent.EventType.ToString() + (done ? "完成" : "被阻止"));
    }
Example #25
0
        public RegisterView()
        {
            var usernameLine = new HorizontalLayout().AddTo(this);

            new LabelView("username:"******"").AddTo(usernameLine);

            var passwordLine = new HorizontalLayout().AddTo(this);

            new LabelView("password:"******"").PasswordMode().AddTo(passwordLine);

            new ButtonView("注册", () => { }).AddTo(this);


            new ButtonView("返回注册", () => { TypeEventSystem.Send <IPackageLoginCommand>(new OpenRegisterView()); })
            .AddTo(this);
        }
    public void OnPointerClick(PointerEventData eventData)
    {
        var pointerId = eventData.pointerId;

        if (pointerId == -1)
        {
            Debug.Log("鼠标左键点击");
        }
        else if (pointerId == -2)
        {
            Debug.Log("鼠标右键点击");
            TypeEventSystem.Send(new RemoveBlock()
            {
                MD5       = Properties["MD5"],
                Extension = Properties["Extension"]
            });
            Destroy(gameObject);
        }
    }
Example #27
0
    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();
    }
Example #28
0
        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>();
        }
        private void OnRefresh(PackageManagerViewUpdate viewUpdateEvent)
        {
            mScrollLayout.Clear();

            mCategoriesSelectorView.Menus(viewUpdateEvent.Categories);
            mCategoriesSelectorView.Index.Bind(newIndex =>
            {
                TypeEventSystem.Send <IEditorStrangeMVCCommand>(new PackageManagerSelectCategoryCommand()
                {
                    CategoryIndex = newIndex
                });
            });

            new SpaceView(2).AddTo(mScrollLayout);

            foreach (var packageData in viewUpdateEvent.PackageDatas)
            {
                new SpaceView(2).AddTo(mScrollLayout);
                new PackageView(packageData).AddTo(mScrollLayout);
            }
        }
Example #30
0
        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());
        }