public void CheckBoolVariable(DataVariable dataVariable, string name, bool value) { BoolVariable boolVariable = null; if (name != "") { foreach (BoolVariable variable in boolVariables) { if (variable.variableName == name) { boolVariable = variable; boolVariable.value = value; } } if (boolVariable == null) { boolVariable = CreateBoolVariable(name, value); } } dataVariable.variable = boolVariable; CheckVariables(); }
public override void DeleteNode() { base.DeleteNode(); DataVariable function = (DataVariable)dataVariable; if (function.dataOutput != null) { if (function.dataOutput is DataSplitter) { ((DataSplitter)function.dataOutput).RemoveDataInput(function); } else if (function.dataOutput is DataVariable) { ((DataVariable)function.dataOutput).RemoveDataInput(function); } else if (function.dataOutput is LogicDataFunction) { ((LogicDataFunction)function.dataOutput).RemoveDataInput(function); } } if (function.dataInput != null) { if (function.dataInput is LogicCondition) { ((LogicCondition)function.dataInput).RemoveDataOutput(function); } else if (function.dataInput is DataVariable) { ((DataVariable)function.dataInput).RemoveDataOutput(function); } else if (function.dataInput is LogicDataFunction) { ((LogicDataFunction)function.dataInput).RemoveDataOutput(function); } } LogicMapEditor.logicMap.dataVariables.Remove(function); DestroyImmediate(function.gameObject); }
public override void DrawWindow() { DataVariable variable = (DataVariable)dataVariable; GUIStyle noneDataStyle = new GUIStyle(); noneDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.black); GUIStyle dataStyle = new GUIStyle(); dataStyle.normal.background = eUtils.MakeTex(10, 10, Color.white); GUIStyle trueDataStyle = new GUIStyle(); trueDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.green); GUIStyle falseDataStyle = new GUIStyle(); falseDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.red); GUILayout.BeginHorizontal(); if (variable.dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (variable.dataInput is LogicCondition) { LogicCondition dataInput = variable.dataInput as LogicCondition; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (variable.dataInput is DataVariable) { DataVariable dataInput = variable.dataInput as DataVariable; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (variable.dataInput is LogicDataFunction) { LogicDataFunction dataInput = variable.dataInput as LogicDataFunction; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } GUILayout.FlexibleSpace(); if (variable.dataOutput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!variable.checkNode) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (variable.checkNode && variable.result) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (variable.checkNode && !variable.result) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); if (variable.variable == null) { string name = EditorGUILayout.DelayedTextField(""); if (name != "") { LogicMapEditor.logicMap.CheckBoolVariable(variable, name, false); } } else { string name = EditorGUILayout.DelayedTextField(variable.variable.variableName); bool flag = EditorGUILayout.Toggle(variable.variable.value); if (name != variable.variable.variableName || flag != variable.variable.value) { LogicMapEditor.logicMap.CheckBoolVariable(variable, name, flag); } } GUILayout.EndHorizontal(); }
public override void DrawLinks() { DataVariable dataFunction = dataVariable as DataVariable; Vector2 startPos; Vector2 endPos = Vector2.zero; if (dataFunction.dataOutput != null) { startPos = new Vector2(dataFunction.GetWindowRect().xMax, dataFunction.GetWindowRect().y + 25); BaseLogicNode outputNode = null; foreach (BaseLogicNode node in LogicMapEditor.editor.nodes) { if (node is LogicDataFunctionNode && ((LogicDataFunctionNode)node).dataFunction == dataFunction.dataOutput) { outputNode = node; } else if (node is DataSplitterNode && ((DataSplitterNode)node).logicFunction == dataFunction.dataOutput) { outputNode = node; } else if (node is DataVariableNode && ((DataVariableNode)node).dataVariable == dataFunction.dataOutput) { outputNode = node; } } if (outputNode is LogicNotNode) { endPos = new Vector2(((LogicNotNode)outputNode).dataFunction.GetWindowRect().xMin, ((LogicNotNode)outputNode).dataFunction.GetWindowRect().y + 25); } else if (outputNode is DataSplitterNode) { endPos = new Vector2(((DataSplitterNode)outputNode).logicFunction.GetWindowRect().xMin, ((DataSplitterNode)outputNode).logicFunction.GetWindowRect().y + 40); } else if (outputNode is LogicAndNode) { if (((LogicAND)((LogicAndNode)outputNode).dataFunction).dataInputOne == dataVariable) { endPos = new Vector2(((LogicAndNode)outputNode).dataFunction.GetWindowRect().xMin, ((LogicAndNode)outputNode).dataFunction.GetWindowRect().y + 25); } else if (((LogicAND)((LogicAndNode)outputNode).dataFunction).dataInputTwo == dataVariable) { endPos = new Vector2(((LogicAndNode)outputNode).dataFunction.GetWindowRect().xMin, ((LogicAndNode)outputNode).dataFunction.GetWindowRect().y + 45); } } else if (outputNode is LogicOrNode) { if (((LogicOR)((LogicOrNode)outputNode).dataFunction).dataInputOne == dataVariable) { endPos = new Vector2(((LogicOrNode)outputNode).dataFunction.GetWindowRect().xMin, ((LogicOrNode)outputNode).dataFunction.GetWindowRect().y + 25); } else if (((LogicOR)((LogicOrNode)outputNode).dataFunction).dataInputTwo == dataVariable) { endPos = new Vector2(((LogicOrNode)outputNode).dataFunction.GetWindowRect().xMin, ((LogicOrNode)outputNode).dataFunction.GetWindowRect().y + 45); } } else if (outputNode is EffectNode) { endPos = new Vector2(((EffectNode)outputNode).logicFunction.GetWindowRect().xMin, ((EffectNode)outputNode).logicFunction.GetWindowRect().y + 25); } else if (outputNode is DataVariableNode) { endPos = new Vector2(((DataVariable)((DataVariableNode)outputNode).dataVariable).GetWindowRect().xMin, ((DataVariable)((DataVariableNode)outputNode).dataVariable).GetWindowRect().y + 25); } Vector2 startTan = startPos + Vector2.right * 50; Vector2 endTan = endPos + Vector2.left * 50; Color activeColor = Color.black; Color backColor = Color.black; if (dataFunction.checkNode && dataFunction.result) { activeColor = Color.green; } else if (dataFunction.checkNode && !dataFunction.result) { activeColor = Color.red; } backColor = new Color(backColor.r, backColor.g, backColor.b, 0.1f); int width = 2; Handles.DrawBezier(startPos, endPos, startTan, endTan, activeColor, null, width); } else if (selectDataLink) { Event e = Event.current; startPos = new Vector2(dataFunction.GetWindowRect().xMax, dataFunction.GetWindowRect().y + 25); endPos = e.mousePosition; Vector2 startTan = startPos + Vector2.right * 50; Vector2 endTan = endPos + Vector2.left * 50; Color activeColor = Color.yellow; Color backColor = Color.black; backColor = new Color(backColor.r, backColor.g, backColor.b, 0.1f); int width = 2; Handles.DrawBezier(startPos, endPos, startTan, endTan, activeColor, null, width); } }
public override void DrawWindow() { LogicNOT logicNot = dataFunction as LogicNOT; logicNot.windowRect.height = 40; GUIStyle noneDataStyle = new GUIStyle(); noneDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.black); GUIStyle dataStyle = new GUIStyle(); dataStyle.normal.background = eUtils.MakeTex(10, 10, Color.white); GUIStyle trueDataStyle = new GUIStyle(); trueDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.green); GUIStyle falseDataStyle = new GUIStyle(); falseDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.red); EditorGUILayout.BeginHorizontal(); EditorGUILayout.BeginVertical(); if (logicNot.dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { if (logicNot.dataInput is LogicCondition) { LogicCondition dataInput = logicNot.dataInput as LogicCondition; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicNot.dataInput is DataVariable) { DataVariable dataInput = logicNot.dataInput as DataVariable; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicNot.dataInput is LogicDataFunction) { LogicDataFunction dataInput = logicNot.dataInput as LogicDataFunction; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } } EditorGUILayout.EndVertical(); GUILayout.FlexibleSpace(); EditorGUILayout.BeginVertical(); if (logicNot.dataOutput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!logicNot.checkNode) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (logicNot.result) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!logicNot.result) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
public override void DrawWindow() { LogicAND logicAnd = dataFunction as LogicAND; Rect rect = logicAnd.GetWindowRect(); logicAnd.SetWindowRect(new Rect(rect.x, rect.y, rect.width, 60)); GUIStyle noneDataStyle = new GUIStyle(); noneDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.black); GUIStyle dataStyle = new GUIStyle(); dataStyle.normal.background = eUtils.MakeTex(10, 10, Color.white); GUIStyle trueDataStyle = new GUIStyle(); trueDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.green); GUIStyle falseDataStyle = new GUIStyle(); falseDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.red); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); if (logicAnd.dataInputOne == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (logicAnd.dataInputOne is LogicCondition) { LogicCondition dataInput = logicAnd.dataInputOne as LogicCondition; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicAnd.dataInputOne is DataVariable) { DataVariable dataInput = logicAnd.dataInputOne as DataVariable; if (dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicAnd.dataInputOne is LogicDataFunction) { LogicDataFunction dataInput = logicAnd.dataInputOne as LogicDataFunction; if (dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } GUILayout.FlexibleSpace(); if (logicAnd.dataInputTwo == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (logicAnd.dataInputTwo is LogicCondition) { LogicCondition dataInput = logicAnd.dataInputTwo as LogicCondition; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicAnd.dataInputTwo is DataVariable) { DataVariable dataInput = logicAnd.dataInputTwo as DataVariable; if (dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (logicAnd.dataInputTwo is LogicDataFunction) { LogicDataFunction dataInput = logicAnd.dataInputTwo as LogicDataFunction; if (dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); if (logicAnd.dataOutput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!logicAnd.checkNode) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (logicAnd.checkNode && logicAnd.result) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (logicAnd.checkNode && !logicAnd.result) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); }
public override void DrawWindow() { DataSplitter dataSplitter = logicFunction as DataSplitter; Rect rect = dataSplitter.GetWindowRect(); dataSplitter.SetWindowRect(new Rect(rect.x, rect.y, rect.width, 60)); GUIStyle noneActionStyle = new GUIStyle(); noneActionStyle.normal.background = eUtils.MakeTex(10, 10, Color.gray); GUIStyle actionStyle = new GUIStyle(); actionStyle.normal.background = eUtils.MakeTex(10, 10, Color.blue); GUIStyle realizeActionStyle = new GUIStyle(); realizeActionStyle.normal.background = eUtils.MakeTex(10, 10, Color.magenta); GUIStyle checkActionStyle = new GUIStyle(); checkActionStyle.normal.background = eUtils.MakeTex(10, 10, Color.magenta); GUIStyle noneDataStyle = new GUIStyle(); noneDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.black); GUIStyle dataStyle = new GUIStyle(); dataStyle.normal.background = eUtils.MakeTex(10, 10, Color.white); GUIStyle trueDataStyle = new GUIStyle(); trueDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.green); GUIStyle falseDataStyle = new GUIStyle(); falseDataStyle.normal.background = eUtils.MakeTex(10, 10, Color.red); GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); if (dataSplitter.actionInputs.Count == 0) { if (!dataSplitter.startFunction) { GUILayout.Box(GUIContent.none, noneActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { if (!LogicMapEditor.logicMap.startRealize) { GUILayout.Box(GUIContent.none, actionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { GUILayout.Box(GUIContent.none, realizeActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } } else { bool realizeFlag = false; foreach (LogicFunction actionInput in dataSplitter.actionInputs) { if (actionInput is DataSplitter) { DataSplitter input = (DataSplitter)actionInput; if (input.trueOutput == dataSplitter && input.realizeTrue) { realizeFlag = true; break; } else if (input.falseOutput == dataSplitter && input.realizeFalse) { realizeFlag = true; break; } } else if (actionInput is LogicSplitter) { LogicSplitter input = (LogicSplitter)actionInput; int index = input.actionOutputs.IndexOf(dataSplitter); if (input.realizeOutputs[index]) { realizeFlag = true; break; } } else if (actionInput is WaitFunction) { WaitFunction input = (WaitFunction)actionInput; if (input.actionOutput == dataSplitter && input.realize) { realizeFlag = true; break; } } else if (actionInput is ChallengeFunction) { ChallengeFunction input = (ChallengeFunction)actionInput; if (input.trueOutput == dataSplitter && input.realizeTrue) { realizeFlag = true; break; } else if (input.falseOutput == dataSplitter && input.realizeFalse) { realizeFlag = true; break; } } else if (actionInput is ChooseMethodFunction) { ChooseMethodFunction input = (ChooseMethodFunction)actionInput; if (input.brutalOutput == dataSplitter && input.realizeBrutal) { realizeFlag = true; break; } else if (input.carefulOutput == dataSplitter && input.realizeCareful) { realizeFlag = true; break; } else if (input.diplomatOutput == dataSplitter && input.realizeDiplomat) { realizeFlag = true; break; } else if (input.scienceOutput == dataSplitter && input.realizeScience) { realizeFlag = true; break; } else { for (int i = 0; i < input.dialogOutputs.Count; i++) { if (input.dialogOutputs[i] == logicFunction && input.realizeDialogOutput[i]) { realizeFlag = true; break; } } } } else if (actionInput is ChooseTemperFunction) { ChooseTemperFunction input = (ChooseTemperFunction)actionInput; if (input.rudeOutput == logicFunction && input.realizeRude) { realizeFlag = true; break; } else if (input.prudentOutput == logicFunction && input.realizePrudent) { realizeFlag = true; break; } else if (input.cruelOutput == logicFunction && input.realizeCruel) { realizeFlag = true; break; } else if (input.principledOutput == logicFunction && input.realizePrincipled) { realizeFlag = true; break; } else { for (int i = 0; i < input.dialogOutputs.Count; i++) { if (input.dialogOutputs[i] == logicFunction && input.realizeDialogOutput[i]) { realizeFlag = true; break; } } } } } if (realizeFlag) { GUILayout.Box(GUIContent.none, realizeActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { GUILayout.Box(GUIContent.none, actionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } GUILayout.FlexibleSpace(); if (dataSplitter.dataInput == null) { GUILayout.Box(GUIContent.none, noneDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { if (dataSplitter.dataInput is LogicCondition) { LogicCondition dataInput = dataSplitter.dataInput as LogicCondition; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (dataSplitter.dataInput is DataVariable) { DataVariable dataInput = dataSplitter.dataInput as DataVariable; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } else if (dataSplitter.dataInput is LogicDataFunction) { LogicDataFunction dataInput = dataSplitter.dataInput as LogicDataFunction; if (!dataInput.GetChackDataNode()) { GUILayout.Box(GUIContent.none, dataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && dataInput.GetResult()) { GUILayout.Box(GUIContent.none, trueDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (dataInput.GetChackDataNode() && !dataInput.GetResult()) { GUILayout.Box(GUIContent.none, falseDataStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } } } GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.BeginHorizontal(); GUILayout.Label("T"); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); if (dataSplitter.trueOutput == null) { GUILayout.Box(GUIContent.none, noneActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataSplitter.realizeTrue) { GUILayout.Box(GUIContent.none, actionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { GUILayout.Box(GUIContent.none, realizeActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.Label("F"); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); if (dataSplitter.falseOutput == null) { GUILayout.Box(GUIContent.none, noneActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else if (!dataSplitter.realizeFalse) { GUILayout.Box(GUIContent.none, actionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } else { GUILayout.Box(GUIContent.none, realizeActionStyle, new GUILayoutOption[] { GUILayout.Width(10), GUILayout.Height(10) }); } GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); GUILayout.EndHorizontal(); }