Пример #1
0
 public static void InvokePart(Type t)
 {
     if (t.IsSubclassOf(typeof(GeneratorPart)))
     {
         GeneratorPart part = (GeneratorPart)Activator.CreateInstance(t);
         part.Invoke();
     }
 }
        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();
            MapGenerator mapGenerator = (MapGenerator)target;

            EditorGUILayout.Space();
            if (GUILayout.Button("Generate map"))
            {
                mapGenerator.GenerateMap();
            }
            EditorGUILayout.Space();

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Reset color"))
            {
                GeneratorPart.InvokePart <MoisturePart>();
                GeneratorPart.InvokePart <BiomesPart>();
                GeneratorPart.InvokePart <ColorsPart>();
                Map.WorldMesh.ConfrimChangeSplitted();
            }
            GUILayout.EndHorizontal();

            // Ignore equal, toString, etc. methods
            foreach (var method in typeof(GeneratorDebuger).GetMethods())
            {
                if (method.Name == "Equals")
                {
                    break;
                }

                if (GUILayout.Button(method.Name))
                {
                    method.Invoke(null, null);
                }
            }
        }
Пример #3
0
        public static void InvokePart <T>() where T : GeneratorPart
        {
            GeneratorPart part = (GeneratorPart)Activator.CreateInstance(typeof(T));

            part.Invoke();
        }