Skip to content

Instantly share code, notes, and snippets.

View Niclassg's full-sized avatar
💻

Niclas Gleesborg Niclassg

💻
View GitHub Profile
@Niclassg
Niclassg / gist:236e8a2770361d12003995215c2ebc3c
Last active January 1, 2024 20:23
Declaration merging interface with class
declare module "fhir/r4" {
export class DomainResource {
//Get UUID from the FHIR resource
//Returns undefined if no UUID is found
//Returns the UUID if found
getUuid(): string | undefined;
setUuid(): this;
}
}
@Niclassg
Niclassg / typesafeclosure.ts
Last active December 26, 2023 20:13
Retain typesafety when using closure
async function someFetch(url: string, options?: RequestInit) {
const result =await fetch(url, options)
return await result.json();
}
function measureAsync<R, P extends any[]>(callback: (...args: P) => Promise<R>, measureKey: string) {
return async (...args: P) => {
performance.mark(`${measureKey}-start`)
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;
namespace Editor
{
[CustomEditor(typeof(MyButton))]
public class MyButtonEditor : ButtonEditor
{
public override void OnInspectorGUI()
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
public class MyButton : Button {
public GameObject Overlay; //Our extra field, which won't show up in the inspector
}
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneTransitioner : MonoBehaviour
{
public static event Action OnStartedLoading;
public static event Action<float> OnProgressUpdated;
public static event Action OnDone;
using System.Collections;
using TMPro;
using UnityEngine;
public class LoadingScript : MonoBehaviour
{
[SerializeField] private TMP_Text progressText;
[SerializeField] private Canvas canvas;
[SerializeField] private CanvasGroup canvasGroup;
private float animSpeed = 0.5f;
using TMPro;
using UnityEngine;
public class LoadingScript : MonoBehaviour
{
[SerializeField] private TMP_Text progressText;
[SerializeField] private Canvas canvas;
[SerializeField] private CanvasGroup canvasGroup;
private float animSpeed = 0.5f;
}
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneTransitioner : MonoBehaviour
{
public static event Action OnStartedLoading;
public static event Action<float> OnProgressUpdated;
public static event Action OnDone;
private static SceneTransitioner instance;
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneTransitioner : MonoBehaviour
{
private static SceneTransitioner instance;
private void Awake()
{
using TMPro;
using UnityEngine;
public class LoadingScript : MonoBehaviour
{
[SerializeField] private TMP_Text progressText;
[SerializeField] private Canvas canvas;
[SerializeField] private CanvasGroup canvasGroup;
private float animSpeed = 0.5f;
}