Beispiel #1
0
        public Request()
        {
            m_Mask = EReqMask.None;

            m_Name = Type.ToString();
            m_ID   = RequestRelation.Name2ID(m_Name);
        }
Beispiel #2
0
        public static void LoadData()
        {
            SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("AI_ActionRelation");

            int fieldCount = reader.FieldCount - 2;

            while (reader.Read())
            {
                RequestRelation relation = new RequestRelation();
                relation.relations = new int[fieldCount];
                relation.id        = reader.GetInt32(0);
                relation.name      = reader.GetString(1);

                for (int i = 0; i < relation.relations.Length; i++)
                {
                    relation.relations[i] = reader.GetInt32(i + 2);
                }

                RequestRelation exist = m_RelationList.Find(ret => ret.id == relation.id || ret.name == relation.name);
                if (exist != null)
                {
                    Debug.LogError("The same relation ID = " + relation.id + " is exist!");
                }

                m_RelationList.Add(relation);
            }
        }
Beispiel #3
0
        public EReqRelation GetRelation(Request request)
        {
            EReqRelation relation;

            if (request.GetRelation(Type, out relation))
            {
                return(relation);
            }

            return((EReqRelation)RequestRelation.GetRelationValue((int)Type, (int)request.Type));
        }
Beispiel #4
0
        public static int GetRelationValue(int src, int dst)
        {
            RequestRelation relation = m_RelationList.Find(ret => ret.id == src);

            if (relation == null)
            {
                Debug.LogError("Can't find relation data: " + src);
                return(0);
            }

            if (dst < 0 || dst >= relation.relations.Length)
            {
                Debug.LogError("Can't find relation : " + dst);
                return(0);
            }

            return(relation.relations[dst]);
        }
Beispiel #5
0
        public static int GetRelationValue(string srcName, string dstName)
        {
            RequestRelation relation = m_RelationList.Find(ret => ret.name == srcName);

            if (relation == null)
            {
                Debug.LogError("Can't find relation data: " + srcName);
                return(0);
            }

            int dst = Name2ID(dstName);

            if (dst < 0 || dst >= relation.relations.Length)
            {
                Debug.LogError("Can't find relation : " + dst);
                return(0);
            }

            return(relation.relations[dst]);
        }
Beispiel #6
0
        public static string ID2Name(int id)
        {
            RequestRelation relation = m_RelationList.Find(ret => ret.id == id);

            return(relation != null ? relation.name : "");
        }
Beispiel #7
0
        public static int Name2ID(string name)
        {
            RequestRelation relation = m_RelationList.Find(ret => ret.name == name);

            return(relation != null ? relation.id : -1);
        }