private void CBB_RightParameter_SelectedIndexChanged(object sender, EventArgs e) { string value = CBB_RightParameter.Text.Trim(); FieldDesigner rightRightParameter = m_Node.FindFieldByName("RightParameter"); StringFieldDesigner rightStringFieldDesigner = rightRightParameter.Field as StringFieldDesigner; rightStringFieldDesigner.Value = value; }
//绑定右边参数名 private void BindRightParameter(string varType) { CBB_RightParameter.Items.Clear(); if (varType == "GlobalVar") { var variable = MainForm.Instance.BehaviorTreeData.GlobalVariable; for (int i = 0; i < variable.VariableFields.Count; i++) { VariableFieldDesigner variableFieldDesigner = variable.VariableFields[i]; CBB_RightParameter.Items.Add(variableFieldDesigner.VariableFieldName); } } else if (varType == "BehaviorTreeVar") { BehaviorTreeDesigner behaviorTreeDesigner = MainForm.Instance.SelectedBehaviorTree; var variable = behaviorTreeDesigner.BehaviorTreeVariableFields; if (variable != null) { for (int i = 0; i < variable.Count; i++) { VariableFieldDesigner variableFieldDesigner = variable[i]; CBB_RightParameter.Items.Add(variableFieldDesigner.VariableFieldName); } } } else if (varType == "ContextVar") { var variable = MainForm.Instance.BehaviorTreeData.ContextVariable; for (int i = 0; i < variable.VariableFields.Count; i++) { VariableFieldDesigner variableFieldDesigner = variable.VariableFields[i]; CBB_RightParameter.Items.Add(variableFieldDesigner.VariableFieldName); } } else if (varType == "Const") { //todo } FieldDesigner rightRightParameter = m_Node.FindFieldByName("RightParameter"); StringFieldDesigner rightStringFieldDesigner = rightRightParameter.Field as StringFieldDesigner; CBB_RightParameter.Text = rightStringFieldDesigner.Value; }
private void CBB_ParameterType_SelectedIndexChanged(object sender, EventArgs e) { if (!m_BindState) { return; } //置空变量名 FieldDesigner parameterName = m_Node.FindFieldByName("ParameterName"); StringFieldDesigner parameterNameStringFieldDesigner = parameterName.Field as StringFieldDesigner; parameterNameStringFieldDesigner.Value = null; FieldDesigner parameterType = m_Node.FindFieldByName("ParameterType"); EnumFieldDesigner parameterTypeEnumFieldDesigner = parameterType.Field as EnumFieldDesigner; BindParameter(parameterTypeEnumFieldDesigner.GetEnumItemByIndex(CBB_ParameterType.SelectedIndex).EnumStr); }
private void CheckError() { //现在找到参数类型(作用域) FieldDesigner parameterType = m_Node.FindFieldByName("ParameterType"); EnumFieldDesigner parameterTypeEnumFieldDesigner = parameterType.Field as EnumFieldDesigner; string varType = parameterTypeEnumFieldDesigner.GetEnumItemByIndex(CBB_ParameterType.SelectedIndex).EnumStr; //找到参数名 FieldDesigner parameterName = m_Node.FindFieldByName("ParameterName"); StringFieldDesigner parameterNameStringFieldDesigner = parameterName.Field as StringFieldDesigner; CBB_ParameterName.Text = parameterNameStringFieldDesigner.Value; if (string.IsNullOrEmpty(parameterNameStringFieldDesigner.Value)) { errorProvider1.SetError(CBB_ParameterName, "请选择参数名称"); return; } }
//改变左边参数类型 private void CBB_LeftParameterType_SelectedIndexChanged(object sender, EventArgs e) { if (!m_BindState) { return; } FieldDesigner leftFieldDesigner = m_Node.FindFieldByName("LeftType"); EnumFieldDesigner leftEnumFieldDesigner = leftFieldDesigner.Field as EnumFieldDesigner; CustomEnum leftNodeType = MainForm.Instance.NodeTemplate.FindEnum("VariableType"); EnumItem enumItem = leftNodeType.FindEnum(CBB_LeftParameterType.Text.Trim()); leftEnumFieldDesigner.Value = enumItem.EnumStr; //重置参数名 FieldDesigner leftLeftParameter = m_Node.FindFieldByName("LeftParameter"); StringFieldDesigner leftStringFieldDesigner = leftLeftParameter.Field as StringFieldDesigner; leftStringFieldDesigner.Value = null; BindLeftParameter(leftEnumFieldDesigner.Value); }