Chaoli

Unity开发规范

UMa工作室拟采用的Unity游戏开发规范,版本v0.1

项目文件夹

素材格式

编程规范

参考:

本文未提到的情况,以上述参考资料为准

命名

布局

示例

using System;
using UnityEngine;

public class Player : MonoBehaviour
{
    // 枚举
    public enum Type
    {
        Player,
        Enemy
    }

    // 事件
    public event Action HpChanged;

    // 常量
    private readonly int _maxHp = 5;

    // 属性
    public int Hp { get; private set; }
    public Type UnitType { get; }

    // 字段
    [SerializeField]
    private Enemy _enemy;

    [SerializeField]
    private int _startHp = 3;

    private Vector3 _position;
    private Animator _animator;


    // 函数部分: 空两行
    // Unity函数
    private void Awake()
    {
        // Awake中初始化自身的状态
        _position = transform.position;
        _animator = GetComponent<Animator>();
    }

    private void Start()
    {
        // Start中访问其他类

        // 订阅事件
        _enemy.Died += Enemy_Died;
    }

    private void Update() {}

    // 其他函数: public在前,private在后
    public void Attack()
    {
        Debug.Log("AAAAttack!");
    }

    public void TakeDamage(int damage)
    {
        Debug.Log($"Ahh! HP - {damage}")
	}

    private void Enemy_Died()
    {
        Debug.Log("好耶!");
    }
}