Enum length

I am trying to allow one script to change it’s random number generator based on how many values are stored inside the Enum. This will never change during run time but will allow me to remove any magic bullets from the code it’s self. Luckily, the Enum is based on int so a .Length command will work.

private int enumlength = System.Enum.GetNames(typeof(TileType)).Length;

The end result will be Random.Range(0, getEnumLength()). If the Enum has two values it will end up returning either a 0 or a 1 value. I can then check on which conditions that will fall under in the following code. This will be perfect.

Lost and Found, NotifyIcon

I am currently making a program that will display in the task-bar on the bottom right of desktop. I had created a program like this in college but am trying to relearn the process using WPF. Now this is all fine and good til I realized there was no such feature inside the WPF. You could add references to the form versions of NotifyIcon, but I found like to be less then desirable with some odd side effects.

A simple project became more of an issue, but rather then changing it to a forms project I looked around for a third party library. Luckily I was able to find a few. While the application is not complete yet I at least wanted to post my findings. The resource is on Codeproject.

And then a step to the right.

I wanted to move the form to the bottom right. The code was fairly simple but I am unsure if it’s really good for a WPF project. So my research is not going to stop here. For the time being I am happy with the results.

The following gist shows the code needed to get the job done. I did have to add two references: System.drawing, System.Windows.Forms .

The code just changes the placement away from the top and left sides of the screen minus the size of the window in question. Luckily it is based on the size of the working area of the desktop so it can handle different resolutions. This will also be useful if I change the size of the window and need to reapply it.

Happy coding,
Michael.

Save Engine

I have several projects I am working on and one thing they all have in common is I need to be able to save clusters of data inside unique structures. On Saturday I started working on a C# class that should be able to do just that.

The strings are mainly there to clean up the other text and for making sure that when I want to change the variables then I will not have to hunt through the code, fairly standard stuff.

The first thing I had to check was to make sure the folder was currently there. I did want to allow the method to take different file names down the road so I pass the full path name to the Directory.Exists. If it does not find the folder then it will create it.

The second part of the method is the Stream writer that creates the text file (in this case) which then will write Testing file.. inside the document. You could easy use binary writer if you don’t want people looking into the document. At least the lazy people out!

Mesh Generator

After reading online I have come to realize I had programmed the world ineffectively. The blocks are fine while I got the basics down, Though I am going to have to create a mesh generator that will create the mesh based on the arrays I have stored. In retrospect, I feel like I should have seen that coming but I am still amused in what I got done in just an hour.

Given my other commitments I am hoping to get the mesh generator done by the weekend. Regardless it should be fun building it!