/// <summary> /// 获取当前预览的物体,更新预览界面的角色灯光 /// </summary> public void UpdatePreviewLight(GameObject preview_object) { var role_ids = GameConstHelper.GetUintList("GAME_AVAILABLE_ROLE_ID"); var type_ids = new List <uint>(role_ids.Count); foreach (var rid in role_ids) { type_ids.Add(ActorHelper.RoleIdToTypeId(rid)); } uint actor_type_id = 0; var client_model = preview_object.GetComponentInChildren <ActorMono>(true); if (client_model != null && client_model.BindActor != null) { actor_type_id = client_model.BindActor.TypeIdx; } if (type_ids.Contains(actor_type_id)) { PreviewLight.SelectLight(0, ActorHelper.TypeIdToRoleId(actor_type_id)); } else { PreviewLight.SelectLight(0, 0); } }
/// <summary> /// 根据PkgPlayerBrief来初始化AOI数据 /// </summary> public static UnitCacheInfo CreateUnitCacheInfo(PkgPlayerBrief info, Vector3 pos) { var cache_info = new xc.UnitCacheInfo(EUnitType.UNITTYPE_PLAYER, info.uuid); cache_info.CacheType = xc.UnitCacheInfo.EType.ET_Create; cache_info.PosBorn = pos; cache_info.AOIPlayer.type_idx = ActorHelper.RoleIdToTypeId(info.rid); cache_info.AOIPlayer.name = System.Text.Encoding.UTF8.GetString(info.name); cache_info.AOIPlayer.model_id_list = new List <uint>(); cache_info.AOIPlayer.fashions = new List <uint>(); ActorHelper.GetModelFashionList(info.shows, cache_info.AOIPlayer.model_id_list, cache_info.AOIPlayer.fashions); cache_info.AOIPlayer.suit_effects = info.effects; cache_info.AOIPlayer.level = (short)info.level; cache_info.AOIPlayer.mount_id = info.ride; cache_info.AOIPlayer.name_color = info.name_color; cache_info.AOIPlayer.state = info.state; cache_info.AOIPlayer.honor_id = info.honor; cache_info.AOIPlayer.title_id = info.title; cache_info.AOIPlayer.transfer_lv = info.transfer; cache_info.AOIPlayer.mate_info = info.mate; if (info.war != null) { cache_info.AOIPlayer.camp = info.war.side; cache_info.AOIPlayer.team_id = info.war.team_id; cache_info.AOIPlayer.pet_id = info.war.pet_skin; //宠物皮肤 cache_info.AOIPlayer.escort_id = info.war.escort_id; } else { cache_info.AOIPlayer.camp = 0; cache_info.AOIPlayer.team_id = 0; cache_info.AOIPlayer.pet_id = 0; cache_info.AOIPlayer.escort_id = 0; } if (info.guild != null) { cache_info.AOIPlayer.guild_id = info.guild.guild_id; cache_info.AOIPlayer.guild_name = System.Text.Encoding.UTF8.GetString(info.guild.guild_name); } else { cache_info.AOIPlayer.guild_id = 0; cache_info.AOIPlayer.guild_name = ""; } return(cache_info); }
protected virtual UnitCacheInfo CreateUnitCacheData(S2CNwarInitInfo player_info) { var born_pos = RoleHelp.GetPositionInScene(ActorHelper.RoleIdToTypeId(player_info.brief.rid), player_info.init_pos.px * GlobalConst.UnitScale, player_info.init_pos.py * GlobalConst.UnitScale); var init_data = ActorHelper.CreateUnitCacheInfo(player_info.brief, born_pos); // 读取出生点朝向 List <Neptune.Tag> tags = Neptune.DataHelper.GetTagListByType(Neptune.DataManager.Instance.Data, "born_pos"); if (tags.Count > 0) { init_data.Rotation = tags[0].Rotation; } if (LocalPlayerManager.Instance.BornRotation.Equals(Quaternion.identity) == false) { init_data.Rotation = LocalPlayerManager.Instance.BornRotation; LocalPlayerManager.Instance.BornRotation = Quaternion.identity; } return(init_data); }