public Request() { m_Mask = EReqMask.None; m_Name = Type.ToString(); m_ID = RequestRelation.Name2ID(m_Name); }
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); } }
public EReqRelation GetRelation(Request request) { EReqRelation relation; if (request.GetRelation(Type, out relation)) { return(relation); } return((EReqRelation)RequestRelation.GetRelationValue((int)Type, (int)request.Type)); }
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]); }
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]); }
public static string ID2Name(int id) { RequestRelation relation = m_RelationList.Find(ret => ret.id == id); return(relation != null ? relation.name : ""); }
public static int Name2ID(string name) { RequestRelation relation = m_RelationList.Find(ret => ret.name == name); return(relation != null ? relation.id : -1); }