public void AddRole(string role, AspectDependencyPosition position) { if (ContainsRole(role)) { throw new InvalidOperationException( string.Format("Aspect '{0}' already defined role '{1}'", Aspect.AspectAttribute.AttributeType.Name, role)); } switch (position) { case AspectDependencyPosition.Before: BeforeRoles.Add(role); break; case AspectDependencyPosition.Any: AnyRoles.Add(role); break; case AspectDependencyPosition.After: AfterRoles.Add(role); break; default: throw new ArgumentOutOfRangeException("position"); } }
/// <summary> 给全局前后手赋值 </summary> /// <param name="model"></param> /// <param name="flag">是否先手</param> private void GiveFirstAfter(PlayMatrix model, bool flag) { if (model.r1 != null) { if (flag) { FirstRoles.Add(1, model.r1.id); } else { AfterRoles.Add(1, model.r1.id); } } if (model.r2 != null) { if (flag) { FirstRoles.Add(2, model.r2.id); } else { AfterRoles.Add(2, model.r2.id); } } if (model.r3 != null) { if (flag) { FirstRoles.Add(3, model.r3.id); } else { AfterRoles.Add(3, model.r3.id); } } if (model.r4 != null) { if (flag) { FirstRoles.Add(4, model.r4.id); } else { AfterRoles.Add(4, model.r4.id); } } if (model.r5 != null) { if (flag) { FirstRoles.Add(5, model.r5.id); } else { AfterRoles.Add(5, model.r5.id); } } }