public MetaFactory(IPowerState powerState, ContentManager manager) { //this might not work fyi. consider using pState.GetType() == typeof(SmallState) // as a possible fix. powerUpstate should only be null during avatar initialization if (powerState is SmallState || powerState is null) { localFactory = new SmallMarioFactory(manager); } else if (powerState is SuperState) { localFactory = new SuperMarioFactory(manager); } else if (powerState is FireState) { localFactory = new FireMarioFactory(manager); } }
public AbsMovementState(AbsAvatarObject avatar) { this.avatar = avatar; factory = new MetaFactory(avatar.powerUpState, avatar.content); avatar.Sprite = factory.build(this); }
public AbsPowerState(AbsAvatarObject avatar) { this.avatar = avatar; factory = new MetaFactory(this, avatar.content); avatar.Sprite = factory.build(avatar.movementState); }