public void SetUp() { this._missionGiverComponent = new MissionGiverComponent(); this._missionInventoryComponent = new MissionInventoryComponent(); this._missionNpcComponent = new MissionNPCComponent() { AcceptsMission = true, OffersMission = true, }; }
/// <summary> /// For the faction initial missions this sets their state from started to ready to complete on an interaction /// </summary> /// <param name="gameObject">The game object to interact with</param> /// <param name="missions">The missions inventory of a player</param> private static async Task HandleFactionVendorInteraction(GameObject gameObject, MissionInventoryComponent missions) { // For some reason the targets of faction missions are different game objects than the one you interact with var targetLot = (int)gameObject.Lot switch { Lot.SentinelFactionVendor => Lot.SentinelFactionVendorProxy, Lot.ParadoxFactionVendor => Lot.ParadoxFactionVendorProxy, Lot.AssemblyFactionVendor => Lot.AssemblyFactionVendorProxy, Lot.VentureFactionVendor => Lot.VentureFactionVendorProxy, _ => default }; if (targetLot != default) { await missions.GoToNpcAsync(targetLot); } }