public ErrorCodes OnPlayerApplyMissionReward(int allianceId, ulong charId, int missionId, int score, int add, FieldRankBaseData data) { return(mImpl.OnPlayerApplyMissionReward(this, allianceId, charId, missionId, score, add, data)); }
public int OnPlayerCollectLode(ulong characterId, int allianceId, int sceneId, int lodeId, int add, FieldRankBaseData data) { return(mImpl.OnPlayerCollectLode(this, characterId, allianceId, sceneId, lodeId, add, data)); }
public ErrorCodes OnPlayerApplyMissionReward(LodeManager _this, int allianceId, ulong charId, int missionId, int meritPoint, int add, FieldRankBaseData data) { if (_this.mDbData.ActivityInfo.ActivityStatus == 0) { return(ErrorCodes.Error_ActivityOver); } var tb = Table.GetObjectTable(missionId); if (allianceId > 0) { var alliance = ServerAllianceManager.GetAllianceById(allianceId); if (alliance == null) { return(ErrorCodes.Error_CharacterNoAlliance); } if (tb.TaskType == 1) { ErrorCodes err = CheckAllianceMission(_this, alliance, missionId); if (err != ErrorCodes.OK) { return(err); } } //if (meritPoint > 0) //{ // var member = alliance.Dad.GetCharacterData(charId); // if (member != null) // { // member.MeritPoint += meritPoint; // } //} } OnPlayerAddScore(_this, charId, allianceId, add, data); return(ErrorCodes.OK); }
public void OnPlayerAddScore(LodeManager _this, ulong charId, int allianceId, int add, FieldRankBaseData data) { if (_this.mDbData.ActivityInfo.ActivityStatus == 1) { var idx = _this.mDbData.ActivityInfo.PlayerTaskList.FindIndex(o => { return(o.guid == charId); }); DBPlayerTask db = null; if (idx >= 0) { db = _this.mDbData.ActivityInfo.PlayerTaskList[idx]; _this.mDbData.ActivityInfo.PlayerTaskList.RemoveAt(idx); } if (db == null) { db = new DBPlayerTask(); } db.fight = data.FightPoint; db.guid = data.Guid; db.name = data.Name; db.role = data.TypeId; db.level = data.Level; db.score = data.Score; idx = _this.mDbData.ActivityInfo.PlayerTaskList.FindIndex(o => { return(o.score < db.score); }); if (idx >= 0) { _this.mDbData.ActivityInfo.PlayerTaskList.Insert(idx, db); } else if (_this.mDbData.ActivityInfo.PlayerTaskList.Count < 50) { _this.mDbData.ActivityInfo.PlayerTaskList.Add(db); } if (_this.mDbData.ActivityInfo.PlayerTaskList.Count > 50) { _this.mDbData.ActivityInfo.PlayerTaskList.RemoveAt(50); } } //玩家在公会内的贡献 if (allianceId > 0) { OnAllianceAddScore(_this, allianceId, add); } _this.bDirty = true; }
public int OnPlayerCollectLode(LodeManager _this, ulong characterId, int allianceId, int sceneId, int lodeId, int add, FieldRankBaseData data) { var tb = Table.GetLode(lodeId); if (tb == null) { return((int)(ErrorCodes.Error_Lode_ErrorId)); } DBSceneLode l; if (false == _this.mDbData.SceneLodeList.TryGetValue(sceneId, out l)) { return((int)(ErrorCodes.Error_Lode_ErrorId)); } DBLode dbLode; if (false == l.LodeList.TryGetValue(lodeId, out dbLode)) { return((int)(ErrorCodes.Error_Lode_ErrorId)); } System.DateTime startTime = DataTimeExtension.EpochStart; // 当地时区 var now = DateTime.Now; if (dbLode.Times <= 0) { DateTime dt = startTime.AddSeconds(dbLode.UpdateTime); if (dt > DateTime.Now) { return((int)(ErrorCodes.Error_Lode_Collect_ErrorTimes)); } else { dbLode.UpdateTime = 0; dbLode.Times = tb.CanCollectNum; } } if (--dbLode.Times == 0) { dbLode.UpdateTime = (long)(now.AddSeconds(tb.LodeRefreshTime) - startTime).TotalSeconds; } _this.bDirty = true; OnAllianceEvent(_this, allianceId, eCollectCount); if (add > 0) { //OnAllianceAddScore(_this,alliance:) OnPlayerAddScore(_this, characterId, allianceId, add, data); } return((int)ErrorCodes.OK); }
public int OnPlayerCollectLode(int serverId, ulong characterId, int allianceId, int sceneId, int lodeId, int add, FieldRankBaseData data) { LodeManager mgr = GetLodeManager(serverId); if (mgr == null) { return((int)ErrorCodes.Unknow); } return(mgr.OnPlayerCollectLode(characterId, allianceId, sceneId, lodeId, add, data)); }