Example #1
0
 /// <summary>
 /// 初始化所有的属性,包括引用类型的属性自己的属性
 /// </summary>
 public override void ReInitializeAllProperties()
 {
     if (CreateInfo != null)
     {
         CreateInfo.ReInitializeAllProperties();
     }
     if (AuditInfo != null)
     {
         AuditInfo.ReInitializeAllProperties();
     }
     if (ExecuteInfo != null)
     {
         ExecuteInfo.ReInitializeAllProperties();
     }
     if (CancelInfo != null)
     {
         CancelInfo.ReInitializeAllProperties();
     }
     if (OriginalDepartment != null)
     {
         OriginalDepartment.ReInitializeAllProperties();
     }
     if (OriginalWard != null)
     {
         OriginalWard.ReInitializeAllProperties();
     }
     if (ExecuteDept != null)
     {
         ExecuteDept.ReInitializeAllProperties();
     }
 }
    private void InitializeExecuteSequence()
    {
        executeSequence = new List <ExecuteInfo>();
        string[] orders = attackPattern.PatternProgressOrders;
        for (int i = 0; i < orders.Length; ++i)
        {
            ExecuteInfo newOrder     = new ExecuteInfo();
            string[]    splitedInfo  = orders[i].Split(',');
            string      patternType  = splitedInfo[0];
            int         patternIndex = int.Parse(splitedInfo[1]);
            float       executeDelay = float.Parse(splitedInfo[2]);

            if (patternType.Equals("Instant"))
            {
                newOrder.StartAction = instantAttacks[patternIndex].Execute;
            }
            else if (patternType.Equals("Projectile"))
            {
                newOrder.StartAction = projectileAttacks[patternIndex].Execute;
            }
            newOrder.ExecuteDelay = executeDelay;

            executeSequence.Add(newOrder);
        }
    }
        private string FindFileNameInFiles(ExecuteInfo info, bool throwException = true)
        {
            var root = "Views";

            if (Development.IsAttached)
            {
                root = Path.Combine(Development.GetProjectDirectory(), root);
            }

            var    command        = this.GetTypeName(info.Type) + "/";
            var    method         = this.GetMethodName(info.Method);
            string fileNameLevel0 = method;
            string fileNameLevel1 = root + "/" + method;
            string fileNameLevel2 = root + "/" + command + method;

            if (FileHelper.FileExists(fileNameLevel2))
            {
                return(NormalizePath(fileNameLevel2));
            }
            else if (FileHelper.FileExists(fileNameLevel1))
            {
                return(NormalizePath(fileNameLevel1));
            }
            else if (FileHelper.FileExists(fileNameLevel0))
            {
                return(NormalizePath(fileNameLevel0));
            }

            if (throwException)
            {
                this.ThrowFindContentInFiles();
            }

            return(null);
        }
Example #4
0
 public ProjectileInfo(Action_EmitProjectile parentAction, ExecuteInfo executeInfo, Transform chasingTarget, Vector3 chasingPosition)
 {
     ParentAction      = parentAction;
     ParentExecuteInfo = executeInfo;
     ChasingTarget     = chasingTarget;
     ChasingPosition   = chasingPosition;
 }
Example #5
0
        public void AddExecute(IEnumerator e, Action onEnd)
        {
            ExecuteInfo executeInfo = new ExecuteInfo()
            {
                enumerator = e,
                onEndFunc  = onEnd
            };

            executeInfos.Add(executeInfo);
        }
        public async Task <string> ProcessByViewNameAsync <T>(T model, ExecuteInfo info, bool useModel, bool searchOnlyInResources = false)
        {
            if (searchOnlyInResources)
            {
                var content = this.FindContentInResourse(info);
                if (useModel)
                {
                    return(await template.ParseContentAsync(content, model));
                }
                else
                {
                    return(await template.ParseContentAsync(content));
                }
            }
            else
            {
                var fileName = this.FindFileNameInFiles(info, false);
                if (fileName == null)
                {
                    var content = this.FindContentInResourse(info, false);
                    if (content == null)
                    {
                        this.ThrowFindContentInFiles();
                    }

                    if (useModel)
                    {
                        return(await template.ParseContentAsync(content, model));
                    }
                    else
                    {
                        return(await template.ParseContentAsync(content));
                    }
                }
                else
                {
                    if (useModel)
                    {
                        return(await template.ParseAsync(fileName, model));
                    }
                    else
                    {
                        return(await template.ParseAsync(fileName));
                    }
                }
            }
        }
        public string FindContentInResourse(ExecuteInfo info, bool throwException = true)
        {
            var viewName = this.GetTypeName(info.Type) + "." + this.GetMethodName(info.Method);
            var content  = FindContentInResourse(viewName, false);

            if (content == null)
            {
                viewName = this.GetMethodName(info.Method);
                content  = FindContentInResourse(viewName, false);
            }

            if (content == null && throwException)
            {
                ThrowFindContentInResourse(viewName);
            }

            return(content);
        }