public void ChangeWeapon(int id) { currentWeapon.CleanUpWeapon(controller); currentWeapon = WeaponBase.GetNewWeapon(id); Debug.Assert(currentWeapon != null ); currentWeapon.InitWeapon(controller); /// clean up objects on model /// (weapon, skill ect, any game object which differs ) /// /// spawn new objects onto model }