//查看好友信息 public static void LookFriendManorInfo(CSQueryOther csQueryOther, Action <SCManorFriendData> ResponseSCManorFriendDataCallBack) { if (StaticData.IsUsedLocalDataNotServer) { //测试 SCManorFriendData scManorFriendData = new SCManorFriendData() { }; SCManorStruct scManorStruct = new SCManorStruct() { SoilId = 1001, SoilType = ManorScene.Tile, CropGoodId = 0, Yield = 0, TotalYield = 0, SoilStatus = 0, Xaxle = -8.4338960647583f, Yaxle = 12.0527410507202f, NextTime = 0, ParcelDivision = 1 }; scManorFriendData.OtherManorInfo.Add(scManorStruct); ResponseSCManorFriendDataCallBack(scManorFriendData); } else { ProtocalManager.Instance().SendCSQueryOther(csQueryOther, ResponseSCManorFriendDataCallBack, (error) => { }, false); } }
private static void GenerateServerInfo(List <TileComponent> listChildActive) { List <Generate.SCManorStruct> listManorTree = new List <SCManorStruct>(); for (int i = 0; i < listChildActive.Count; i++) { if (listChildActive[i].typeTile == Company.Cfg.TypeManorDecorate.Tile || listChildActive[i].typeTile == Company.Cfg.TypeManorDecorate.Decorate /*|| listChildActive[i].typeTile == Company.Cfg.TypeManorDecorate.GiftBox*/ || listChildActive[i].typeTile == Company.Cfg.TypeManorDecorate.DogHouse) { SCManorStruct csManorStruct = new SCManorStruct(); csManorStruct.SoilType = (Game.Protocal.ManorScene)listChildActive[i].typeTile; csManorStruct.CropGoodId = listChildActive[i].CropGoodId; csManorStruct.Xaxle = listChildActive[i].transform.localPosition.x; csManorStruct.Yaxle = listChildActive[i].transform.localPosition.y; csManorStruct.ParcelDivision = listChildActive[i].regionId; listManorTree.Add(csManorStruct); listChildActive[i].gameObject.SetActive(false); } } //增加NPC TileComponent TileNpc = GameObject.Find("Root2DScene/FemaleManor").GetComponent <TileComponent>(); SCManorStruct csManorStructNpc = new SCManorStruct(); csManorStructNpc.SoilType = Game.Protocal.ManorScene.Npc; csManorStructNpc.Xaxle = TileNpc.transform.localPosition.x; csManorStructNpc.Yaxle = TileNpc.transform.localPosition.y; listManorTree.Add(csManorStructNpc); string jsonInitTreesInScenes = LitJson.JsonMapper.ToJson(listManorTree); StaticData.isShowSelfLog = true; StaticData.DebugGreen($"====jsonInitTreesInScenes:{jsonInitTreesInScenes}===="); }
//获取自己庄园的信息 public static void GetSelfManorInfo(CSEmptyManorInfo csEmptyManorInfo, Action <SCManorData> ResponseSCManorDataCallBack) { if (StaticData.IsUsedLocalDataNotServer) { //测试 SCManorData scManorData = new SCManorData(); SCManorStruct scManorStruct = new SCManorStruct() { SoilId = 1001, SoilType = ManorScene.Tile, CropGoodId = 0, Yield = 0, TotalYield = 0, SoilStatus = 0, Xaxle = -8.4338960647583f, Yaxle = 12.0527410507202f, NextTime = 0, ParcelDivision = 1 }; scManorData.ManorInfo.Add(scManorStruct); ResponseSCManorDataCallBack(scManorData); } else { //这里处理默认的提示问题 ProtocalManager.Instance().SendCSEmptyManorInfo(csEmptyManorInfo, ResponseSCManorDataCallBack, (error) => { }, false); } }
private async UniTask GenerateExistPlants(RepeatedField <SCManorStruct> manorInfo, bool isFriendManor) { //进入庄园的时候 清空收获.偷取图标 StaticData.GetUIWorldHandleComponent().ClearAllGainGo(); StaticData.GetUIWorldHandleComponent().ClearAllStealGo(); for (int i = 0; i < manorInfo.Count; i++) { SCManorStruct plant = manorInfo[i]; GameObject go; TileComponent tileComponent = null; if (plant.SoilType == ManorScene.None) { Debug.LogError($"服务器初始化庄园Plant.id:{plant.SoilId}"); } if (plant.SoilType != ManorScene.None && plant.SoilType != ManorScene.Tile && plant.SoilType != ManorScene.Npc && plant.CropGoodId != 0) { //装饰物(装饰物,礼盒,狗窝) //装饰物旋转索引 int rotateIdx = plant.DecorateRotateIndex; var DecorateDefine = StaticData.configExcel.GetDecorateByDecorateId((int)plant.CropGoodId); string modelName = DecorateDefine.Model[rotateIdx]; go = await GenerateDecorate(modelName, DecorateDefine.DecorateId); tileComponent = go.GetComponent <TileComponent>(); go.transform.localPosition = new Vector2(plant.Xaxle, plant.Yaxle); tileComponent.regionId = plant.ParcelDivision; tileComponent.idxDecorateRotate = rotateIdx; } else if (plant.SoilType == ManorScene.Tile) { ////test //plant.CropGoodId = 400001; //plant.NextTime = 360000; ////test end go = GenerateTile(); tileComponent = go.GetComponent <TileComponent>(); go.transform.localPosition = new Vector2(plant.Xaxle, plant.Yaxle); go.GetComponent <TileComponent>().regionId = plant.ParcelDivision; //创建地块上庄稼 tileComponent.CropGoodId = (int)plant.CropGoodId; tileComponent.SoilId = plant.SoilId; if (tileComponent.CropGoodId == 0) { continue; } var prefabName = StaticData.configExcel.GetManorCropByCropId(tileComponent.CropGoodId).Model; var plantPrefab = await ABManager.GetAssetAsync <GameObject>(prefabName); var goPlant = GameObject.Instantiate <GameObject>(plantPrefab); Transform plantTrans = goPlant.transform; plantTrans.parent = tileComponent.rootPlant.transform; plantTrans.localPosition = Vector3.zero; plantTrans.localScale = Vector3.one; tileComponent.SetCurrGoPlant(goPlant); var seedGrowComponent = plantTrans.GetComponent <SeedGrowComponent>(); seedGrowComponent.SetCropId((int)plant.CropGoodId, tileComponent); seedGrowComponent.GenerateTimer(); seedGrowComponent.SetPeriod((SeedGrowComponent.PeriodGrow)plant.SoilStatus, plant.NextTime); Root2dSceneManager._instance.AddListSeedGrow(seedGrowComponent); } else if (plant.SoilType == ManorScene.Npc) { //设置Npc位置 Root2dSceneManager._instance.femaleManorManagerTileComponent.transform.localPosition = new Vector2(plant.Xaxle, plant.Yaxle); Root2dSceneManager._instance.femaleManorManagerTileComponent.SoilId = plant.SoilId; } if (tileComponent != null) { tileComponent.SoilId = plant.SoilId; } } //排序 UpdateSortLayer(true); //add_by_wsf //检查地鼠的生成 if (!isFriendManor) { mouseManorManager.CheckSelfMouseGenerate(); } else { mouseManorManager.CheckFriendMouseGenerate(); } //add_by_wsf end }