public override bool ShouldRunState(AgentController owner, out StateConfig config) { if (!owner.IsInState <MineCurrencyState>(false)) { var thing = App.AIBlackboard.GetAvailableMinePoints(); Inventory minePoint = thing.Find(inventory => Vector3.Distance(inventory.transform.position, owner.transform.position) < DistanceThreshold(owner)); if (minePoint != null) { config = new MineCurrencyConfig(owner, minePoint); return(true); } } config = null; return(false); }
public MineCurrencyState(MineCurrencyConfig config) : base(config) { ToMine = config.ToMine; }