public static void ClickUnit(Unit iUnit) { if (Active.MouseState == MOUSE_STATE.SELECT_UNIT) { Player.Active.SelectUnit(iUnit); } else if (Active.MouseState == MOUSE_STATE.PLACE_TOWER) { // Override tower, maybe, but probably not. } if (iUnit != null && Player.Active._selectedUnit != null) { if (iUnit is Tower && Player.Active._selectedUnit is Tower) { PowerManager sourcePowerManager = (Player.Active._selectedUnit as Tower)._powerManager; PowerManager targetPowerManager = (iUnit as Tower)._powerManager; // This really calls for a UI_Button Library or something. if (Active.MouseState == MOUSE_STATE.ADD_SHORT_LINK) { sourcePowerManager.AddLink(targetPowerManager, false); Active.CheckShift(); } else if (Active.MouseState == MOUSE_STATE.ADD_LONG_LINK) { sourcePowerManager.AddLink(targetPowerManager, true); Active.CheckShift(); } else if (Active.MouseState == MOUSE_STATE.REMOVE_LINK) { sourcePowerManager.RemoveLink(targetPowerManager); Active.CheckShift(); } } } }