// Changes a characters weapon public void ChangeCharactersWeapon(int characterIndex, IWeaponBehaviour weapon) { if (weapon == null) throw new ArgumentNullException("IWeaponBehaviour passed to GameManager.ChangeCharatersWeapon was NULL"); if (characterIndex < 0 || characterIndex > characters.Count()) throw new IndexOutOfRangeException(); characters[characterIndex].Weapon = weapon; }
public void ChangeFightingBehaviour(IWeaponBehaviour weaponBehaviour) { if (weaponBehaviour is null) { throw new ArgumentNullException(nameof(weaponBehaviour)); } Console.WriteLine(GetType().Name + " changed the fighting behaviour!"); this.weaponBehaviour = weaponBehaviour; }
public Character CreateInstance(string characterName, IWeaponBehaviour weaponBehaviour) { if (string.IsNullOrEmpty(characterName)) { throw new ArgumentNullException(nameof(characterName)); } if (ReferenceEquals(null, weaponBehaviour)) { throw new ArgumentNullException(nameof(weaponBehaviour)); } Type typeToCreate = GetTypeToCreate(characterName); if (typeToCreate == null) { return(new UnknownCharacter(new UnknownBehaviour())); } return(Activator.CreateInstance(typeToCreate, weaponBehaviour) as Character); }
private void Downgrade() { var previousType = m_behaviour.Type; switch (previousType) { case WeaponType.Bomb: m_behaviour = WeaponFactory.GetCurrentWeapon(WeaponType.Laser); break; case WeaponType.Cross: m_behaviour = WeaponFactory.GetCurrentWeapon(WeaponType.Bomb); break; default: break; } TryUpdateWeapon(previousType); }
public static IWeaponBehaviour GetCurrentWeapon(WeaponType type) { IWeaponBehaviour controller = null; switch (type) { case WeaponType.Laser: controller = new WeaponLaserBehaviour(); break; case WeaponType.Bomb: controller = new WeaponBombBehaviour(); break; case WeaponType.Cross: controller = new WeaponCrossBehaviour(); break; } return(controller); }
public void Upgrade() { SoundManager.PlaySoundEffect("PowerUpCollected"); var previousType = m_behaviour.Type; switch (previousType) { case WeaponType.Laser: m_behaviour = WeaponFactory.GetCurrentWeapon(WeaponType.Bomb); break; case WeaponType.Bomb: m_behaviour = WeaponFactory.GetCurrentWeapon(WeaponType.Cross); break; default: break; } TryUpdateWeapon(previousType); }
void Start() { m_behaviour = WeaponFactory.GetCurrentWeapon(WeaponType.Laser); m_downgradeTime = Time.time; }
public SmurfStorm(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public Character() { Weapon = new AxeBehaviour();//wordt nooit gebruikt }
public abstract void ChangeWeapon(IWeaponBehaviour w);
public override void ChangeWeapon(IWeaponBehaviour w) { weapon = w; }
protected Person(IWeaponBehaviour weaponBehaviour) => _weaponBehaviour = weaponBehaviour;
// Public interface. public void Start() { _input = GetComponent<PlayerInput>(); _current_weapon_behaviour = new IdleWeaponBehaivour(); _animator = GetComponent<Animator>(); }
public Smurfette(IWeaponBehaviour iwb) : base(iwb) { }
public SmurfStorm(IWeaponBehaviour iwb) : base(iwb) { }
public King(IWeaponBehaviour iwb) : base(iwb) { }
public Knight(IWeaponBehaviour iwb) : base(iwb) { }
public Mindil(IWeaponBehaviour iwb) : base(iwb) { }
public UnknownCharacter(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public Bowman(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public Troll(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public void Update() { _current_weapon_behaviour = _current_weapon_behaviour.Update(this, _animator); }
public Troll(IWeaponBehaviour iwb) : base(iwb) { }
public Knight(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public Queen(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public Queen(IWeaponBehaviour iwb) : base(iwb) { }
public Character(IWeaponBehaviour weaponBehaviour) { this.weaponBehaviour = weaponBehaviour; }
public Smurfette(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public King(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }
public void setWeapon(IWeaponBehaviour weapon) => this.weapon = weapon;
public Character() { Weapon = new KnifeBehaviour(); // as default. }
public Swordsman(IWeaponBehaviour weaponBehaviour) : base(weaponBehaviour) { }