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); }
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); }