Chaoli

Unity开发规范

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

版本v0.1.5

项目文件夹

根目录:

Assets:

素材格式

命名

不提倡拼音命名】美术等需要交接的素材优先使用中文,其次英文

例:玩家1_身体.png

编程规范

参考:

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

命名

布局

示例

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("好耶!");
    }
}