public void OnStart() { snapshot = new StateSnapshot(); snapshot.UpdateState(intelManager); activeTactics = new List <IReplaceableModule>(); economyModule = new EconomyModule(snapshot, intelManager, productionManager, combatManager, rawManager); abathur.AddToGameloop(economyModule); intelManager.Handler.RegisterHandler(Case.StructureAddedSelf, OnStructureBuilt); // Startup Queue productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SupplyDepot, lowPriority: false, spacing: 1); productionManager.QueueUnit(BlizzardConstants.Unit.Refinery, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.Barracks, lowPriority: false, spacing: 3); productionManager.QueueUnit(BlizzardConstants.Unit.SupplyDepot, lowPriority: true, spacing: 1); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.BarracksTechLab, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.Barracks, lowPriority: false, spacing: 3); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.BarracksReactor, lowPriority: false); productionManager.QueueTech(BlizzardConstants.Research.CombatShield, lowPriority: false); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true); productionManager.QueueUnit(BlizzardConstants.Unit.SCV, lowPriority: true); }
public override async Task <bool> ActivateAsync(IPost n, IShell shell, Server core) { if (n.Text != null && n.Text.IsMatch("(何|な[んに])か(喋|しゃべ|話[しせそ])")) { await shell.ReplyAsync(n, MapVariables(ExtractTopics().Random())); core.LikeWithLimited(n.User); EconomyModule.Pay(n, shell, core); return(true); } return(false); }