Skip to content

Instantly share code, notes, and snippets.

View Dssdiego's full-sized avatar
🦄

Diego Santos Seabra Dssdiego

🦄
View GitHub Profile
@Dssdiego
Dssdiego / Money.cs
Created April 1, 2020 14:30
Unity Action
using UnityEngine;
using UnityEngine.Events;
public class Money : MonoBehaviour
{
[SerializeField] private int amount = 10000;
public static UnityAction<int> OnGrabbed;
public void Grab()
{
@Dssdiego
Dssdiego / MyScript.cs
Last active April 22, 2020 16:42
Unity Singleton Pattern
using System;
using UnityEngine;
public class MyScript : MonoBehaviour
{
public static MyScript Instance { get; private set; }
private void Awake()
{
if (Instance != null)
@Dssdiego
Dssdiego / Preferences.java
Last active April 22, 2020 17:24
Android Get/Save Preferences
private static final String SOME_KEY = "KEY_ANYTHING_YOU_WANT"
public class Preference {
// Set Prefrence
SharedPreferences.Editor e = PreferenceManager.getDefaultSharedPreferences(context).edit();
e.putBoolean(SOME_KEY, true);
e.apply();
// Get Preference
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(SOME_KEY, false);
@Dssdiego
Dssdiego / IntVariable.cs
Last active April 28, 2020 08:46
Unity Int Variable according to [Best Practices](https://unity.com/how-to/architect-game-code-scriptable-objects)
using UnityEngine;
using UnityEngine.Events;
[CreateAssetMenu(menuName = "Variable/Int")]
public class IntVariable : ScriptableObject
{
#if UNITY_EDITOR
[Multiline]
public string description;
#endif
@Dssdiego
Dssdiego / FloatVariable.cs
Last active April 28, 2020 08:52
Unity Float Variable according to [Best Practices](https://unity.com/how-to/architect-game-code-scriptable-objects)
using UnityEngine;
using UnityEngine.Events;
[CreateAssetMenu(menuName = "Variable/Float")]
public class FloatVariable : ScriptableObject
{
#if UNITY_EDITOR
[Multiline]
public string description;
#endif
@Dssdiego
Dssdiego / ImageFillSetter.cs
Last active April 28, 2020 08:50
Unity Image Fill Setter
public class ImageFillSetter : MonoBehaviour {
public FloatReference Variable;
public FloatReference Max;
public Image image;
private void Update() {
Image.fillAmount = Mathf.Clamp(Variable.Value / Max.Value);
}
}
using TMPro;
using UnityEngine;
namespace Architecture
{
[RequireComponent(typeof(TextMeshProUGUI))]
public class TextIntSetter : MonoBehaviour
{
private TextMeshProUGUI textUI;
public IntVariable variable;
using UnityEngine;
namespace Architecture
{
public class IntLogger : MonoBehaviour
{
public IntVariable variable;
public string textBeforeVariable;
public string textAfterVariable;
@Dssdiego
Dssdiego / AppVersion.cs
Last active April 28, 2020 08:54
Keeps the PlayerSettings info of the Unity Project in a separate data asset
using UnityEngine;
[CreateAssetMenu (menuName = "App Version")]
public sealed class AppVersion : ScriptableObject
{
/// <summary>
/// Game Name
/// </summary>
[Header("Settings")]
[SerializeField] private string gameName;
@Dssdiego
Dssdiego / GameTheme.cs
Last active May 1, 2020 17:49
Simple Save System for Themes in Unity
using UnityEngine;
[CreateAssetMenu(menuName = "Settings/Theme")]
public class GameTheme : ScriptableObject
{
public Color foregroundColor;
public Color backgroundColor;
}