void SetEXValueByForce(int forceID, int targetPlayerID, int value) { ReputationData data = GetReputationData(forceID); ReputationCamp camp = data.GetReputationCamp(targetPlayerID); camp.exValue = Mathf.Clamp(value, 0, ReputationLevelValue[ReputationLevelValue.Length - 1]); camp.ResetState(); }
ReputationData GetReputationData(int forceID) { if (!m_ReputationDatas.ContainsKey(forceID)) { m_ReputationDatas[forceID] = new ReputationData(); } return(m_ReputationDatas[forceID]); }
public void Active(int forceID) { if (!m_ForceIDList.Contains(forceID)) { return; } ReputationData data = GetReputationData(forceID); data.active = true; }
public void Export(BinaryWriter w) { w.Write((int)CURRENT_VERSION); w.Write(m_ReputationDatas.Count); foreach (int forceID in m_ReputationDatas.Keys) { w.Write(forceID); ReputationData data = GetReputationData(forceID); data.Export(w); } }
void SetReputationValueByForce(int forceID, int targetPlayerID, int value) { ReputationData data = GetReputationData(forceID); ReputationCamp camp = data.GetReputationCamp(targetPlayerID); camp.reputationValue = Mathf.Clamp(value, 0, ReputationLevelValue[ReputationLevelValue.Length - 1]); camp.ResetState(); if (null != onReputationChange) { onReputationChange(forceID, targetPlayerID); } }
public int GetExValue(int playerID, int targetPlayerID) { int forceID = ForceSetting.Instance.GetForceID(playerID); if (!m_ForceIDList.Contains(forceID)) { return(DefaultReputationValue); } ReputationData data = GetReputationData(forceID); return(data.GetReputationCamp(targetPlayerID).exValue); }
bool TryChangeBelligerencyStateByForce(int forceID, int targetPlayerID, bool state) { ReputationData data = GetReputationData(forceID); if (data.GetReputationCamp(targetPlayerID).belligerency == state) { return(false); } if (!state) { return(false); } SetReputationValueByForce(forceID, targetPlayerID, DefaultbelligerencyValue); return(true); }
public void ActiveReputation(int playerID) { int forceID = ForceSetting.Instance.GetForceID(playerID); if (!m_ForceIDList.Contains(forceID)) { return; } if (PeGameMgr.IsMulti) { NetworkManager.SyncServer(EPacketType.PT_Reputation_SetActive, forceID); } else { ReputationData data = GetReputationData(forceID); data.active = true; } }
public void Import(byte[] data) { m_ReputationDatas.Clear(); MemoryStream ms = new MemoryStream(data); BinaryReader _in = new BinaryReader(ms); int readVersion = _in.ReadInt32(); int count = _in.ReadInt32(); for (int i = 0; i < count; i++) { int forceID = _in.ReadInt32(); AddForceID(forceID); ReputationData rData = GetReputationData(forceID); rData.Import(_in, readVersion); } _in.Close(); ms.Close(); }
/// <summary> /// Modifies the reputation value. /// </summary> void ChangeReputationValueByForce(int forceID, int targetPlayerID, int addValue, bool changeOther = false) { ReputationData data = GetReputationData(forceID); ReputationCamp camp = data.GetReputationCamp(targetPlayerID); SetReputationValueByForce(forceID, targetPlayerID, addValue + camp.reputationValue); if (data.active && changeOther && PeGameMgr.IsStory) { int otherChangeValue = (int)(addValue * ((addValue > 0) ? ChangeValueProportion : (1f / ChangeValueProportion))); List <int> playerIDList = data.GetReputationCampIDs(); for (int i = 0; i < playerIDList.Count; i++) { if (playerIDList[i] != targetPlayerID) { ReputationCamp otherCamp = data.GetReputationCamp(playerIDList[i]); SetReputationValueByForce(forceID, playerIDList[i], otherChangeValue + otherCamp.reputationValue); } } } }
/// <summary> /// Gets the belligerency. /// </summary> bool GetBelligerencyByForce(int forceID, int targetPlayerID) { ReputationData data = GetReputationData(forceID); return(data.GetReputationCamp(targetPlayerID).belligerency); }
/// <summary> /// Gets the reputation level. /// </summary> ReputationLevel GetReputationLevelByForce(int forceID, int targetPlayerID) { ReputationData data = GetReputationData(forceID); return(data.GetReputationCamp(targetPlayerID).level); }
/// <summary> /// Gets the level threshold. /// </summary> /// <returns>The abs level threshold.</returns> int GetLevelThresholdByForce(int forceID, int targetPlayerID) { ReputationData data = GetReputationData(forceID); return(GetLevelThreshold(data.GetReputationCamp(targetPlayerID).level)); }
/// <summary> /// Gets the reputation value. /// </summary> /// <returns>The abs reputation value.</returns> int GetReputationValueByForce(int forceID, int targetPlayerID) { ReputationData data = GetReputationData(forceID); return(data.GetReputationCamp(targetPlayerID).reputationValue); }