Skip to content

Instantly share code, notes, and snippets.

View rickyah's full-sized avatar

Ricardo Amores Hernández rickyah

  • Barcelona
  • 20:05 (UTC +02:00)
  • X @rickyah
View GitHub Profile
@rickyah
rickyah / dotnet-format-action.yml
Created July 25, 2020 08:24
Runs dotnet-format on every PR and create a commit that fixes the formatting if it doesn't comply with your code convention
name: Format check on pull request
on: pull_request
jobs:
dotnet-format:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2.2.0
with:
fetch-depth: 0
@rickyah
rickyah / unity-print-assetbundles.cs
Last active September 10, 2020 17:31
Script to print all asset bundles of the project and its dependencies
[MenuItem("AssetBundles/Print all Asset Bundle names")]
static void PrintAssetBundlesToDebugConsole()
{
var sb = new StringBuilder();
var globalTimer = new Stopwatch();
var timer = new Stopwatch();
globalTimer.Start();
timer.Start();
@rickyah
rickyah / clase-git.md
Last active April 3, 2021 18:49
Notas de la clase de git para el equipo

# Clase git

## Conceptos básicos

Commit

Commits son inmutables

Commits contienen

  • SHA1
@rickyah
rickyah / MonoBehaviourSingleton.cs
Created June 3, 2015 08:59
MonoBehaviour Singleton
using System;
using UnityEngine;
/// <summary>
/// This is a generic Singleton implementation for Monobehaviours.
/// Create a derived class where the type T is the script you want to "Singletonize"
/// Upon loading it will call DontDestroyOnLoad on the gameobject where this script is contained
/// so it persists upon scene changes.
/// </summary>
/// <remarks>
@rickyah
rickyah / podfile_static_lib
Created May 18, 2014 19:06
Remove static lib dependencies when the user project for a CocoaPods is an static lib project itself
# we don't want to link static libs or it will fail to build
# see https://github.com/CocoaPods/CocoaPods/issues/117
targets = [:target1, :target2]
lib_dependencies = ['z']
post_install do |installer|
installer.libraries.select { |i| targets.include? i.target_definition.name.to_sym }.each do |l|
config_file_path = l.library.xcconfig_path
config_file_contents = File.read(config_file_path)
@rickyah
rickyah / gist:10016784
Last active August 29, 2015 13:58
csharper_attributes

#C# Attributes

WIP

Attributes are just meta-data associated to the code.

You can create your own:

  • Create a child class of System.Attribute
  • The name of your attribute class should end with Attribute (convention sufix)
@rickyah
rickyah / gist:10016780
Last active August 29, 2015 13:58
csharper_properties

#C# Properties

Properties are getters & setters but well done.

They require minimal code for setup:

public int MyProperty {get;set;}

This declares a completely functional property. The compiler generates the member to store the property data automatically.

@rickyah
rickyah / naming_conventions.md
Last active August 29, 2015 13:58
CSharper_naming_conventions

#C# Naming conventions

Why bother?

Using this naming conventions will allow to know if we are dealing with local variables, private fields, or public data just with a glimpse of the code.

In this code: ¿which variables are internal data to the class and which ones are public?

public void MyMethod(int index)
{
@rickyah
rickyah / BenchmarkProperties.cs
Created April 4, 2014 12:44
Benchmark c# accessors vs member variables
using System;
using System.Diagnostics;
public class TestClass
{
public int member;
public int property {get; set;}
}