Skip to content

RoleModel

muxigame edited this page Nov 24, 2021 · 1 revision

角色模型 Role Model

$\textcolor{RedOrange}{GalForUnity.Model.RoleModel: MonoBehaviour}$

GalForUnity.Model.RoleModel是角色模型,管理着角色信息与角色数据,该类会自动附加CubismMotionController和RoleData类,该类继承自:MonoBehaviour

功能

GalForUnity.Model.RoleModel:角色模型是从1.0b集成过来的基础类,管理着角色数据Live2D模型的引用等角色信息

image-20210105231127463

字段

名称 描述
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;
		}
	}
}

Clone this wiki locally