Пример #1
0
 //查看好友信息
 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);
     }
 }
Пример #2
0
    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}====");
    }
Пример #3
0
 //获取自己庄园的信息
 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);
     }
 }
Пример #4
0
    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
    }