示例#1
0
文件: LogicClass.cs 项目: nistck/Jx
 private void initVariables()
 {
     if (this.variables == null)
     {
         this.variables = new Dictionary <string, LogicVariable>();
         foreach (Entity current in base.Children)
         {
             LogicVariable logicVariable = current as LogicVariable;
             if (logicVariable != null)
             {
                 this.variables.Add(logicVariable.VariableName, logicVariable);
             }
         }
     }
 }
示例#2
0
文件: LogicClass.cs 项目: nistck/Jx
        public LogicVariable CreateVariable(Type variableType, string variableName)
        {
            this.initVariables();
            LogicVariable logicVariable = this.GetVariableByName(variableName);

            if (logicVariable != null)
            {
                Log.Fatal("LogicClass: already create variable \"{0}\"", variableName);
                return(null);
            }
            logicVariable = (LogicVariable)Entities.Instance.Create("LogicVariable", this);
            logicVariable.VariableType = variableType;
            logicVariable.VariableName = variableName;
            logicVariable.PostCreate();
            this.variables.Add(variableName, logicVariable);
            return(logicVariable);
        }
示例#3
0
文件: LogicClass.cs 项目: nistck/Jx
 protected internal override void OnRemoveChild(Entity entity)
 {
     if (this.methods != null)
     {
         LogicMethod logicMethod = entity as LogicMethod;
         if (logicMethod != null)
         {
             this.methods.Remove(logicMethod.MethodName);
         }
     }
     if (this.variables != null)
     {
         LogicVariable logicVariable = entity as LogicVariable;
         if (logicVariable != null)
         {
             this.variables.Remove(logicVariable.VariableName);
         }
     }
     base.OnRemoveChild(entity);
 }