Module: SDCMeta::AIBackend

Included in:
SDC::Entity, SDC::Map
Defined in:
lib/include/AIBackend.rb

Instance Method Summary collapse

Instance Method Details

#add_ai_page(method_symbol, index) ⇒ Object



34
35
36
# File 'lib/include/AIBackend.rb', line 34

def add_ai_page(method_symbol, index)
	@ai_pages[index] = SDC::AI::Script.new {self.send(method_symbol)}
end

#ai_running?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/include/AIBackend.rb', line 26

def ai_running?
	return current_ai&.running?
end

#ai_scriptObject



42
43
44
# File 'lib/include/AIBackend.rb', line 42

def ai_script
	SDC::AI::done
end

#current_aiObject



30
31
32
# File 'lib/include/AIBackend.rb', line 30

def current_ai
	return @ai_pages[@ai_page]
end

#master_ai_running?Boolean

Special methods which are called and used by the AI system

Returns:

  • (Boolean)


22
23
24
# File 'lib/include/AIBackend.rb', line 22

def master_ai_running?
	return @master_ai.running?
end

#master_ai_scriptObject



38
39
40
# File 'lib/include/AIBackend.rb', line 38

def master_ai_script
	SDC::AI::done
end

#setup_aiObject

Use these two methods to setup and tick any class with an AI system



9
10
11
12
13
# File 'lib/include/AIBackend.rb', line 9

def setup_ai
	@master_ai = SDC::AI::Script.new {master_ai_script}
	@ai_pages = [SDC::AI::Script.new {ai_script}]
	@ai_page = 0
end

#tick_aiObject



15
16
17
18
# File 'lib/include/AIBackend.rb', line 15

def tick_ai
	@master_ai.tick if master_ai_running?
	current_ai.tick if ai_running?
end