private void Scan(Vector2d center, long radius) { InfluenceManager.ScanAll( center, radius, this.AgentConditional, this.BucketConditional, ScanOutput ); }
internal static void Initialize(ILockstepEventsHandler[] helpers, NetworkHelper networkHelper) { PlayRate = FixedMath.One; //PauseCount = 0; if (!Loaded) { Setup(); Loaded = true; } DefaultMessageRaiser.EarlyInitialize(); LSDatabaseManager.Initialize(); LSUtility.Initialize(1); InfluenceCount = 0; Time.timeScale = 1f; Stalled = true; FrameCount = 0; InfluenceFrameCount = 0; MainNetworkHelper = networkHelper; AgentController.Initialize(); ClientManager.Initialize(MainNetworkHelper); BehaviourHelperManager.Initialize(helpers); GridManager.Initialize(); CoroutineManager.Initialize(); FrameManager.Initialize(); CommandManager.Initialize(); PhysicsManager.Initialize(); PlayerManager.Initialize(); // GridBuilder.Initialize(); //Initialized in UserInputHelper // SelectionManager.Initialize (); InfluenceManager.Initialize(); ProjectileManager.Initialize(); DefaultMessageRaiser.LateInitialize(); BehaviourHelperManager.LateInitialize(); if (onInitialize != null) { onInitialize(); } }
protected virtual LSAgent DoScan() { Func <LSAgent, bool> agentConditional = AgentConditional; LSAgent agent = InfluenceManager.Scan( this.cachedBody.Position, this.Sight, agentConditional, (bite) => { return((this.Agent.Controller.GetAllegiance(bite) & this.TargetAllegiance) != 0); } ); return(agent); }
internal static void Simulate() { MainNetworkHelper.Simulate(); DefaultMessageRaiser.EarlySimulate(); if (InfluenceCount == 0) { InfluenceSimulate(); InfluenceCount = InfluenceResolution - 1; if (FrameManager.CanAdvanceFrame == false) { Stalled = true; return; } Stalled = false; FrameManager.Simulate(); InfluenceFrameCount++; } else { InfluenceCount--; } if (Stalled || IsPaused) { return; } if (FrameCount == 0) { GameStart(); } BehaviourHelperManager.Simulate(); AgentController.Simulate(); PhysicsManager.Simulate(); CoroutineManager.Simulate(); InfluenceManager.Simulate(); ProjectileManager.Simulate(); LateSimulate(); FrameCount++; }
protected virtual RTSAgent DoScan() { Func <RTSAgent, bool> agentConditional = AgentConditional; RTSAgent agent = null; if (agentConditional.IsNotNull()) { agent = InfluenceManager.Scan( this.cachedBody.Position, scanRange, agentConditional, (bite) => { return((cachedAgent.Controller.GetAllegiance(bite) & _targetAllegiance) != 0); } ); } return(agent); }