Example #1
0
        public void AdvanceLynchState(string targetName)
        {
            lock (this.lockObj) {
                LynchState oldState = this.UnsafeGetLynchState(targetName);
                LynchState newState;
                switch (oldState)
                {
                case LynchState.Lynchable:
                    this.UnsafeRemoveLynchVotesFor(targetName);
                    newState = LynchState.Protected;
                    break;

                case LynchState.Protected:
                    newState = LynchState.Vulnerable;
                    break;

                default:
                    newState = LynchState.Lynchable;
                    break;
                }
                this.UnsafeSetLynchState(targetName, newState);
            }
        }
Example #2
0
 private LynchState UnsafeSetLynchState(string targetName, LynchState newState)
 {
     return(this.playerLynchStates[targetName] = newState);
 }