private void CreateObj(ObjectDate info) { monster = null; if (info != null) { if (info.type == RoleType.Normal) { monster = new Normal(info); } else if (info.type == RoleType.Gather) { monster = new Gatner(info); } else if (info.type == RoleType.NPC) { monster = new NPC(1, info); } } if (monster != null) { //创建对应模型 monster.CreateObj(info.type); //设置父物体 monster.game.transform.SetParent(npc.transform, false); roleDic.Add(info.ID, monster); } else { Debug.Log("生成失败!"); } }
{ public NpcDate(int roleType, ObjectDate date) { //ID ID = date.ID; //名字 name = date.name; //位置 pos = date.pos; //类型 type = RoleType.NPC; }
public MonsterDate(RoleType roleType, ObjectDate date) { //ID ID = date.ID; //名字 name = date.name; //位置 pos = date.pos; //类型 type = roleType; }
private void CreaeIns() { JsonData data = MonsterCfg.Instance.GetJsonDate(); ObjectDate info; //遍历josn解析出来的数据 for (int i = 0; i < data.datas.Count; i++) { info = new ObjectDate(); info.ID = roleDic.Count + 1; info.name = string.Format("{0} {1}", data.datas[i].name, info.ID); info.pos = new Vector3(data.datas[i].x, data.datas[i].y, data.datas[i].z); info.type = data.datas[i].type; CreateObj(info); } }
public NPC(int plot, ObjectDate date) { info = new NpcDate(plot, date); ModelID = date.ID; }
public Gatner(ObjectDate date) : base(RoleType.Gather, new MonsterDate(RoleType.Gather, date)) { }
public Normal(ObjectDate date) : base(RoleType.Normal, new MonsterDate(RoleType.Normal, date)) { }
public Follow(ObjectDate date) : base(RoleType.Follow, new MonsterDate(RoleType.Follow, date)) { }