本文整理汇总了C#中CodeEnv.Master.GameContent.Player.SetRelationsWith_Internal方法的典型用法代码示例。如果您正苦于以下问题:C# Player.SetRelationsWith_Internal方法的具体用法?C# Player.SetRelationsWith_Internal怎么用?C# Player.SetRelationsWith_Internal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CodeEnv.Master.GameContent.Player
的用法示例。
在下文中一共展示了Player.SetRelationsWith_Internal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetRelationsWith
/// <summary>
/// Sets the DiplomaticRelationship between this player and <c>otherPlayer</c> who have already met.
/// Then synchronizes <c>otherPlayer</c>'s DiploRelations state with this player, finally raising a
/// <c>relationsChanged</c> event after both states are synchronized.
/// <remarks>Done this way to allow both player's DiploRelationship state to be
/// synchronized BEFORE either raises a relationsChanged event.</remarks>
/// </summary>
/// <param name="otherPlayer">The otherPlayer.</param>
/// <param name="newRelationship">The relationship.</param>
public virtual void SetRelationsWith(Player otherPlayer, DiplomaticRelationship newRelationship) {
D.AssertNotEqual(otherPlayer, TempGameValues.NoPlayer);
D.AssertNotEqual(otherPlayer, this, "OtherPlayer not allowed to be self.");
D.AssertNotEqual(newRelationship, DiplomaticRelationship.None);
D.AssertNotEqual(newRelationship, DiplomaticRelationship.Self);
if (!IsKnown(otherPlayer)) {
D.Error("{0}: {1} not yet met.", DebugName, otherPlayer);
}
DiplomaticRelationship existingRelationship = _currentRelationship[otherPlayer];
D.AssertNotDefault((int)existingRelationship);
D.AssertNotEqual(DiplomaticRelationship.Self, newRelationship);
if (existingRelationship == newRelationship) {
D.Warn("{0} is attempting to set Relations to {1}, a value it already has.", DebugName, newRelationship.GetValueName());
return;
}
_priorRelationship[otherPlayer] = existingRelationship;
_currentRelationship[otherPlayer] = newRelationship;
otherPlayer.SetRelationsWith_Internal(this, newRelationship);
OnRelationsChanged(otherPlayer);
}