Class: U3d::WindowsInstallation

Inherits:
Installation show all
Defined in:
lib/u3d/installation.rb

Constant Summary

Constants inherited from Installation

Installation::NOT_PLAYBACKENGINE_PACKAGES, Installation::PACKAGE_ALIASES

Instance Attribute Summary

Attributes inherited from Installation

#root_path

Instance Method Summary collapse

Methods inherited from Installation

create, #do_not_move!, #do_not_move?, #initialize, #package_installed?

Constructor Details

This class inherits a constructor from U3d::Installation

Instance Method Details

#build_numberObject



376
377
378
# File 'lib/u3d/installation.rb', line 376

def build_number
  helper.build_number
end

#clean_install?Boolean

Returns:

  • (Boolean)


428
429
430
# File 'lib/u3d/installation.rb', line 428

def clean_install?
  do_not_move? || !(root_path =~ UNITY_DIR_CHECK).nil?
end

#default_log_fileObject



380
381
382
383
384
385
386
387
388
389
390
391
392
# File 'lib/u3d/installation.rb', line 380

def default_log_file
  if @logfile.nil?
    begin
      loc_appdata = Utils.windows_local_appdata
      log_dir = File.expand_path('Unity/Editor/', loc_appdata)
      UI.important "Log directory (#{log_dir}) does not exist" unless Dir.exist? log_dir
      @logfile = File.expand_path('Editor.log', log_dir)
    rescue RuntimeError => ex
      UI.error "Unable to retrieve the editor logfile: #{ex}"
    end
  end
  @logfile
end

#exe_pathObject



394
395
396
# File 'lib/u3d/installation.rb', line 394

def exe_path
  File.join(@root_path, 'Editor', 'Unity.exe')
end

#module_name_pattern(module_name) ⇒ Object



415
416
417
418
419
420
421
422
423
424
425
426
# File 'lib/u3d/installation.rb', line 415

def module_name_pattern(module_name)
  case module_name
  when 'Documentation'
    return "#{root_path}/Editor/Data/Documentation/"
  when 'StandardAssets'
    return "#{root_path}/Editor/Standard Assets/"
  when 'MonoDevelop'
    return "#{root_path}/MonoDevelop/"
  else
    UI.crash! "No pattern is known for #{module_name} on Windows"
  end
end

#packagesObject



403
404
405
406
407
408
409
410
411
412
413
# File 'lib/u3d/installation.rb', line 403

def packages
  path = "#{root_path}/Editor/Data/"
  pack = []
  PlaybackEngineUtils.list_module_configs(path).each do |mpath|
    pack << PlaybackEngineUtils.module_name(mpath)
  end
  NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
    pack << module_name unless Dir[module_name_pattern(module_name)].empty?
  end
  pack
end

#pathObject



398
399
400
401
# File 'lib/u3d/installation.rb', line 398

def path
  UI.deprecated("path is deprecated. Use root_path instead")
  @root_path || @path
end

#versionObject



366
367
368
369
370
371
372
373
374
# File 'lib/u3d/installation.rb', line 366

def version
  version = helper.version
  return version unless version.nil?

  path = "#{root_path}/Editor/Data/"
  package = PlaybackEngineUtils.list_module_configs(path).first
  raise "Couldn't find a module under #{path}" unless package
  PlaybackEngineUtils.unity_version(package)
end