public override void Dispatch(EventListener listener) { // This if statement should be present in every Dispatch-method // However, the class "PlayerShootListener" will be changed to the relevant listener class if (!(listener is HealthChangeListener)) { return; } // Type cast to correct listener class, "PlayerShootListener" is because this is the PlayerShootEvent HealthChangeListener l = (HealthChangeListener)listener; // Call the correct method l.HealthChange(this); }
///configures this Entity's HealthChangeListener to be the method provided, ///so that the provided method will be called whenever this Entity's health changes public int SetUIHealthChangeListener(HealthChangeListener x) { uiHealthChangeListener = x; return(currentHealth); }