public void Init(CocoRoleHolder roleHolder) { RoleHolder = roleHolder; // dress Dress = AddUnit <CocoRoleDress> (); StartCoroutine(CocoWait.WaitForFunc(() => { return(!Dress.IsReady); }, () => { // body Body = AddUnit <CocoRoleBody> (); // shadow if (RoleHolder.enableShadow) { Shadow = CocoLoad.Instantiate <CocoRoleShadow> ("role/role_shadow", transform, CocoLoad.TransStayOption.Local); Shadow.FollowTarget = Body.GetBone(CocoRoleBoneID.Root); } // layer if (transform.parent != null) { transform.SetSelfAndChildLayer(transform.parent.gameObject.layer); } IsReady = true; })); }
private CocoRoleHolder GenerateRole(CocoDressEditorRoleConfigHolder editorRoleConfigHolder) { var roleHolder = new CocoRoleHolder { id = editorRoleConfigHolder.roleId, boneItemId = editorRoleConfigHolder.boneItemId, basicItemIds = editorRoleConfigHolder.basicItemIds, dressId = editorRoleConfigHolder.dressId, bodyId = editorRoleConfigHolder.bodyId, enableShadow = editorRoleConfigHolder.enableShadow }; return(roleHolder); }
/// <summary> /// Creates the temp role. /// 创建一个临时的角色,不放在Control下,你需要自己删除 /// </summary> /// <returns>The temp role.</returns> /// <param name="roleId">Role identifier.</param> /// <param name="roleName">Role name.</param> /// <param name="parent">parent transform</param> /// <param name="recordDress">record dress</param> public CocoRoleEntity CreateTempRole(string roleId, string roleName, Transform parent = null, bool recordDress = false) { CocoRoleHolder roleHolder = assetControl.ConfigHolder.GetRoleHolder(roleId); if (roleHolder == null) { Debug.LogErrorFormat("{0}->CreateTempRole: can NOT found role holder for role id {1}", GetType().Name, roleId); return(null); } CocoRoleEntity role = CocoLoad.InstantiateOrCreate <CocoRoleEntity> (string.Empty, parent); role.name = roleName; role.DressRecordKey = GetRoleKey(roleId, roleName); role.IsDressRecordActive = recordDress; role.Init(roleHolder); return(role); }
private CocoRoleConfigHolder GenerateRoleConfig(CocoRoleHolder roleHolder) { return(GenerateConfig <CocoRoleConfigHolder, CocoRoleHolder> (roleHolder, "role_entity")); }