public static void ShowResourceIcon(int resourceID, ResourceIconSlot slot, bool requiredIcon, List <GameObject> icons) { ResourceDisplayInfo rdi = GameManager.Instance.GetResourceDisplayInfo(resourceID); if (rdi == null) { //Debug.LogWarning("Brakuje ResourceDisplayInfo dla zasobu: " + resourceID); return; } GameObject iconPrefab; if (requiredIcon) { iconPrefab = rdi.RequiredIcon; } else { iconPrefab = rdi.Icon; } GameObject icon = SimplePool.Spawn(iconPrefab, slot.transform.position, Quaternion.identity); icon.transform.SetParent(slot.transform); icons.Add(icon); }
public void AddNewResource(GameResource resource, Text textField, bool addPerTurn) { textField.transform.SetParent(canvas.transform, false); ResourceDisplayInfo newResource = new ResourceDisplayInfo(resource, textField, addPerTurn); resourceDisplayInfo.Add(newResource); UpdateResourceText(newResource.resource, newResource.resource.currentValue.ToString()); }
public ResourceDisplayInfo GetResourceDisplayInfo(int resourceID) { ResourceDisplayInfo result = null; for (int i = 0; i < resourceDisplay.Length; i++) { if (resourceDisplay[i] != null && resourceDisplay[i].ResourceID == resourceID) { result = resourceDisplay[i]; break; } } return result; }
public void Initialize(Player owner, GameResource essence, Text newText) { this.owner = owner; //GameObject essenceTextGO = Instantiate(textTemplate) as GameObject; //essenceTextGO.transform.SetParent(canvas.transform, false); //Text essenceText = essenceTextGO.GetComponent<Text>(); //essenceTextGO.SetActive(true); newText.transform.SetParent(canvas.transform, false); ResourceDisplayInfo firstResource = new ResourceDisplayInfo(essence, newText, true); resourceDisplayInfo.Add(firstResource); }
public void ShowResourceIcon(int resourceID, int slotNumber) { if (slotNumber >= slots.Count) { return; } ResourceDisplayInfo rdi = GameManager.Instance.GetResourceDisplayInfo(resourceID); GameObject iconPrefab = rdi.Icon; GameObject slot = slots[slotNumber].gameObject; GameObject icon = SimplePool.Spawn(iconPrefab, slot.transform.position, Quaternion.identity); if (icon.transform.parent != IconsParent) { icon.transform.SetParent(IconsParent); } icons.Add(icon); }
void Update() { if (character == null) { return; } if (DeathAnimationStarted && DeathAnimationPlayed == false) { deathAnimationPercentage += deathAnimationPercentagePerSecond * Time.deltaTime; if (deathAnimationPercentage >= 1f) { DeathAnimationPlayed = true; return; } GameObject currentModel = heldResource ? CharacterHoldingModel : CharacterModel; float xAxisRotation; float yPos; if (deathAnimationPercentage <= 0.5f) { xAxisRotation = Mathf.Lerp(0f, -90f, deathAnimationPercentage * 2f); yPos = 0; } else { xAxisRotation = -90f; yPos = Mathf.Lerp(0f, -0.2f, (deathAnimationPercentage - 0.5f) * 2f); } currentModel.transform.localPosition = new Vector3(currentModel.transform.localPosition.x, yPos, currentModel.transform.localPosition.z); currentModel.transform.localRotation = Quaternion.Euler(xAxisRotation, currentModel.transform.localRotation.eulerAngles.y, currentModel.transform.localRotation.eulerAngles.z); currentModel.GetComponent <Renderer>().material = ClippableMaterial; return; } if (Hidden) { if (gameObjectsDeactivated == false) { CharacterModel.SetActive(false); CharacterHoldingModel.SetActive(false); Collider.gameObject.SetActive(false); gameObjectsDeactivated = true; } if (GameManager.Instance.World.Paused == false) { hideTimer -= Time.deltaTime; } if (hideTimer > 0f) { return; } else { Collider.gameObject.SetActive(true); Hidden = false; gameObjectsDeactivated = false; } } if (character.HasResource) { if (CharacterModel.activeSelf) { CharacterModel.SetActive(false); } if (CharacterHoldingModel.activeSelf == false) { CharacterHoldingModel.SetActive(true); } if (heldResource == null) { ResourceDisplayInfo info = GameManager.Instance.GetResourceDisplayInfo(character.Resource); heldResource = SimplePool.Spawn( info.HeldModel, this.transform.position, this.transform.rotation); heldResource.transform.SetParent(CharacterHoldingModel.transform); } } else { if (CharacterModel.activeSelf == false) { CharacterModel.SetActive(true); } if (CharacterHoldingModel.activeSelf) { CharacterHoldingModel.SetActive(false); } if (heldResource != null) { SimplePool.Despawn(heldResource); heldResource = null; } } if (character.NextTile != null && character.CurrentTile != character.NextTile) { Vector3 startingPosition = new Vector3(character.CurrentTile.X + 0.5f, character.CurrentTile.Height, character.CurrentTile.Y + 0.5f); Vector3 goalPosition = new Vector3(character.NextTile.X + 0.5f, character.NextTile.Height, character.NextTile.Y + 0.5f); Vector3 displayPosition = Vector3.Lerp(startingPosition, goalPosition, character.MovementPercentage); transform.SetPositionAndRotation(displayPosition, character.CurrentRotation); } else { transform.SetPositionAndRotation( new Vector3(character.CurrentTile.X + 0.5f, character.CurrentTile.Height, character.CurrentTile.Y + 0.5f), character.CurrentRotation); } }