public void Init(CharacterModle.CharacterInfo _info, CharacterModle.Skin _skin) { targetPoint = null; actionStep = 0; info = _info; skin = _skin; Transform root = transform.Find("/Scene/road"); foreach (Transform t in root) { movePoint[t.name] = t.position; } }
void CreateCharacter(CharacterModle.CharacterInfo c) { int range = Random.Range(0, 2); Vector3 _start = startPiont[range].transform.position; //设定角色出生点 c.startPiont = range; GameObject _char = Instantiate(charPrefab); _char.transform.position = _start; Rigidbody2D rigidbody2d = _char.AddComponent <Rigidbody2D>(); rigidbody2d.isKinematic = true; _char.AddComponent <BoxCollider2D>().isTrigger = true; //Dictionary<string, int[]> _actionList = new Dictionary<string, int[]>(); CharacterModle.Skin skin = new CharacterModle.Skin(); foreach (CharacterModle.Skin s in skinList) { if (s.SkinName == c.Skin) { skin = s; } } AniController.Get(_char).AddSprite(CharacterSprites[c.Skin]); MyCharacterController.Get(_char).Init(c, skin); MyCharacterController.Get(_char).speed = cSpeed; if (c.startPiont == 0) { MyCharacterController.Get(_char).SetTarget("finish2"); } else { MyCharacterController.Get(_char).SetTarget("finish1"); } }
public ArrayList loadCharacterXmlToArray() { //保存路径 string filepath = "Config/Character/CharacterList"; string _result = Resources.Load(filepath).ToString(); ArrayList characterList = new ArrayList(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(_result); XmlNodeList nodeList = xmlDoc.SelectSingleNode("CharacterList").ChildNodes; foreach (XmlElement character in nodeList) { CharacterModle.CharacterInfo _character = new CharacterModle.CharacterInfo(); //读取node内属性,把string转化为对应的属性 if (character.GetAttribute("ID") != "") { _character.ID = int.Parse(character.GetAttribute("ID")); } if (character.GetAttribute("Name") != "") { _character.Name = character.GetAttribute("Name"); } if (character.GetAttribute("Skin") != "") { _character.Skin = character.GetAttribute("Skin"); } if (character.GetAttribute("Type") != "") { _character.Sex = (CharacterModle.SexType) int.Parse(character.GetAttribute("Sex")); } if (character.GetAttribute("OutTime") != "") { _character.OutTime = (CharacterModle.TimeType) int.Parse(character.GetAttribute("OutTime")); } if (character.GetAttribute("FavoriteItems") != "") { string[] _items = character.GetAttribute("FavoriteItems").Split(','); _character.FavoriteItems = new int[_items.Length]; for (int i = 0; i < _items.Length; i++) { _character.FavoriteItems[i] = int.Parse(_items[i]); } } if (character.GetAttribute("FavoriteMinds") != "") { string[] _minds = character.GetAttribute("FavoriteMinds").Split(','); _character.FavoriteMinds = new int[_minds.Length]; for (int i = 0; i < _minds.Length; i++) { _character.FavoriteMinds[i] = int.Parse(_minds[i]); } } if (character.GetAttribute("Weight") != "") { _character.Weight = int.Parse(character.GetAttribute("Weight")); } if (character.GetAttribute("Des") != "") { _character.Des = character.GetAttribute("Des"); } //添加进itemList中 characterList.Add(_character); } return(characterList); }