public CTFOrb(Team team, Int16 objectId) { _orbState = CTFOrbState.InHomeShrine; _orbPlayer = null; _orbSign = null; _team = team; _objectId = objectId; }
public void ResetOrb() { lock (SyncRoot) { _orbPlayer = null; _orbSign = null; _orbState = CTFOrbState.InHomeShrine; } }
public CTFOrbState ChangeState(ArenaPlayer arenaPlayer) { lock (SyncRoot) { switch (OrbState) { case CTFOrbState.InHomeShrine: { if (arenaPlayer.ActiveTeam != _team && arenaPlayer.ActiveTeam != Team.Neutral) { _orbSign = null; _orbPlayer = arenaPlayer; _orbState = CTFOrbState.OnEnemyPlayer; } break; } case CTFOrbState.OnEnemyPlayer: { if (arenaPlayer.ActiveTeam != _team) { ResetOrb(); } break; } case CTFOrbState.OnGround: { if (arenaPlayer.ActiveTeam != _team && arenaPlayer.ActiveTeam != Team.Neutral) { _orbSign = null; _orbPlayer = arenaPlayer; _orbState = CTFOrbState.OnEnemyPlayer; } else { ResetOrb(); } break; } } } return(OrbState); }
public CTFOrbState ChangeState(Sign sign) { lock (SyncRoot) { switch (OrbState) { case CTFOrbState.OnEnemyPlayer: { _orbPlayer = null; _orbSign = sign; _orbState = CTFOrbState.OnGround; break; } } } return(OrbState); }