mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 21:24:59 +00:00
56 lines
1.7 KiB
Ruby
56 lines
1.7 KiB
Ruby
class PokemonTemp
|
|
attr_accessor :tempEvents
|
|
attr_accessor :silhouetteDirection
|
|
|
|
def tempEvents
|
|
@tempEvents = {} if !@tempEvents
|
|
return @tempEvents
|
|
end
|
|
|
|
def pbClearTempEvents()
|
|
return if !@tempEvents || @tempEvents.empty?
|
|
@tempEvents.keys.each { |map_id|
|
|
map = $MapFactory.getMapNoAdd(map_id)
|
|
@tempEvents[map_id].each { |event|
|
|
$game_self_switches[[map_id, event.id, "A"]] = false
|
|
$game_self_switches[[map_id, event.id, "B"]] = false
|
|
$game_self_switches[[map_id, event.id, "C"]] = false
|
|
$game_self_switches[[map_id, event.id, "D"]] = false
|
|
|
|
map.events[event.id].erase if map.events[event.id]
|
|
}
|
|
}
|
|
@tempEvents = {}
|
|
@silhouetteDirection = nil
|
|
end
|
|
|
|
def createTempEvent(eventTemplateID, map_id, position = [0, 0],direction=nil)
|
|
template_event = $MapFactory.getMap(MAP_TEMPLATE_EVENTS,false).events[eventTemplateID]
|
|
key_id = ($game_map.events.keys.max || -1) + 1
|
|
|
|
rpgEvent= template_event.event.dup
|
|
rpgEvent.id = key_id
|
|
gameEvent = Game_Event.new($game_map.map_id, rpgEvent, $game_map)
|
|
|
|
gameEvent.moveto(position[0], position[1])
|
|
gameEvent.direction = direction if direction
|
|
|
|
registerTempEvent(map_id, gameEvent)
|
|
|
|
$game_map.events[key_id] = gameEvent
|
|
sprite = Sprite_Character.new(Spriteset_Map.viewport, $game_map.events[key_id])
|
|
$scene.spritesets[$game_map.map_id] = Spriteset_Map.new($game_map) if $scene.spritesets[$game_map.map_id] == nil
|
|
$scene.spritesets[$game_map.map_id].character_sprites.push(sprite)
|
|
return gameEvent
|
|
end
|
|
|
|
def registerTempEvent(map, event)
|
|
@tempEvents = {} if !@tempEvents
|
|
mapEvents = @tempEvents.has_key?(map) ? @tempEvents[map] : []
|
|
mapEvents.push(event)
|
|
@tempEvents[map] = mapEvents
|
|
end
|
|
|
|
end
|
|
|