public override void ActionIn() { float screenX = _playerController.playerInputState.X; float screenY = _playerController.playerInputState.Y; RaycastHit hit; Ray ray = CameraManager.Instance.CurCamera.followCamera.ScreenPointToRay(new Vector3(screenX, screenY, 0)); bool IsHit = Physics.Raycast(ray.origin, ray.direction, out hit, rayDistance, maskLayer); if (IsHit && Vector3.Distance(_playerController.transform.position, hit.point) < distance) { GOMonsterController controller = hit.collider.GetComponent <GOMonsterController>(); if (controller == null) { return; } GameObject obj = controller.gameObject; MonsterBreedData data = DataManagerM.Instance.getMonsterDataManager().getBreedDate(obj); if (data.breedItem != _playerController.playerAttribute.handMaterialId) { return; } controller.BeFeed(); } }
protected override bool HitDetailCondition(UnityEngine.RaycastHit hit) { GameObject obj = hit.collider.gameObject; MonsterBreedData data = DataManagerM.Instance.getMonsterDataManager().getBreedDate(obj); if (data.breedItem == _playerController.playerAttribute.handMaterialId) { return(true); } return(false); }
public static void SaveBreedData(XmlDocument xdoc) { XmlNodeList nodeList = xdoc.GetElementsByTagName("MonsterBatch")[0].ChildNodes; foreach (XmlElement xe in nodeList) { MonsterBreedData data = new MonsterBreedData(); data.decode(xe); BREEDDATA.Add(Convert.ToInt32(xe.GetAttribute("id")), data); } }