Ejemplo n.º 1
0
        private void PresetPatternLayout(TacticsPursueNode.Pattern p_pattern, TacticsPursueNode p_pursueNode)
        {
            switch (p_pattern)
            {
            //Vertical
            case TacticsPursueNode.Pattern.Cardinally: {
                p_pursueNode.customPattern = new Vector3[] {
                    Vector3.right,
                    Vector3.left,
                    Vector3.forward,
                    Vector3.back
                };
            }
            break;

            //Horizontal
            case TacticsPursueNode.Pattern.Diagonally: {
                p_pursueNode.customPattern = new Vector3[] {
                    new Vector3(1, 0, 1),
                    new Vector3(1, 0, -1),
                    new Vector3(-1, 0, 1),
                    new Vector3(-1, 0, -1)
                };
            }
            break;

            case TacticsPursueNode.Pattern.Custom: {
                p_pursueNode.customPattern = new Vector3[0];
            }
            break;
            }
        }
Ejemplo n.º 2
0
        public override void OnBodyGUI()
        {
            TacticsPursueNode targ = target as TacticsPursueNode;

            NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("responseTime"));
            NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("positionType"));

            EditorGUILayout.LabelField("Pattern Type : ");
            TacticsPursueNode.Pattern newValue = (TacticsPursueNode.Pattern)EditorGUILayout.EnumPopup(targ.patternType);
            if (newValue != targ.patternType)
            {
                targ.patternType = newValue;
                PresetPatternLayout(targ.patternType, targ);
                // do stuff, call functions, etc.
            }

            NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("customPattern"));
            NodeEditorGUILayout.PropertyField(serializedObject.FindProperty("node"));
        }