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



384
385
386
# File 'lib/u3d/installation.rb', line 384

def build_number
  helper.build_number
end

#clean_install?Boolean

Returns:

  • (Boolean)


439
440
441
# File 'lib/u3d/installation.rb', line 439

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

#default_log_fileObject



388
389
390
391
392
393
394
395
396
397
398
399
400
# File 'lib/u3d/installation.rb', line 388

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 => e
      UI.error "Unable to retrieve the editor logfile: #{e}"
    end
  end
  @logfile
end

#exe_pathObject



402
403
404
# File 'lib/u3d/installation.rb', line 402

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

#module_name_pattern(module_name) ⇒ Object



426
427
428
429
430
431
432
433
434
435
436
437
# File 'lib/u3d/installation.rb', line 426

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



411
412
413
414
415
416
417
418
419
420
421
422
423
424
# File 'lib/u3d/installation.rb', line 411

def packages
  path = "#{root_path}/Editor/Data/"
  pack = []
  IvyPlaybackEngineUtils.list_module_configs(path).each do |mpath|
    pack << IvyPlaybackEngineUtils.module_name(mpath)
  end
  ModulePlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
    pack << ModulePlaybackEngineUtils.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



406
407
408
409
# File 'lib/u3d/installation.rb', line 406

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

#versionObject



373
374
375
376
377
378
379
380
381
382
# File 'lib/u3d/installation.rb', line 373

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

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

  IvyPlaybackEngineUtils.unity_version(package)
end