Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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());
    }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
    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);
        }
    }