private void ReCreateLink(LinkInfo.LinkType linkType, int siblingIndex, LinkInfo.InCase inCaseValues) { var linkGameObject = Instantiate(_links[(int)linkType - 1], LinksManager.Instance.InUse.ParentTransform); linkGameObject.name = _links[(int)linkType - 1].name; linkGameObject.transform.SetSiblingIndex(siblingIndex); var linkInfo = linkGameObject.GetComponent <LinkInfo>(); linkInfo.LayoutElementScript.enabled = true; linkInfo.LinkDragScript.enabled = false; linkInfo.CanvasGroupScript.blocksRaycasts = true; if (linkInfo.LinkTypeName == LinkInfo.LinkType.Think || linkInfo.LinkTypeName == LinkInfo.LinkType.Watch) { var goToDisplay = linkGameObject.transform.GetChild(1).gameObject; var rectTransform = goToDisplay.GetComponent <RectTransform>(); goToDisplay.SetActive(true); rectTransform.offsetMin = Vector2.zero; rectTransform.offsetMax = Vector2.zero; goToDisplay.transform.GetChild(0).GetChild(0).GetComponent <Text>().text = inCaseValues.Idle.ToString(); goToDisplay.transform.GetChild(1).GetChild(0).GetComponent <Text>().text = inCaseValues.Attack.ToString(); goToDisplay.transform.GetChild(2).GetChild(0).GetComponent <Text>().text = inCaseValues.Dodge.ToString(); linkInfo.InCaseValues = inCaseValues; } LinksManager.Instance.AddNewLink(siblingIndex, linkGameObject.transform); }
private void LoadGame() { if (!File.Exists(_absoluteFilePath)) { return; } using (var streamReader = new StreamReader(_absoluteFilePath)) { while (streamReader.Peek() >= 0) { var linkTypeString = streamReader.ReadLine(); Assert.IsNotNull(linkTypeString); var linkType = (LinkInfo.LinkType) int.Parse(linkTypeString); var siblingIndexString = streamReader.ReadLine(); Assert.IsNotNull(siblingIndexString); var siblingIndex = int.Parse(siblingIndexString); var inCaseValues = new LinkInfo.InCase(); if (linkType == LinkInfo.LinkType.Think || linkType == LinkInfo.LinkType.Watch) { var idle = streamReader.ReadLine(); Assert.IsNotNull(idle); inCaseValues.Idle = int.Parse(idle); var attack = streamReader.ReadLine(); Assert.IsNotNull(attack); inCaseValues.Attack = int.Parse(attack); var dodge = streamReader.ReadLine(); Assert.IsNotNull(dodge); inCaseValues.Dodge = int.Parse(dodge); } ReCreateLink(linkType, siblingIndex, inCaseValues); } } }