Skip to content

Instantly share code, notes, and snippets.

Avatar

Ricardo Amores Hernández rickyah

View GitHub Profile
@rickyah
rickyah / dotnet-format-action.yml
Created Jul 25, 2020
Runs dotnet-format on every PR and create a commit that fixes the formatting if it doesn't comply with your code convention
View dotnet-format-action.yml
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 Sep 10, 2020
Script to print all asset bundles of the project and its dependencies
View unity-print-assetbundles.cs
[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 Apr 3, 2021
Notas de la clase de git para el equipo
View clase-git.md

# Clase git

## Conceptos básicos

Commit

Commits son inmutables

Commits contienen

  • SHA1
View MonoBehaviourSingleton.cs
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
Remove static lib dependencies when the user project for a CocoaPods is an static lib project itself
View podfile_static_lib
# 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 Aug 29, 2015
csharper_attributes
View gist:10016784

#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 Aug 29, 2015
csharper_properties
View gist:10016780

#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 Aug 29, 2015
CSharper_naming_conventions
View naming_conventions.md

#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 Apr 4, 2014
Benchmark c# accessors vs member variables
View BenchmarkProperties.cs
using System;
using System.Diagnostics;
public class TestClass
{
public int member;
public int property {get; set;}
}