Repository navigation
RoleModel
muxigame edited this page Nov 24, 2021
·
1 revision
GalForUnity.Model.RoleModel是角色模型,管理着角色信息与角色数据,该类会自动附加CubismMotionController和RoleData类,该类继承自:MonoBehaviour
GalForUnity.Model.RoleModel:角色模型是从1.0b集成过来的基础类,管理着角色数据Live2D模型的引用等角色信息

| 名称 | 描述 |
|---|---|
| GameObject live2D(Obsolete) | 引用的Live2D模型,在1.0r版本中,该字段并没有实际用途1.1b中已删除 |
| string Name | 角色的姓名 |
| GalForUnity.Model.RoleData roleData | 角色的数据,可以再Inspector中编辑 |
| RoleData Parse(List<RoleData.RoleDataItem> roleDataItems) | 使角色数据和角色数据数值相等 |
| RoleModel Add(List<RoleData.RoleDataItem> roleDataItems) | 使数值添加某个角色数据项列表 |
| RoleModel Add(RoleData roleDatao) | 使该角色数值添加另一个角色数据 |
| List<RoleData.RoleDataItem> operator +(RoleModel roleModel1, RoleModel roleModel) | 令两个角色的数值相加,返回角色数据列表 |
using System;
using System.Collections.Generic;
using GalForUnity.Attribute;
using Live2D.Cubism.Framework.Motion;
using UnityEngine;
namespace GalForUnity.Model {
[ExecuteInEditMode]
[RequireComponent(typeof(Model.RoleData))]
[RequireComponent(typeof(CubismMotionController))]
[Serializable]
public class RoleModel : MonoBehaviour {
public GameObject live2D;
//姓名
[Rename("姓名")]
[SerializeField]
private new string name = "";
public string Name {
set { name = value; }
get { return name; }
}
public void SetPosition(Vector3 vector){
live2D.transform.position = vector;
}
/// <summary>
///角色的数值
/// </summary>
[Rename("角色的数值")]
public RoleData roleData;
private void Awake()
{
roleData = GetComponent<RoleData>();
roleData.RoleModel = this;
}
public RoleData Parse(List<RoleData.RoleDataItem> roleDataItems){
return roleData.Parse(roleDataItems);
}
public RoleModel Add(List<RoleData.RoleDataItem> roleDataItems){
roleData=Parse(roleDataItems);
return this;
}
public RoleModel Add(RoleData roleDatao){
roleData=Parse(roleData+roleDatao);
return this;
}
public static List<RoleData.RoleDataItem> operator +(RoleModel roleModel1, RoleModel roleModel){
var roleModel1RoleData = roleModel.roleData + roleModel1.roleData;
return roleModel.roleData + roleModel1.roleData;
}
}
}