public int Reconstruct(AgentController agentController, byte[] source, int startIndex)
        {
            curIndex = startIndex;
            Header = BitConverter.ToUInt64 (source, curIndex);
            curIndex += 8;

            if (selectedAgentLocalIDs == null)
                selectedAgentLocalIDs = new FastList<int> (64);
            else
                selectedAgentLocalIDs.FastClear ();

            for (i = 0; i < 64; i++) {
                castedBigIndex = (ulong)1 << i;
                if ((Header & castedBigIndex) == castedBigIndex) {
                    CullGroup = source [curIndex++];
                    for (j = 0; j < 8; j++) {
                        castedSmallIndex = (byte)(1 << j);
                        if ((CullGroup & (castedSmallIndex)) == castedSmallIndex)
                        {
                            selectedAgentLocalIDs.Add (i * 8 + j);
                        }
                    }
                }
            }
            return curIndex - startIndex;
        }
 public static void JoinTeam(AgentController controller)
 {
     Teams [nextDistribute++].AddController (controller);
     if (nextDistribute >= Teams.Count)
     {
         nextDistribute = 0;
     }
 }
 public static void AddAgentController(AgentController agentController)
 {
     agentControllers.Add (agentController);
     if (agentController.ControllerID >= HasAgentController.Length)
     {
         Array.Resize (ref HasAgentController, HasAgentController.Length * 2);
     }
     HasAgentController[agentController.ControllerID] = true;
 }
Example #4
0
        public void Initialize()
        {
            Diplomacy.FastClear ();
            for (int i = 0; i < TeamManager.Teams.Count; i++) {
                Team team = TeamManager.Teams[i];
                if (team != this)
                    Diplomacy.AddAt (AllegianceType.Neutral, team.ID);
            }
            TeamManager.UpdateDiplomacy (this);
            this.SetAllegiance (this, AllegianceType.Friendly);

            MainController = new AgentController();
            MainController.JoinTeam (this);
        }
Example #5
0
        public void Initialize()
        {
            Diplomacy.FastClear();
            for (int i = 0; i < TeamManager.Teams.Count; i++)
            {
                Team team = TeamManager.Teams[i];
                if (team != this)
                {
                    this.SetAllegiance(team, AllegianceType.Neutral);
                }
            }
            TeamManager.UpdateDiplomacy(this);

            TeamManager.Teams.Add(this);
            this.SetAllegiance(this, AllegianceType.Friendly);

            MainController = AgentController.Create();
            MainController.JoinTeam(this);
        }
        internal static void Execute(Command com)
        {
            if (!GameStarted)
            {
                Debug.LogError("BOOM");
                return;
            }
            if (com.ControllerID != byte.MaxValue)
            {
                AgentController cont = AgentController.InstanceManagers [com.ControllerID];
                cont.Execute(com);
            }
            else
            {
                BehaviourHelperManager.Execute(com);
            }

            DefaultMessageRaiser.Execute(com);
        }
Example #7
0
        internal static void Simulate()
        {
            MainGameManager.MainNetworkHelper.Simulate();
            DefaultMessageRaiser.EarlySimulate();
            if (InfluenceCount == 0)
            {
                InfluenceSimulate();
                InfluenceCount = InfluenceResolution - 1;
                if (FrameManager.CanAdvanceFrame == false)
                {
                    Stalled = true;
                    return;
                }
                Stalled = false;
                if (InfluenceFrameCount == 0)
                {
                    GameStart();
                }
                FrameManager.Simulate();
                InfluenceFrameCount++;
            }
            else
            {
                InfluenceCount--;
            }
            if (Stalled || IsPaused)
            {
                return;
            }


            BehaviourHelperManager.Simulate();
            AgentController.Simulate();
            PhysicsManager.Simulate();
            CoroutineManager.Simulate();
            InfluenceManager.Simulate();
            ProjectileManager.Simulate();

            TriggerManager.Simulate();

            LateSimulate();
            FrameCount++;
        }
Example #8
0
        public void Initialize(
            AgentController controller,
            ushort localID,
            ushort globalID,
            Vector2d position = default(Vector2d))
        {
            LocalID    = localID;
            GlobalID   = globalID;
            Controller = controller;

            IsActive     = true;
            CheckCasting = true;
            Selectable   = true;


            CachedGameObject.SetActive(true);
            if (Body.IsNotNull())
            {
                Body.Initialize(position, Vector2d.up);
            }

            if (Influencer.IsNotNull())
            {
                Influencer.Initialize();
            }

            if (Animator.IsNotNull())
            {
                Animator.Initialize();
            }

            abilityManager.Initialize();
            if (StatsBarer != null)
            {
                StatsBarer.Initialize();
            }
            if (Ringer.IsNotNull())
            {
                Ringer.Initialize();
                IsSelected    = false;
                IsHighlighted = false;
            }
        }
        protected override void OnLateApply()
        {
            foreach (EnvironmentBodyInfo info in EnvironmentBodies)
            {
                info.Body.Initialize(info.Position, info.Rotation);
            }

            foreach (EnvironmentObject obj in EnvironmentObjects)
            {
                obj.LateInitialize();
            }
            foreach (var agentInfo in EnvironmentAgents)
            {
                AgentController.DefaultController.AddAgent(agentInfo.Agent);
                agentInfo.Agent.Setup(AgentController.GetAgentInterfacer(agentInfo.AgentCode));
                agentInfo.Agent.Initialize(agentInfo.Position.ToVector2d(), agentInfo.Rotation);
                agentInfo.Agent.Body.HeightPos = agentInfo.Position.z;
            }
        }
        public static void Initialize(GameManager gameManager)
        {
            MainGameManager = gameManager;


            SimulationTimer.Reset();
            SimulationTimer.Start();
            LSDatabaseManager.Initialize();
            LSUtility.Initialize(1);
            Interfacing.Initialize();
            InfluenceCount = 0;
            Time.timeScale = 1f;
            Stalled        = true;

            FrameCount          = 0;
            InfluenceFrameCount = 0;

            GridManager.Generate();
            GridManager.Initialize();

            TeamManager.Initialize();

            CoroutineManager.Initialize();
            FrameManager.Initialize();

            CommandManager.Initialize();
            BehaviourHelper.GlobalInitialize();

            AgentController.Initialize();
            TeamManager.LateInitialize();

            PhysicsManager.Initialize();
            PlayerManager.Initialize();
            SelectionManager.Initialize();
            InfluenceManager.Initialize();
            ProjectileManager.Initialize();

            LoadSceneObjects();

            Started = true;
            ClientManager.Initialize();
        }
Example #11
0
        public void Initialize(
            AgentController controller,
            ushort localID,
            ushort globalID,
            Vector2d position = default(Vector2d),
            Vector2d rotation = default(Vector2d))
        {
            LocalID    = localID;
            GlobalID   = globalID;
            Controller = controller;

            IsActive     = true;
            CheckCasting = true;
            Selectable   = true;


            CachedGameObject.SetActiveIfNot(true);
            if (Body.IsNotNull())
            {
                Body.Initialize(new Vector2dHeight(position), rotation);
            }

            if (Triggers.IsNotNull())
            {
                foreach (LSTrigger trigger in Triggers)
                {
                    trigger.Initialize();
                }
            }

            if (Influencer.IsNotNull())
            {
                Influencer.Initialize();
            }

            if (Animator.IsNotNull())
            {
                Animator.Initialize();
            }

            abilityManager.Initialize();
        }
        public static void ChangeController(LSAgent agent, AgentController newCont)
        {
            AgentController leController = agent.Controller;

            leController.LocalAgentActive [agent.LocalID] = false;
            GlobalAgentActive[agent.GlobalID]             = false;
            leController.OpenLocalIDs.Add(agent.LocalID);
            OpenGlobalIDs.Add(agent.GlobalID);

            if (newCont == null)
            {
                agent.InitializeController(null, 0, 0);
            }
            else
            {
                agent.Influencer.Deactivate();

                newCont.AddAgent(agent);
                agent.Influencer.Initialize();
            }
        }
        public static void Deactivate()
        {
            for (int i = 0; i < PeakGlobalID; i++)
            {
                if (GlobalAgentActive [i])
                {
                    DestroyAgent(GlobalAgents [i], true);
                }
            }
            CheckDestroyAgent();

            for (int i = 0; i < DeathingAgents.PeakCount; i++)
            {
                if (DeathingAgents.arrayAllocation [i])
                {
                    LSAgent agent = DeathingAgents [i];
                    AgentController.CompleteLife(agent);
                }
            }
            DeathingAgents.FastClear();
        }
Example #14
0
        public static void Deactivate()
        {
            if (Started == false)
            {
                return;
            }
            Selector.Clear();
            AgentController.Deactivate();
            BehaviourHelper.GlobalDeactivate();
            ProjectileManager.Deactivate();
            ClientManager.Deactivate();

            foreach (LSManager manager in Managers)
            {
                manager.Deactivate();
            }

            TeamManager.Deactivate();
            ClientManager.NetworkHelper.Disconnect();
            Started = false;
        }
        public static void Simulate()
        {
            if (InfluenceCount == 0)
            {
                InfluenceSimulate();
                InfluenceCount = InfluenceResolution - 1;
                if (FrameManager.CanAdvanceFrame == false)
                {
                    Stalled = true;
                    return;
                }
                Stalled = false;
                FrameManager.Simulate();
                InfluenceFrameCount++;
            }
            else
            {
                InfluenceCount--;
            }
            if (Stalled)
            {
                return;
            }
            if (FrameCount == 0)
            {
                StartGame();
            }
            BehaviourHelper.GlobalSimulate();
            AgentController.Simulate();
            PhysicsManager.Simulate();
            CoroutineManager.Simulate();
            InfluenceManager.Simulate();
            ProjectileManager.Simulate();
            TestManager.Simulate();

            TeamManager.Simulate();

            LateSimulate();
            FrameCount++;
        }
Example #16
0
        protected override void OnLateApply()
        {
            foreach (EnvironmentBodyInfo info in EnvironmentBodies)
            {
                info.Body.Initialize(info.Position, info.Rotation);
            }

            foreach (EnvironmentObject obj in EnvironmentObjects)
            {
                obj.LateInitialize();
            }
            var environmentController = AgentControllerHelper.Instance.GetInstanceManager(AgentControllerHelper.Instance.EnvironmentController);

            foreach (var agentInfo in EnvironmentAgents)
            {
                var agent = agentInfo.Agent;
                agentInfo.Agent.Setup(AgentController.GetAgentInterfacer(agentInfo.AgentCode));
                environmentController.InitializeAgent(agent, agentInfo.Position.ToVector2d(), agentInfo.Rotation);
                agentInfo.Agent.Body.HeightPos = agentInfo.Position.z;
                agentInfo.Agent.TypeIndex      = AgentController.UNREGISTERED_TYPE_INDEX;
            }
        }
        internal static void Deactivate()
        {
            DefaultMessageRaiser.EarlyDeactivate();

            if (GameStarted == false)
            {
                return;
            }
            Selector.Clear();
            AgentController.Deactivate();
            BehaviourHelperManager.Deactivate();
            ProjectileManager.Deactivate();
            EffectManager.Deactivate();
            ClientManager.Deactivate();

            ClientManager.Quit();
            PhysicsManager.Deactivate();
            GameStarted = false;
            LSServer.Deactivate();
            DefaultMessageRaiser.LateDeactivate();
            CoroutineManager.Deactivate();
        }
        internal static void Deactivate()
        {
            DefaultMessageRaiser.EarlyDeactivate();

            if (Started == false)
            {
                return;
            }
            Selector.Clear();
            AgentController.Deactivate();
            MainGameManager.MainInterfacingHelper.Deactivate();
            BehaviourHelperManager.Deactivate();
            ProjectileManager.Deactivate();
            ClientManager.Deactivate();
            LockstepManager.Deactivate();

            TeamManager.Deactivate();
            ClientManager.NetworkHelper.Disconnect();
            Started = false;

            DefaultMessageRaiser.LateDeactivate();
        }
Example #19
0
        /// <summary>
        /// Sends the command for all AgentControllers under the control of this PlayerManager...
        /// Mainly for shared control capabilities
        /// </summary>
        /// <param name="com">COM.</param>
        public static void SendCommand(Command com)
        {
            com.Add <Selection>(new Selection());
            for (int i = 0; i < AgentControllers.Count; i++)
            {
                AgentController cont = AgentControllers[i];
                if (cont.SelectedAgents.Count > 0)
                {
                    com.ControllerID = cont.ControllerID;

                    if (cont.SelectionChanged)
                    {
                        com.SetData <Selection>(new Selection(cont.SelectedAgents));
                        cont.SelectionChanged = false;
                    }
                    else
                    {
                        com.ClearData <Selection> ();
                    }
                    CommandManager.SendCommand(com);
                }
            }
        }
 public static void RemoveController(AgentController agentController)
 {
     Selector.Clear();
     AgentControllers.RemoveAt(agentController.PlayerIndex);
     if (MainController == agentController)
     {
         if (AgentControllers.Count == 0)
         {
             MainController = null;
         }
         else
         {
             for (int i = 0; i < AgentControllers.PeakCount; i++)
             {
                 if (AgentControllers.arrayAllocation [i])
                 {
                     MainController = AgentControllers [i];
                     break;
                 }
             }
         }
     }
 }
Example #21
0
 public static void SendCommand(Command com)
 {
     com.Select = new Selection();
     for (int i = 0; i < AgentControllers.Count; i++)
     {
         AgentController cont = AgentControllers[i];
         if (cont.SelectedAgents.Count > 0)
         {
             if (cont.SelectionChanged)
             {
                 com.Select            = new Selection(cont.SelectedAgents);
                 cont.SelectionChanged = false;
             }
             else
             {
                 com.HasSelect = false;
             }
             com.ControllerID = cont.ControllerID;
             com.Select.Serialize(AgentControllers[i].SelectedAgents);
             CommandManager.SendCommand(com);
         }
     }
 }
        public static void RegisterRawAgent(LSAgent agent)
        {
            var             agentCodeID = AgentController.GetAgentCodeIndex(agent.MyAgentCode);
            FastList <bool> typeActive;

            if (!AgentController.TypeAgentsActive.TryGetValue(agentCodeID, out typeActive))
            {
                typeActive = new FastList <bool> ();
                TypeAgentsActive.Add(agentCodeID, typeActive);
            }
            FastList <LSAgent> typeAgents;

            if (!TypeAgents.TryGetValue(agentCodeID, out typeAgents))
            {
                typeAgents = new FastList <LSAgent> ();
                TypeAgents.Add(agentCodeID, typeAgents);
            }

            //TypeIndex of ushort.MaxValue means that this agent isn't registered for the pool
            agent.TypeIndex = (ushort)(typeAgents.Count);
            typeAgents.Add(agent);
            typeActive.Add(true);
        }
        public static void Setup()
        {
            UnityInstance = GameObject.CreatePrimitive(PrimitiveType.Sphere).AddComponent <MonoBehaviour> ();
            UnityInstance.GetComponent <Renderer>().enabled = false;
            GameObject.DontDestroyOnLoad(UnityInstance.gameObject);

            AbilityInterfacer.Setup();

            AgentController.Setup();
            TeamManager.Setup();

            ProjectileManager.Setup();
            EffectManager.Setup();
            BehaviourHelper.GlobalSetup();
            PhysicsManager.Setup();
            ClientManager.Setup(MainGameManager.MainNetworkHelper);
            InterfaceManager.Setup();

            Application.targetFrameRate = 30;
            Time.fixedDeltaTime         = BaseDeltaTime;
            Time.maximumDeltaTime       = Time.fixedDeltaTime * 2;

            InputManager.Setup();
        }
Example #24
0
        protected override void OnExecute(Command com)
        {
            Agent.StopCast(this.ID);
            Vector2d    pos;
            DefaultData target;

            if (com.TryGetData <Vector2d>(out pos) && CanMove)
            {
                if (HasTarget)
                {
                    cachedMove.RegisterGroup(false);
                }
                else
                {
                    cachedMove.RegisterGroup();
                }

                isAttackMoving = true;
                isFocused      = false;
            }
            else if (com.TryGetData <DefaultData>(out target) && target.Is(DataType.UShort))
            {
                isFocused      = true;
                isAttackMoving = false;
                LSAgent tempTarget;
                ushort  targetValue = (ushort)target.Value;
                if (AgentController.TryGetAgentInstance(targetValue, out tempTarget))
                {
                    Engage(tempTarget);
                }
                else
                {
                    Debug.Log("nope");
                }
            }
        }
Example #25
0
 public void AddController(AgentController controller)
 {
     controller.JoinTeam(this);
 }
 public AttackerInfo(LSAgent attacker, AgentController controller)
 {
     Attacker   = attacker;
     Controller = controller;
 }
 private static void UpdateDiplomacy(AgentController newCont)
 {
     for (int i = 0; i < InstanceManagers.Count; i++) {
         InstanceManagers[i].DiplomacyFlags.AddAt (AllegianceType.Neutral,newCont.ControllerID);
     }
 }
 public void SetAllegiance(AgentController otherController, AllegianceType allegianceType)
 {
     DiplomacyFlags[otherController.ControllerID] = allegianceType;
 }
 public static void Initialize()
 {
     MainController = null;
     AgentControllers.FastClear();
 }
 //Backward compat.
 public static Command GenerateSpawnCommand(AgentController cont, string agentCode, int count, Vector2d position)
 {
     return(Lockstep.Example.ExampleSpawner.GenerateSpawnCommand(cont, agentCode, count, position));
 }
        public static void Update()
        {
            MousePosition      = Input.mousePosition;
            MouseWorldPosition = GetWorldPos(MousePosition);
            CanClearSelection  = !Input.GetKey(KeyCode.LeftShift);
            GetMousedAgent();



            if (Boxing)
            {
                BoxingTime += Time.deltaTime;
                if (MousePosition != BoxEnd)
                {
                    Vector2 RaycastTopLeft;
                    Vector2 RaycastTopRight;
                    Vector2 RaycastBotLeft;
                    Vector2 RaycastBotRight;

                    BoxEnd = MousePosition;
                    if (BoxStart.x < BoxEnd.x)
                    {
                        RaycastTopLeft.x  = BoxStart.x;
                        RaycastBotLeft.x  = BoxStart.x;
                        RaycastTopRight.x = BoxEnd.x;
                        RaycastBotRight.x = BoxEnd.x;
                    }
                    else
                    {
                        RaycastTopLeft.x  = BoxEnd.x;
                        RaycastBotLeft.x  = BoxEnd.x;
                        RaycastTopRight.x = BoxStart.x;
                        RaycastBotRight.x = BoxStart.x;
                    }
                    if (BoxStart.y < BoxEnd.y)
                    {
                        RaycastBotLeft.y  = BoxStart.y;
                        RaycastBotRight.y = BoxStart.y;
                        RaycastTopLeft.y  = BoxEnd.y;
                        RaycastTopRight.y = BoxEnd.y;
                    }
                    else
                    {
                        RaycastBotLeft.y  = BoxEnd.y;
                        RaycastBotRight.y = BoxEnd.y;
                        RaycastTopLeft.y  = BoxStart.y;
                        RaycastTopRight.y = BoxStart.y;
                    }

                    Box_TopLeft     = GetWorldPos(RaycastTopLeft);
                    Box_TopRight    = GetWorldPos(RaycastTopRight);
                    Box_BottomLeft  = GetWorldPos(RaycastBotLeft);
                    Box_BottomRight = GetWorldPos(RaycastBotRight);
                }

                ClearBox();

                int lecount = 0;
                if ((BoxEnd - BoxStart).sqrMagnitude >= MinBoxSqrDist)
                {
                    for (i = 0; i < PlayerManager.agentControllers.Count; i++)
                    {
                        AgentController agentController = PlayerManager.agentControllers [i];
                        for (j = 0; j < AgentController.MaxAgents; j++)
                        {
                            if (agentController.AgentActive [j])
                            {
                                curAgent = agentController.Agents [j];
                                if (curAgent.cachedRenderer.isVisible)
                                {
                                    Vector2 agentPos = new Vector2(curAgent.transform.position.x, curAgent.transform.position.z);
                                    Edge  = Box_TopRight - Box_TopLeft;
                                    Point = agentPos - Box_TopLeft;
                                    if (DotEdge() < 0)
                                    {
                                        Edge  = Box_BottomRight - Box_TopRight;
                                        Point = agentPos - Box_TopRight;
                                        if (DotEdge() < 0)
                                        {
                                            Edge  = Box_BottomLeft - Box_BottomRight;
                                            Point = agentPos - Box_BottomRight;
                                            if (DotEdge() < 0)
                                            {
                                                Edge  = Box_TopLeft - Box_BottomLeft;
                                                Point = agentPos - Box_BottomLeft;
                                                if (DotEdge() < 0)
                                                {
                                                    BoxAgent(curAgent);
                                                    continue;
                                                }
                                            }
                                        }
                                    }
                                }
                                if (curAgent.BoxVersion == BoxedAgents._BufferVersion)
                                {
                                    curAgent.IsHighlighted = false;
                                }
                            }
                        }
                    }
                }

                if (Input.GetMouseButtonUp(0))
                {
                    if (CanClearSelection)
                    {
                        ClearSelection();
                    }
                    SelectBoxedAgents();
                    SelectAgent(MousedAgent);

                    Boxing = false;
                }
            }
            else
            {
                if (Input.GetMouseButtonDown(0))
                {
                    CheckBoxDistance = true;
                    Boxing           = true;
                    BoxingTime       = 0f;
                    BoxStart         = MousePosition;
                    BoxEnd           = MousePosition;
                }
            }
        }
Example #32
0
 public void AddController(AgentController controller)
 {
     controller.JoinTeam (this);
 }
Example #33
0
 public AllegianceType GetAllegiance(AgentController controller)
 {
     return GetAllegiance (controller.MyTeam);
 }
Example #34
0
 internal void InitializeController(AgentController controller, ushort localID, ushort globalID)
 {
     this.Controller = controller;
     this.LocalID    = localID;
     this.GlobalID   = globalID;
 }
Example #35
0
 public AllegianceType GetAllegiance(AgentController controller)
 {
     return(GetAllegiance(controller.MyTeam));
 }
 public static AllegianceType GetAllegiance(AgentController otherController)
 {
     if (Selector.MainSelectedAgent != null) return Selector.MainSelectedAgent.Controller.GetAllegiance(otherController);
     if (MainController == null) return AllegianceType.Neutral;
     return MainController.GetAllegiance (otherController);
 }
 public AllegianceType GetAllegiance(AgentController otherController)
 {
     return HasTeam && otherController.HasTeam ? MyTeam.GetAllegiance (otherController) : DiplomacyFlags[otherController.ControllerID];
 }
 public static bool ContainsController(AgentController controller)
 {
     return controller.PlayerIndex < AgentControllers.PeakCount && AgentControllers[controller.PlayerIndex] == controller;
 }
 public static void OrderSpawn(AgentController cont, AgentCode agentCode, int count, Vector2d position)
 {
     Command com = new Command (InputCode.Spawn);
     com.ControllerID = cont.ControllerID;
     com.Position = position;
     com.Target = (ushort)agentCode;
     com.Count = count;
     CommandManager.SendCommand(com);
 }
Example #40
0
 private static void LateSimulate()
 {
     BehaviourHelper.GlobalLateSimulate();
     AgentController.LateSimulate();
     PhysicsManager.LateSimulate();
 }
 public AllegianceType GetAllegiance(AgentController otherController)
 {
     return(HasTeam && otherController.HasTeam ? MyTeam.GetAllegiance(otherController) : DiplomacyFlags [otherController.ControllerID]);
 }
 public static void AddController(AgentController agentController)
 {
     agentController.PlayerIndex = AgentControllers.Add(agentController);
     if (MainController == null) MainController = agentController;
 }
        public static void Simulate()
        {
            if (FreeSimulate)
                return;
            TweakFramerate();
            ForeSight--;
            Frame frame = frames [LockstepManager.InfluenceFrameCount];
            if (frame.Commands .IsNotNull())
            {
                for (int i = 0; i < frame.Commands.Count; i++)
                {
                    Command com = frame.Commands [i];
                    switch (com.LeInput)
                    {
                        case InputCode.Meta:
                            MetaActionCode actionCode = (MetaActionCode)com.Target;
                            int id = com.Count;
                            switch (actionCode)
                            {
                                case MetaActionCode.NewPlayer:
                                    AgentController controller = new AgentController();
                                    if (id == ClientManager.ID)
                                    {
                                        PlayerManager.AddController(controller);
                                    }
                                    TeamManager.JoinTeam(controller);

                                    break;
                            }
                            break;
                        default:
                            AgentController cont = AgentController.InstanceManagers [com.ControllerID];
                            cont.Execute(com);
                            break;
                    }
                }
            }
            if (LockstepManager.InfluenceFrameCount == EndFrame)
            {
                FreeSimulate = true;
            }
        }
        private void SerializeAgent(LSAgent agent)
        {
            if (leAgentController == null) {
                leAgentController = agent.Controller;
            }

            bigIndex = (agent.LocalID / 8);
            smallIndex = (agent.LocalID % 8);

            Header |= (ulong)1 << bigIndex;
            Data[bigIndex] |= (byte)(1 << smallIndex);

            selectedAgentLocalIDs.Add (agent.LocalID);
        }
 public static AgentController Create()
 {
     AgentController controller = new AgentController();
     controller.InitializeLocal ();
     return controller;
 }
Example #46
0
 public static bool ContainsController(AgentController controller)
 {
     return(controller.PlayerIndex < AgentControllers.PeakCount && AgentControllers.ContainsAt(controller.PlayerIndex, controller));
 }