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); } } } }
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); }
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); }