class Game

Public Class Methods

reset!() click to toggle source
# File lib/ascension.rb, line 100
def reset!
  Game.collection.remove
  game = Game.new
  side = Side.new(:game => game)
  game.sides << side
  game.sides << Side.new(:game => game)

  game.deck = CenterDeck.starting
  #game.deck << Parse.get("Mephit")
  game.center.fill!
  #side.deck << game.deck.get_one('Temple Librarian')
  #side.deck[-1] = Card::Hero.arha

  #side.deck << Parse.get("Shade ot Black Watch")
  #side.deck << Parse.get("Seer of the Forked Path")
  #side.deck << Parse.get("Demon Slayer")
  game.sides.each do |s|
    s.draw_hand!
  end
  #side.hand << game.deck.get_one('Void Thirster')
  #side.deck << game.deck.get_one('Void Initiate')

  game.mongo.save!
  game
end

Public Instance Methods

addl_json_attributes() click to toggle source
# File lib/ascension.rb, line 38
def addl_json_attributes
  %w(mongo_id engageable_cards constant_cards current_side_index last_update_dt)
end
after_mongo_load() click to toggle source
# File lib/ascension.rb, line 71
def after_mongo_load
  center.game = self
  turn_manager.game = self

  sides.each do |s|
    s.game = self
    %w(discard deck hand played constructs).each do |m|
      s.send(m).side = s
    end
    s.choices.each do |c|
      c.side = s
    end
  end

  card_places.each do |cards|
    cards.hydrate!
  end
end
card_places() click to toggle source
# File lib/ascension.rb, line 63
def card_places
  places = [deck,center,void]
  sides.each do |side|
    places += [side.hand,side.discard,side.deck,side.played]
  end
  places
end
constant_cards() click to toggle source
# File lib/ascension.rb, line 53
def constant_cards
  center_wc.constant_cards
end
current_side_index() click to toggle source
# File lib/ascension.rb, line 56
def current_side_index
  turn_manager.current_side_index
end
engageable_cards() click to toggle source
# File lib/ascension.rb, line 50
def engageable_cards
  turn_manager.current_side.engageable_cards
end
find_card(card_id) click to toggle source
# File lib/ascension.rb, line 90
def find_card(card_id)
  raise "blank card id" if card_id.blank?
  card_places.each do |cards|
    res = cards.find { |x| x.card_id.to_s == card_id.to_s }
    return res if res
  end
  raise "no card #{card_id}"
end
last_update_dt() click to toggle source
# File lib/ascension.rb, line 59
def last_update_dt
  Time.now
end