예제 #1
0
 public ActorEditor(string path, XmlCfg.Skill.ActorConfig cfg = null)
 {
     _path     = path;
     _actorCfg = cfg != null ? cfg : new XmlCfg.Skill.ActorConfig();
     if (File.Exists(path))
     {
         _actorCfg.LoadAConfig(path);
     }
     if (CfgManager.Model.ContainsKey(_actorCfg.ModelName))
     {
         _model = CfgManager.Model[_actorCfg.ModelName];
     }
     if (_actorCfg != null)
     {
         foreach (var item in _actorCfg.GeneralActions)
         {
             var action = new ActionEditor(this, item.Value, false);
             action.ActState = ActionEditor.ActionState.New;
             GeneralActions.Add(action);
         }
         foreach (var item in _actorCfg.SkillActions)
         {
             var action = new ActionEditor(this, item.Value, true);
             action.ActState = ActionEditor.ActionState.New;
             SkillActions.Add(action);
         }
     }
 }
예제 #2
0
        /*Bordcast  message to Team()
         * 1.Moving Queue objects active status
         */
        public string BoardcastToTeam(string data, string message)
        {
            ResponseMessage resp     = new ResponseMessage();
            string          response = "";

            try
            {
                UserDetail userDetail = new UserDetail();
                userDetail.connectionId = Context.ConnectionId;
                if (GeneralActions.VerifyData(data, ref userDetail, ref resp))
                {
                    Clients.Group(userDetail.connectionId.ToString()).chatMessage(message);
                    resp.code = 200;
                    resp.desc = "Success";
                }
            }
            catch
            {
                resp.code = 500;
                resp.desc = "Error";
            }
            finally
            {
                response = Newtonsoft.Json.JsonConvert.SerializeObject(resp);
            }
            return(response);
        }
예제 #3
0
        private void PasteActions()
        {
            var generalDict           = GetGeneralActionDict();
            var skillDict             = GetSkillActionDict();
            List <ActionEditor> paste = new List <ActionEditor>();

            if (Clipboard.TryPaste(out paste))
            {
                foreach (var item in paste)
                {
                    if (skillDict.ContainsKey(item.ActionName) ||
                        generalDict.ContainsKey(item.ActionName))
                    {
                        Debug.LogFormat("<color=orange>[粘贴行为]{0} 行为重复!</color>", item.ActionName);
                        continue;
                    }

                    if (item.IsSkillAction)
                    {
                        SkillActions.Add(item);
                    }
                    else
                    {
                        GeneralActions.Add(item);
                    }
                    item.ResetActorEditor(this);
                    item.IsSelected = false;
                }
            }
            else
            {
                EditorUtility.DisplayDialog("粘贴异常", "行为数据粘贴失败,或者无数据可张贴~~", "确定");
            }
        }
 public GeneralEditor(GeneralElements templates, GeneralActions buttons)
 {
     InitializeComponent();
      this.Templates = templates;
      this.Buttons = buttons;
      this.Unloaded += GeneralEditor_Unloaded;
 }
예제 #5
0
        public void Email_BodyCount_IsOdd()
        {
//            var loginCreds = new GmailLogin();
            var homePage = GmailActions.Login(/*loginCreds*/);

            var emailPage = GmailActions.OpenFirstUnread(homePage);

            Email email  = GmailActions.GetEmail(emailPage);
            var   countA = new GeneralActions().CountLetters(email.MsgBody, 'a');

            Assert.IsTrue(countA.IsOdd(), "Number of letters isn't odd");
        }
예제 #6
0
        public static ExtentReports GetInstance()
        {
            if (extentReoprts == null)
            {
                htmlReporter  = new ExtentHtmlReporter(GeneralActions.GetReportFolderPath());
                extentReoprts = new ExtentReports();
                extentReoprts.AttachReporter(htmlReporter);
                extentReoprts.AddSystemInfo("OS", "Windows");

                htmlReporter.LoadConfig(GeneralActions.GetExtentConfigPath());
            }
            return(extentReoprts);
        }
예제 #7
0
        void RemoveAllBaseAction()
        {
            var array = GeneralActions.ToArray();

            GeneralActions.Clear();
            foreach (var item in array)
            {
                switch (item.ActState)
                {
                case ActionEditor.ActionState.New:
                    GeneralActions.Add(item);
                    break;

                case ActionEditor.ActionState.Inherit:
                    break;

                case ActionEditor.ActionState.Override:
                    item.ActState = ActionEditor.ActionState.New;
                    GeneralActions.Add(item);
                    break;

                default:
                    break;
                }
            }
            array = SkillActions.ToArray();
            SkillActions.Clear();
            foreach (var item in array)
            {
                switch (item.ActState)
                {
                case ActionEditor.ActionState.New:
                    SkillActions.Add(item);
                    break;

                case ActionEditor.ActionState.Inherit:
                    break;

                case ActionEditor.ActionState.Override:
                    item.ActState = ActionEditor.ActionState.New;
                    SkillActions.Add(item);
                    break;

                default:
                    break;
                }
            }
        }
예제 #8
0
        public string Connect(string data)
        {
            string          response = "";
            ResponseMessage resp     = new ResponseMessage();

            try
            {
                var context = Context;
                //check if request is coming from current domain or not
                if (context.Request.Url.Host != HttpContext.Current.Request.Url.Host)
                {
                    resp.code = 405;
                    resp.desc = "Access not allowed";
                }
                else
                {
                    UserDetail userDetail = new UserDetail();
                    userDetail.connectionId = Context.ConnectionId;
                    if (GeneralActions.VerifyData(data, ref userDetail, ref resp))
                    {
                        ConnectedUsers.Add(userDetail);
                        // send to caller
                        Clients.Caller.onConnected(userDetail.connectionId, ConnectedUsers);
                        //add to group
                        Groups.Add(Context.ConnectionId, userDetail.teamId.ToString());

                        resp.code = 200;
                        resp.desc = "Success";
                    }
                }
            }
            catch
            {
                resp.code = 500;
                resp.desc = "Error";
            }
            finally
            {
                response = Newtonsoft.Json.JsonConvert.SerializeObject(resp);
            }
            return(response);
        }
예제 #9
0
        public string Post(HttpRequestMessage request)
        {
            string response = "";
            //string s = Request.Content.ReadAsStringAsync().Result;

            var             jsonString = request.Content.ReadAsStringAsync().Result;
            MessageDetails  msgDetails = Newtonsoft.Json.JsonConvert.DeserializeObject <MessageDetails>(jsonString);
            UserDetail      userDetail = new UserDetail();
            ResponseMessage resp       = new ResponseMessage();

            try
            {
                if (msgDetails != null || msgDetails.Id != null)
                {
                    if (GeneralActions.GetEncryptData(msgDetails.Id, ref userDetail, ref resp))
                    {
                        var context = GlobalHost.ConnectionManager.GetHubContext <IMIchatHub>();
                        // context.Clients.All.Send("Admin", "stop the chat");
                        context.Clients.Group(userDetail.teamId.ToString()).chatMessage(msgDetails.Message);
                        resp.code = 200;
                        resp.desc = "Success";
                    }
                }
                else
                {
                    resp.code = 405;
                    resp.desc = "Invalid Data";
                }
            }
            catch
            {
                resp.code = 500;
                resp.desc = "Error";
            }
            finally
            {
                response = Newtonsoft.Json.JsonConvert.SerializeObject(resp);
            }
            return(response);
        }
예제 #10
0
        public string PostMessage([FromBody] MessageDetails msgDetails)
        {
            string          response   = "";
            UserDetail      userDetail = new UserDetail();
            ResponseMessage resp       = new ResponseMessage();

            try
            {
                if (msgDetails != null)
                {
                    if (GeneralActions.GetEncryptData(msgDetails.Id, ref userDetail, ref resp))
                    {
                        var context = GlobalHost.ConnectionManager.GetHubContext <IMIchatHub>();

                        List <UserDetail> toUserList = IMIchatHub.ConnectedUsers.Where(x => x.userId == userDetail.userId).ToList();
                        foreach (var user in toUserList) //if logined into different browsers
                        {
                            context.Clients.Client(user.connectionId).sendPrivateMessage(msgDetails.Message);
                        }
                        resp.code = 200;
                        resp.desc = "Success";
                    }
                }
                else
                {
                    resp.code = 405;
                    resp.desc = "Invalid Data";
                }
            }
            catch
            {
                resp.code = 500;
                resp.desc = "Error";
            }
            finally
            {
                response = Newtonsoft.Json.JsonConvert.SerializeObject(resp);
            }
            return(response);
        }