Beispiel #1
0
        public static int ProcessNewFakeRole(RoleData4Selector clientData, int mapCode, FakeRoleTypes fakeRoleType, int direction = -1, int toPosX = -1, int toPosY = -1, int ToExtensionID = -1)
        {
            int result;

            if (mapCode <= 0 || !GameManager.MapGridMgr.DictGrids.ContainsKey(mapCode))
            {
                LogManager.WriteLog(LogTypes.Error, string.Format("生成雕像目标地图不存在, MapCode={0}, RoleID={1}", mapCode, clientData.RoleID), null, true);
                result = -1;
            }
            else
            {
                FakeRoleManager.RemoveFakeRoleByRoleIDType(clientData.RoleID, fakeRoleType);
                FakeRoleItem fakeRoleItem = FakeRoleManager.AddFakeRole(clientData, fakeRoleType);
                if (null == fakeRoleItem)
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("为RoleID生成假人对象时失败, MapCode={0}, RoleID={1}", mapCode, clientData.RoleID), null, true);
                    result = -1;
                }
                else
                {
                    fakeRoleItem.MyRoleDataMini.MapCode = mapCode;
                    if (toPosX >= 0 && toPosY >= 0)
                    {
                        fakeRoleItem.MyRoleDataMini.PosX = toPosX;
                        fakeRoleItem.MyRoleDataMini.PosY = toPosY;
                    }
                    if (direction >= 0)
                    {
                        fakeRoleItem.MyRoleDataMini.RoleDirection = direction;
                    }
                    if (ToExtensionID >= 0)
                    {
                        fakeRoleItem.ToExtensionID = ToExtensionID;
                    }
                    GameManager.MapGridMgr.DictGrids[fakeRoleItem.MyRoleDataMini.MapCode].MoveObject(-1, -1, fakeRoleItem.MyRoleDataMini.PosX, fakeRoleItem.MyRoleDataMini.PosY, fakeRoleItem);
                    result = fakeRoleItem.FakeRoleID;
                }
            }
            return(result);
        }
Beispiel #2
0
        public static int ProcessNewFakeRole(SafeClientData clientData, int mapCode, FakeRoleTypes fakeRoleType, int direction = -1, int toPosX = -1, int toPosY = -1, int ToExtensionID = -1)
        {
            int result;

            if (mapCode <= 0 || !GameManager.MapGridMgr.DictGrids.ContainsKey(mapCode))
            {
                LogManager.WriteLog(LogTypes.Error, string.Format("为RoleID离线挂机时失败, MapCode={0}, RoleID={1}", clientData.MapCode, clientData.RoleID), null, true);
                result = -1;
            }
            else
            {
                FakeRoleManager.RemoveFakeRoleByRoleIDType(clientData.RoleID, fakeRoleType);
                FakeRoleItem fakeRoleItem = FakeRoleManager.AddFakeRole(clientData, fakeRoleType);
                if (null == fakeRoleItem)
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("为RoleID生成假人对象时失败, MapCode={0}, RoleID={1}", clientData.MapCode, clientData.RoleID), null, true);
                    result = -1;
                }
                else
                {
                    fakeRoleItem.MyRoleDataMini.MapCode = mapCode;
                    if (toPosX >= 0 && toPosY >= 0)
                    {
                        fakeRoleItem.MyRoleDataMini.PosX = toPosX;
                        fakeRoleItem.MyRoleDataMini.PosY = toPosY;
                    }
                    if (direction >= 0)
                    {
                        fakeRoleItem.MyRoleDataMini.RoleDirection = direction;
                    }
                    if (ToExtensionID >= 0)
                    {
                        fakeRoleItem.ToExtensionID = ToExtensionID;
                    }
                    if (FakeRoleTypes.LiXianGuaJi == fakeRoleType)
                    {
                        if (clientData.OfflineMarketState <= 0)
                        {
                            fakeRoleItem.MyRoleDataMini.StallName = "";
                        }
                    }
                    if (FakeRoleTypes.DiaoXiang2 == fakeRoleType)
                    {
                        if (fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams == null || fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Count <= 0)
                        {
                            int fashionID = 0;
                            foreach (FashionData item in FashionManager.getInstance().RuntimeData.FashingDict.Values)
                            {
                                if (item.Type == 1)
                                {
                                    fashionID = item.ID;
                                    break;
                                }
                            }
                            if (null == fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams)
                            {
                                fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams = new List <int>();
                            }
                            for (int i = fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Count; i < 53; i++)
                            {
                                fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Add(0);
                            }
                            fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams[26] = fashionID;
                        }
                    }
                    if (FakeRoleTypes.BangHuiMatchBZ == fakeRoleType || FakeRoleTypes.CompDaLingZhu_1 == fakeRoleType || FakeRoleTypes.CompDaLingZhu_2 == fakeRoleType || FakeRoleTypes.CompDaLingZhu_3 == fakeRoleType)
                    {
                        int fashionID = 0;
                        foreach (FashionData item in FashionManager.getInstance().RuntimeData.FashingDict.Values)
                        {
                            if (item.Type == 4)
                            {
                                fashionID = item.ID;
                                break;
                            }
                        }
                        if (fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams == null || fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Count <= 0)
                        {
                            if (null == fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams)
                            {
                                fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams = new List <int>();
                            }
                            for (int i = fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Count; i < 53; i++)
                            {
                                fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Add(0);
                            }
                            fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams[26] = fashionID;
                        }
                        else if (53 == fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams.Count)
                        {
                            fakeRoleItem.MyRoleDataMini.RoleCommonUseIntPamams[26] = fashionID;
                        }
                    }
                    fakeRoleItem.MyRoleDataMini.LifeV  = Math.Max(1, clientData.LifeV);
                    fakeRoleItem.MyRoleDataMini.MagicV = Math.Max(1, clientData.MagicV);
                    GameManager.MapGridMgr.DictGrids[fakeRoleItem.MyRoleDataMini.MapCode].MoveObject(-1, -1, fakeRoleItem.MyRoleDataMini.PosX, fakeRoleItem.MyRoleDataMini.PosY, fakeRoleItem);
                    result = fakeRoleItem.FakeRoleID;
                }
            }
            return(result);
        }