Skip to content

Instantly share code, notes, and snippets.

View aprius's full-sized avatar
:shipit:
ops

Aprius aprius

:shipit:
ops
View GitHub Profile
@aprius
aprius / naming.md
Last active June 7, 2025 04:32
file naming
  • Các kí tự đặc biệt như ~ ! @ # $ % ^ & * ( ) ` ; < > ? , [ ] { } ‘ ” và | cần tránh sử dụng
  • Không sử dụng khoảng trắng. Một số phần mềm sẽ không nhận dạng tên file có dấu cách. Sử dụng các lựa chọn dưới đây để thay thế:
    • Underscores (e.g. file_name.xxx)
    • Dashes (e.g. file-name.xxx)
    • No separation (e.g. filename.xxx)
    • Camel case, trong đó chữ cái đầu tiên của mỗi phần văn bản được viết hoa (e.g. FileName.xxx)

where_when_what hay còn có dạng scope_scope_meaning

Scope. Cái từ kế tiếp trong file name dùng để “khoanh vùng” coi nó dùng ở đâu, phạm vi thế nèo. (vẫn chú ý chia folder trc nhé, cộng thêm cả naming nữa cho ngầu :v). Có thể cần một hoặc vài scope tùy bạn, mình thường 1-2 cái là nhiều

@aprius
aprius / CountryCode.cs
Last active August 4, 2022 04:19
Country Code (241 country)
public enum ECountryCode
{
AD = 0,
AE,
AF,
AG,
AI,
AL,
AM,
AO,
@aprius
aprius / max-mediation-extend.json
Last active September 6, 2022 08:03
Applovin Mediation Extend
[
{
"Name": "TAPPX_NETWORK",
"DisplayName": "Tappx",
"DownloadUrl": "https://github.com/gamee-studio/ads/releases/download/1.0.15/tappx-android-3.2.3.8-ios-3.2.3.8.unitypackage",
"PluginFileName": "tappx-android-3.2.3.8-ios-3.2.3.8.unitypackage",
"PluginFilePaths": [
"MaxSdk/Mediation/Tappx"
],
"DependenciesFilePath": "MaxSdk/Mediation/Tappx/Editor/Dependencies.xml",
@aprius
aprius / ironsource.json
Last active December 20, 2022 08:00
ironsource package config download
{
"name": "IRONSOURCE_SDK",
"displayName": "IronSource",
"versions": [
"7.2.6.0",
"7.2.5.1",
"7.2.2.1"
],
"path": "https://github.com/pancake-llc/ironsource-unity-sdk/releases/download/{0}/IronSource_IntegrationManager_v{0}.unitypackage",
"dependenciesFilePath": "IronSource/Editor/IronSourceSDKDependencies.xml",
@aprius
aprius / googlemobileads.json
Last active November 15, 2022 09:44
Google mobile ads last release download
{
"name": "GMA_SDK",
"displayName": "Google Mobile Ads",
"versions": [
"7.3.0",
"7.2.0",
"7.1.0",
"7.0.0",
"6.1.2"
],
@aprius
aprius / ValidateCollection.cs
Created February 18, 2022 11:16
Check if a list belongs to another list with exact position of elements
public static class Ex
{
public static bool ValidateCollection(this List<int> source, List<int> target)
{
bool Exists(IReadOnlyList<int> list, int value)
{
for (var i = 0; i < list.Count; i++)
{
if (list[i] == value) return true;
}
@aprius
aprius / ecs.md
Last active August 24, 2021 10:38
What is entity system? unity game development
  • Vòng lặp game kiểu cũ trông như này
void update(float time)
{
  game.update(time);
  spaceship.updateInputs(time);
  
  foreach(var flyingSaucer in flyingSaucers)
  {
 flyingSaucer.updateAI(time);
@aprius
aprius / performance.cs
Created July 1, 2021 09:43
Performance Check
-

#1 download and install the git commnad line extension. git lfs install

#2 track file, you can push directly path of file here git lfs track "*.so"

#3 make sure .gitattributes is tracked (option) git add .gitattributes

#4 commit

@aprius
aprius / UnitaskAsync.cs
Created September 28, 2020 09:15
sample UniTask async method work
/// <summary>
/// heavy task c
/// for methods that use Unitask's api like: UniTask.WaitUntil (), UniTask.Run (), etc ...
/// then it should not be wrapper by UniTask.Run () anymore
/// instead, the return type must be UniTask
///
/// does not declare AsyncHeavyTaskC method with return type as void if inside it uses api of unitask already
///
/// The AsyncHeavyTaskC method now doesn't need to be wrapped by UniTask.Run () anymore
/// </summary>