人物关系类型.
非特殊关系:
如果有非特殊关系之外的关系, 则非特殊关系自动被移除; 如果没有任何关系, 则非特殊关系自动被添加.
多级关系:
- 血亲要计算两级关系, 即自己的血亲的血亲, 还是是自己的血亲. 两级以上的理论上还是血亲, 但判断时不当作血亲.
- 继亲和义亲都只需要计算一级关系, 一级以上的从理论上就不是继亲和义亲了.
关系间的排斥:
- 已经是血亲关系 (多级), 则不能结成血亲, 继亲, 义亲, 结义关系, 一般情况下也不能结成夫妻关系.
- 同辈血缘关系 (父母, 手足, 子女) 之间可能发生重叠 (比如既是血亲手足又是继亲手足), 此时更亲的可以替换原有的, 同亲疏或更疏则不行 (血亲 > 继亲 > 义亲).
- 已经是血亲, 继亲, 义亲, 结义中的任何一种 (单级), 则不能结成血亲关系 (替换同辈血缘关系除外).
- 已经是血亲, 继亲, 义亲中的任何一种 (单级), 则不能结成义亲, 结义关系.
注意, 所有血缘关系, 在排斥和替换检查时, 都是指名义上的关系.
继承层次SystemObject GameData.Domains.Character.RelationRelationType 命名空间: GameData.Domains.Character.Relation程序集: GameData (在 GameData.exe 中) 版本:1.0.0
语法public static class RelationType
RelationType 类型公开以下成员。
方法 | 名称 | 说明 |
---|
  | AddRelation |
往原有关系组合中添加指定类型, 同时修改角色的各种关系人集合.
此处不进行能否添加的检查, 只进行添加, 替换, 或维持不变.
|
  | AllowAddingAdoptiveBrotherOrSisterRelation |
判断是否允许添加义亲手足关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingAdoptiveChildRelation |
判断是否允许添加义亲子女关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingAdoptiveParentRelation |
判断是否允许添加义亲父母关系
|
  | AllowAddingAdoredRelation |
判断是否允许添加爱慕关系
|
  | AllowAddingBloodBrotherOrSisterRelation |
判断是否允许添加血亲手足关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingBloodChildRelation |
判断是否允许添加血亲子女关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingBloodParentRelation |
判断是否允许添加血亲父母关系
|
  | AllowAddingEnemyRelation |
判断是否允许添加仇视关系
|
  | AllowAddingFriendRelation |
判断是否允许添加朋友关系
|
  | AllowAddingHusbandOrWifeRelation |
判断是否允许添加夫妻关系
|
  | AllowAddingMenteeRelation |
判断是否允许添加徒弟关系
|
  | AllowAddingMentorRelation |
判断是否允许添加师父关系
|
  | AllowAddingRelation |
判断是否允许往原有关系组合中添加指定类型的通用方法.
出于性能上的考虑, 在能够确定关系类型的情况下, 不要调用此通用方法, 而应该调用各种类型的特定方法.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingStepBrotherOrSisterRelation |
判断是否允许添加继亲手足关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingStepChildRelation |
判断是否允许添加继亲子女关系.
注意, 手足以及子女关系不能直接结成; 父母以及夫妻关系必须用包装好的方法结成 (其中会同时建立其他关联关系).
|
  | AllowAddingStepParentRelation |
判断是否允许添加继亲父母关系
|
  | AllowAddingSwornBrotherOrSisterRelation |
判断是否允许添加结义关系
|
  | ContainBloodExclusionRelations |
判断传入的关系类型组合是否包含排斥血亲的关系 (血亲, 继亲, 义亲, 结义, 夫妻)
|
  | ContainBloodRelatedRelations |
判断传入的关系类型组合是否包含任意血缘关系 (血亲, 继亲, 义亲,夫妻)
|
  | ContainBrotherOrSisterRelations |
判断传入的关系类型组合是否包含手足关系
|
  | ContainChildRelations |
判断传入的关系类型组合是否包含子女关系
|
  | ContainDirectBloodRelations |
判断传入的关系类型组合是否包含直接血亲关系
|
  | ContainNegativeRelations |
判断传入的关系类型组合是否包含负面关系
|
  | ContainNonBloodFamilyRelations |
判断传入的关系类型组合是否包含继亲、义亲、结义关系
|
  | ContainParentRelations |
判断传入的关系类型组合是否包含父母关系
|
  | ContainPositiveRelations |
判断传入的关系类型组合是否包含正面关系
|
  | ContainsNonRemovableRelations |
判断传入的关系类型组合是否包含不可移除的关系
|
  | GetBloodRelatedRelation |
从传入的关系类型组合中抽取指定类型的血缘关系
|
  | GetBrotherOrSisterRelation |
从传入的关系类型组合中抽取手足关系
|
  | GetOppositeRelationType |
获取指定关系类型的相对关系.
A 和 B 两人, 以 A 为主体的关系和以 B 为主体的关系相对.
比如在 A 看来, B 是自己的血亲父母, 那么在 B 看来, A 就是自己的血亲子女.
|
  | GetParentRelation |
从传入的关系类型组合中抽取父母关系
|
  | GetRelationType |
把连续的 ID 转化为把不连续的人物关系类型
|
  | GetTypeId |
把不连续的人物关系类型转化为连续的 ID (用于某些根据类型索引对应数据的情形)
|
  | HasRelation |
检查当前类型组合里是否已有指定类型
|
  | IsOneWayRelation |
是否为可单项存在的关系
|
  | NeedRecordOnRemoval |
判断传入的关系类型在移除时是否需要被记录
|
Top
字段
参见