private void CreateLogic(IMyBot output, Type defaultLogicType, string definitionLogicType) { Type logicType = null; if (m_logicDataByBehaviorSubtype.ContainsKey(definitionLogicType)) { logicType = m_logicDataByBehaviorSubtype[definitionLogicType].LogicType; if (!logicType.IsSubclassOf(defaultLogicType) && logicType != defaultLogicType) { logicType = defaultLogicType; } } else { logicType = defaultLogicType; } var logic = Activator.CreateInstance(logicType, output) as MyBotLogic; output.InitLogic(logic); }
private void CreateLogic(IMyBot output, Type defaultLogicType, string definitionLogicType) { Type logicType = null; if (!this.m_logicDataByBehaviorSubtype.ContainsKey(definitionLogicType)) { logicType = defaultLogicType; } else { logicType = this.m_logicDataByBehaviorSubtype[definitionLogicType].LogicType; if (!logicType.IsSubclassOf(defaultLogicType) && (logicType != defaultLogicType)) { logicType = defaultLogicType; } } object[] args = new object[] { output }; MyBotLogic logic = Activator.CreateInstance(logicType, args) as MyBotLogic; output.InitLogic(logic); }