Beispiel #1
0
        /**
         * <summary>Adds a new agent with default properties to the simulation.
         * </summary>
         *
         * <returns>The number of the agent, or -1 when the agent defaults have
         * not been set.</returns>
         *
         * <param name="position">The two-dimensional starting position of this
         * agent.</param>
         */
        public int addAgent(Vec2 position)
        {
            int agentID = NextSeqNo;

            if (defaultAgent_ == null)
            {
                throw new Exception("no default agent parameters exists.");
            }
            else if (id2agent_.ContainsKey(agentID))
            {
                throw new Exception("agent id conflict: " + agentID);
            }

            Agent agent = new Agent();

            agent.simulator_        = this;
            agent.id_               = agentID; // agents_.Count;
            agent.maxNeighbors_     = defaultAgent_.maxNeighbors_;
            agent.maxSpeed_         = defaultAgent_.maxSpeed_;
            agent.maxSpeedByConfig_ = agent.maxSpeed_;
            agent.neighborDist_     = defaultAgent_.neighborDist_;
            agent.position_         = position;
            agent.radius_           = defaultAgent_.radius_;
            agent.timeHorizon_      = defaultAgent_.timeHorizon_;
            agent.timeHorizonObst_  = defaultAgent_.timeHorizonObst_;
            agent.velocity_         = defaultAgent_.velocity_;
            agents_.Add(agent);
            id2agent_[agentID] = agent;

            kdTree_.dirty = true;

            return(agent.id_);
        }
Beispiel #2
0
        void OnUserDisconnecting(Session s)
        {
            if (waitingList.ContainsKey(s.ID))
            {
                waitingList.Remove(s.ID);
            }

            if (PVEWaitingList.ContainsKey(s.ID))
            {
                PVEWaitingList.Remove(s.ID);
            }
        }
Beispiel #3
0
        // 转递房间消息
        void RedirectRoomMessage(string op)
        {
            UP.OnMessage(op, (Session s, IReadableBuffer data) =>
            {
                var usr = s.ID;
                var r   = usr2room.ContainsKey(usr) ? usr2room[usr] : null;
                if (r == null)
                {
                    return;
                }

                r.OnMessage(op, usr, data);
            });
        }
		public void StableDictionary_AddElement_Test()
		{
			StableDictionary<int, string> dictionary = new StableDictionary<int, string>();
			dictionary.Add(1, "a");
			dictionary.Add(2, "b");
			dictionary.Add(3, "c");
			dictionary.Add(4, "d");
			Assert.AreEqual(4, dictionary.Count);
			Assert.IsTrue(dictionary.ContainsKey(1));
			Assert.IsTrue(dictionary.ContainsKey(2));
			Assert.IsTrue(dictionary.ContainsKey(3));
			Assert.IsTrue(dictionary.ContainsKey(4));
			Assert.IsTrue(dictionary.ContainsValue("a"));
			Assert.IsTrue(dictionary.ContainsValue("b"));
			Assert.IsTrue(dictionary.ContainsValue("c"));
			Assert.IsTrue(dictionary.ContainsValue("d"));
		}
Beispiel #5
0
        public void StableDictionary_AddElement_Test()
        {
            StableDictionary <int, string> dictionary = new StableDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(3, "c");
            dictionary.Add(4, "d");
            Assert.AreEqual(4, dictionary.Count);
            Assert.IsTrue(dictionary.ContainsKey(1));
            Assert.IsTrue(dictionary.ContainsKey(2));
            Assert.IsTrue(dictionary.ContainsKey(3));
            Assert.IsTrue(dictionary.ContainsKey(4));
            Assert.IsTrue(dictionary.ContainsValue("a"));
            Assert.IsTrue(dictionary.ContainsValue("b"));
            Assert.IsTrue(dictionary.ContainsValue("c"));
            Assert.IsTrue(dictionary.ContainsValue("d"));
        }
		public void StableDictionary_RemoveElement_Test()
		{
			StableDictionary<int, string> dictionary = new StableDictionary<int, string>();
			dictionary.Add(1, "a");
			dictionary.Add(2, "b");
			dictionary.Add(3, "c");
			dictionary.Add(4, "d");
			dictionary.Remove(1);
			Assert.AreEqual(3, dictionary.Count);
			Assert.IsFalse(dictionary.ContainsKey(1));
			Assert.IsFalse(dictionary.ContainsValue("a"));
		}
Beispiel #7
0
        public static Level GetLevel(string lvID)
        {
            if (pvps.ContainsKey(lvID))
            {
                return(pvps[lvID]);
            }
            else if (pves.ContainsKey(lvID))
            {
                return(pves[lvID]);
            }

            return(null);
        }
Beispiel #8
0
        public void StableDictionary_RemoveElement_Test()
        {
            StableDictionary <int, string> dictionary = new StableDictionary <int, string>();

            dictionary.Add(1, "a");
            dictionary.Add(2, "b");
            dictionary.Add(3, "c");
            dictionary.Add(4, "d");
            dictionary.Remove(1);
            Assert.AreEqual(3, dictionary.Count);
            Assert.IsFalse(dictionary.ContainsKey(1));
            Assert.IsFalse(dictionary.ContainsValue("a"));
        }
Beispiel #9
0
        public Fix64 this[string resourceType]
        {
            get
            {
                if (!Resources.ContainsKey(resourceType))
                {
                    Resources[resourceType] = 0;
                }

                return(Resources[resourceType]);
            }
            set
            {
                Resources[resourceType] = value;
            }
        }
Beispiel #10
0
 // 获取指定录像
 public static BattleReplay GetReplay(string r)
 {
     return(replays.ContainsKey(r) ? replays[r] : null);
 }
Beispiel #11
0
 public Unit Get(string uid)
 {
     return(units.ContainsKey(uid) ? units[uid] : null);
 }
Beispiel #12
0
 // 获取指定问卷
 public static Questionnaire GetQuestionnaire(string q)
 {
     return(questionnaires.ContainsKey(q) ? questionnaires[q] : null);
 }
Beispiel #13
0
 // 获取一个指定 UID 的模型
 public MapUnit GetModel(string uid)
 {
     return(units.ContainsKey(uid) ? units[uid] : null);
 }