/// <summary> /// 生成道具 /// </summary> /// <param name="itemData"></param> public void CreateProp(StoryInfoDetailsBean itemData) { GameObject objPropModel = StoryInfoHandler.Instance.manager.GetStoryPropModelByName(itemData.key_name); GameObject objProp = Instantiate(transform.gameObject, objPropModel); listPropObj.Add(objProp); objProp.name = "prop_" + itemData.num; //设置位置和朝向 objProp.transform.localPosition = new Vector3(itemData.position_x, itemData.position_y); Vector3 bodyScale = objProp.transform.localScale; switch (itemData.face) { case 1: bodyScale.x = -1; break; case 2: bodyScale.x = 1; break; } objProp.transform.localScale = bodyScale; //如果有移动控件 CharacterMoveCpt characterMove = objProp.GetComponent <CharacterMoveCpt>(); if (characterMove != null) { characterMove.SetMoveSpeed(1); } }
public void HandleForPropPosition(StoryInfoDetailsBean itemData) { //道具位置 GameObject objProp = GetPropByNpcNum(itemData.num); if (objProp == null) { CreateProp(itemData); } else { CharacterMoveCpt characterMove = objProp.GetComponent <CharacterMoveCpt>(); //如果可以移动 if (characterMove) { characterMove.SetDestinationLocal(transform, new Vector3(itemData.position_x, itemData.position_y)); } //如果不能移动则直接设置坐标 else { objProp.transform.localPosition = new Vector3(itemData.position_x, itemData.position_y); } } }