public void CreateRetinueAsync(InitRetinueData initData, Action <ObjRetinue> callBack = null) { CreateObjAsync(initData, Resource.PrefabPath.Retinue, null, callBack); }
public void CreateObj(CreateObjMsg msg) { if (ObjManager.Instance == null) { Logger.Log2Bugly("ObjManager.Instance == null"); return; } if (PlayerDataManager.Instance == null) { Logger.Log2Bugly("PlayerDataManager.Instance == null"); return; } { var __list1 = msg.Data; var __listCount1 = __list1.Count; for (var __i1 = 0; __i1 < __listCount1; ++__i1) { var data = __list1[__i1]; { if (data.ObjId == PlayerDataManager.Instance.GetGuid()) { continue; } switch ((OBJ.TYPE)data.Type) { case OBJ.TYPE.NPC: { var init = new InitNPCData(); AssignInitCharacterData(init, data); ObjManager.Instance.CreateNPCAsync(init); } break; case OBJ.TYPE.AUTOPLAYER: case OBJ.TYPE.OTHERPLAYER: { var init = new InitOtherPlayerData(); if (data.ExtData.Count > 0) { init.ServerId = data.ExtData[0]; } for (var i = 0; i < data.Titles.Count; i++) { init.TitleList.Add(i, data.Titles[i]); } if (data.Owner != null && data.Owner.Items != null && data.Owner.Items.Count == 1) { init.RobotId = data.Owner.Items[0]; } else { init.RobotId = 0ul; } init.AllianceName = data.AllianceName; AssignInitCharacterData(init, data); ObjManager.Instance.CreateOtherPlayerAsync(init); } break; case OBJ.TYPE.RETINUE: { var init = new InitRetinueData(); AssignInitCharacterData(init, data); if (data.Owner != null && data.Owner.Items != null && data.Owner.Items.Count == 1) { init.Owner = data.Owner.Items[0]; } ObjManager.Instance.CreateRetinueAsync(init); } break; case OBJ.TYPE.DROPITEM: { var init = new InitDropItemData(); AssignInitBaseData(init, data); init.Owner.AddRange(data.Owner.Items); init.RemianSeconds = data.ExtData[0]; init.PlayDrop = 1 == data.ExtData[1] ? true : false; init.TargetPos = new Vector2(GameUtils.DividePrecision(data.TargetPos[0].x), GameUtils.DividePrecision(data.TargetPos[0].y)); ObjManager.Instance.CreateDropItemAsync(init); } break; default: { Logger.Fatal("Obj[{0}] is unknow type[{1}]", data.ObjId, data.Type); } break; } } } } }