по этому кусочку кода ничего непонятно
то что вам нужно называется "инверсия контроля", я
писал об этом в своём блоге
нужен интрефейс "оружие", имплементация которого будет передаваться персонажу извне, а пока оружие не создано можно передавать пустышку которая имлементирует интерфес но ничего не делает