NoesisGUI – The Unity UI Framework That You’ve Never Heard Of!

If you're like me, trying to create user interfaces in general is a challenge. So when it comes to working in tools that you're less familiar with, that challenge basically grows to a level where it's a roadblock. For me, trying to create user interfaces in Unity3D is basically the perfect example of hitting this roadblock! That's not to say the UI tools that are available in Unity3D are bad, but my skill level is essentially reset to zero when working with these tools. Fortunately I came across this little gem called Noesis GUI that enables WPF inside of Unity3D! I plan to do a few updates on this either via YouTube or short blog posts, but NoesisGUI has essentially unlocked my ability to create user interfaces inside of Unity3D. You can find my intro video here, or watch it…

0 Comments

Downtime? Time to Build!

The COVID-19 pandemic has caused many of us to stay isolated and at home, but that's OK! I genuinely enjoy developing software and wanted to take this opportunity to focus on learning. Having some downtime has afforded me to try putting together a system that I otherwise might not have explored building. In this article, I'll share different aspects about an application I'm building that purposefully put me outside of my comfort zone. In my opinion, having downtime is an opportunity to learn and grow! It's time to take advantage of that. When the app and system is ready to showcase I'll share more insight into what's actually being built! The Client Framework The application being built was intended to run on multiple mobile platforms, so Xamarin was my choice here. I have briefly used Xamarin several years ago, but…

0 Comments

xUnit Tests Not Running With .NET Standard

Having worked with C# for quite some time now writing desktop applications, I've begun making the transition over to .NET standard. In my professional working experience, it was a much slower transition because of product requirements and time, but in my own personal development there's no reason why I couldn't get started with it. And call me crazy, but I enjoy writing coded tests for the things I make. My favourite testing framework for my C# development is xUnit, and naturally as I started writing some new code with .NET Standard I wanted to make sure I could get my tests to run. Here's an example of some C# code I wrote for my unit tests of a simple LRU cache class I was playing around with: [ExcludeFromCodeCoverage] public sealed class LruCachetests { [Fact] public void Constructor_CapacityTooSmall_ThrowsArgumentException() { Assert.Throws<ArgumentException>(() =>…

0 Comments

Autofac Modules and Code Organization

What are Autofac Modules? I've been writing a little bit about Autofac and why it's rad, but today I want to talk about Autofac modules. In my previous post on this, I talk about one of drawbacks to the constructor dependency pattern is that at some point in your application, generally in the entry point, you get allllll of this spaghetti code that is the setup for your code base. Essentially, we've balanced having nice clean testable classes with having a really messy spot in the code. But it's only ONE spot and the rest of your code is nice. So it's a decent trade off. But we can do better than that, can't we? Autofac modules! We can use Autofac modules to organize some of the code that we have in our entry point into logical groupings. So an…

2 Comments

RPG Development Progress Pulse – Entry 1

Progress Pulse - Entry 1 For the first entry in the progress pulse series I'll touch on some things from the past week or so. There's been a lot of smaller things being churned in the code base, some of them interesting, and others less interesting so I want to highlight a few. As a side note, it's really cool to see that the layout and architecture is allowing for features to be added pretty easily, so I'll dive a bit deeper on that. Overall, I'm pretty happy with how things are going. Unity3D - Don't Fight It! I heard from a colleague before that Unity3D does some things you might not like, but don't try to fight it, just go with it. To me, that's a challenge. If I'm going to be spending time coding in something I want…

0 Comments

Stitching – Combining Unity3D And Autofac

Before We Talk About Stitching... In Unity3D, the scripts we write and attach to GameObjects inherit from a base class called MonoBehaviour (and yes, that says Behaviour with a U in it, not the American spelling like Behavior... Just a heads up). MonoBehaviour instances can be attached to GameObjects in code by calling the AddComponent method, which takes a type parameter or type argument, and returns the new instance of the attached MonoBehaviour that it creates. This API usage means that: We cannot attach existing instances of a MonoBehaviour to a GameObject Unity3D takes care of instantiating MonoBehaviours for us (thanks Unity!) ... We can't pass parameters into the constructor of a MonoBehaviour because Unity3D only handles parameterless constructors (boo Unity!) So what's the problem with that? It kind of goes against some design patterns I'm a big fan of,…

1 Comment

Multiple C# Projects In Your Unity 3D Solution

Problem:┬áVisual Studio and Unity Aren't Playing Nice! UPDATE: This is for older setups with Visual Studio and Unity. You may want to look at Assembly Definitions. I just started poking around in Unity 4.6 and I've been having a blast. I've made it to the point where I want to actually start hammering out some code, but I came across a bit of a problem: I want to start leveraging other projects I've written in my Unity solution while I'm in Visual Studio, and things are blowing up. So, what gives? Okay, so┬álet me start by explaining why I want to do this. I understand that if I'm making a simple game, I should have no problem breaking out my unity scripts into sub folders and organizing them to be nice and pretty. The problem I'm encountering is that I…

11 Comments

IronPython: A Quick WinForms Introduction

Background A few months ago I wrote up an article on using PyTools, Visual Studio, and Python all together. I received some much appreciated positive feedback for it, but really for me it was about exploring. I had dabbled with Python a few years back and hadn't really touched it much since. I spend the bulk of my programming time in Visual Studio, so it was a great opportunity to try and bridge that gap. I had an individual contact me via the Dev Leader Facebook group that had come across my original article. However, he wanted a little bit more out of it. Since I had my initial exploring out of the way, I figured it was probably worth trying to come up with a semi-useful example. I could get two birds with one stone here--Help out at least…

0 Comments

Movember Prep – Weekly Article Dump

Movember Preparation You might think we're a bit early on this one, but at Magnet Forensics we're going to take Movember to a whole new level this year. If you're not familiar with Movember, you may want to head over here and get a rundown of the history of it. Movember started in Australia between a group of people who wanted to (somewhat jokingly) bring the moustache back into style. The next year they started getting people to grow mo's for causes. Now people participate in Movember to raise awareness for men's health, and it's bigger than ever. Our team members of MoMagnets have started discussing the various styles of mo's that they'll grow this year. It looks like there's going to be some intra-team competition to grow the best mo. The top contenders? It's looking like: Matthew Chang Cameron…

1 Comment

Python, Visual Studio, and C#… So. Sweet.

Python & C# - Background Let's clear the air. Using Python and C# together isn't anything new. If you've used one of these languages and at least heard of the other, then you've probably heard of IronPython. IronPython lets you use both C# and Python together. Pretty legit. If you haven't tried it out yet, hopefully your brain is starting to whir and fizzle thinking about the possibilities. My development experiences is primarily in C# and before that it was VB .NET (So I'm pretty attached to the whole .NET framework... We're basically best friends at this point). However, pretty early in my career (my first co-op at Engenuity Corporation, really) I was introduced to Python. I had never really used a dynamic or implicitly typed language, so it was quite an adventure and learning experience. Unfortunately, aside from my…

15 Comments

End of content

No more pages to load