Example #1
0
    void SetupResources()
    {
        Health = Parameters.i.GetResource(Defs.ResourceTypes.Health, baseHealth);
        activeResources.Add("Health");
        RpcAddResource(Defs.ResourceTypes.Health, Health.Max);

        if (baseStamina != 0)
        {
            Stamina = Parameters.i.GetResource(Defs.ResourceTypes.Stamina, baseStamina);
            activeResources.Add("Stamina");
            RpcAddResource(Defs.ResourceTypes.Stamina, Stamina.Max);
        }
        if (baseMana != 0)
        {
            Mana = Parameters.i.GetResource(Defs.ResourceTypes.Mana, baseMana);
            activeResources.Add("Mana");
            RpcAddResource(Defs.ResourceTypes.Mana, Mana.Max);
        }
        if (baseBloodlust != 0)
        {
            Bloodlust = Parameters.i.GetResource(Defs.ResourceTypes.Bloodlust, baseBloodlust);
            RpcAddResource(Defs.ResourceTypes.Bloodlust, Bloodlust.Max);
        }
        if (baseSunlight != 0)
        {
            Sunlight = Parameters.i.GetResource(Defs.ResourceTypes.Sunlight, baseSunlight);
            RpcAddResource(Defs.ResourceTypes.Sunlight, Sunlight.Max);
        }
        if (baseMoonlight != 0)
        {
            Moonlight = Parameters.i.GetResource(Defs.ResourceTypes.Moonlight, baseMoonlight);
            RpcAddResource(Defs.ResourceTypes.Moonlight, Moonlight.Max);
        }
        if (baseCurse != 0)
        {
            Curse = Parameters.i.GetResource(Defs.ResourceTypes.Curse, baseCurse);
            //RpcAddResource(Defs.ResourceTypes.Curse, Curse.Max);
        }
        if (baseCorruption != 0)
        {
            Corruption = Parameters.i.GetResource(Defs.ResourceTypes.Corruption, baseCorruption);
            //RpcAddResource(Defs.ResourceTypes.Corruption, Corruption.Max);
        }
        if (baseDarkness != 0)
        {
            Darkness = Parameters.i.GetResource(Defs.ResourceTypes.Darkness, baseDarkness);
            RpcAddResource(Defs.ResourceTypes.Darkness, Darkness.Max);
        }
        ready = true;
    }
Example #2
0
 public Transfer(Parameters.Resource target)
 {
     Val = target.Val;
     Max = target.Max;
     PCT = target.PCT();
 }
Example #3
0
    public void Setup(UnitCore caller, string[] activeResources, Defs.UnitType mode, bool isHostile)
    {
        parent      = caller;
        cam         = Camera.main;
        canvas      = GameObject.Find("UI").GetComponent <Canvas>();
        canvasGroup = GetComponent <CanvasGroup>();
        ownerT      = caller.transform;
        offset      = UI_Styles.i.unitHUD.offset;

        //Get the prefabs
        guideLine = UI_Styles.i.unitHUD.guideLine;

        //Create the Container
        GameObject targetContainer;

        switch (Parameters.i.uHContainer[(int)mode])
        {
        case Defs.LayoutSize.Large:
            targetContainer = UI_Styles.i.unitHUD.containerLarge;
            break;

        case Defs.LayoutSize.Medium:
            targetContainer = UI_Styles.i.unitHUD.containerMedium;
            break;

        case Defs.LayoutSize.Small:
            targetContainer = UI_Styles.i.unitHUD.containerSmall;
            break;

        default:
            targetContainer = new GameObject();
            Debug.LogError("Switch Break! @Container");
            break;
        }
        GameObject creation = Instantiate(targetContainer, transform);

        if (isHostile)
        {
            creation.GetComponent <Image>().color = UI_Styles.i.resources.hostility;
        }

        //Create the Bars
        for (int resource = 0; resource < activeResources.Length; resource++)
        {
            Parameters.Resource definiton = Parameters.i.GetResourceDefinition((Defs.ResourceTypes)Enum.Parse(typeof(Defs.ResourceTypes), activeResources[resource]));

            GameObject targetGauge;
            switch (definiton.uHBar[(int)mode])
            {
            case Defs.LayoutSize.Large:
                targetGauge   = UI_Styles.i.unitHUD.barLarge;
                screenOffset += new Vector3(0, 20);
                break;

            case Defs.LayoutSize.Medium:
                targetGauge   = UI_Styles.i.unitHUD.barMedium;
                screenOffset += new Vector3(0, 14);
                break;

            case Defs.LayoutSize.Small:
                targetGauge   = UI_Styles.i.unitHUD.barSmall;
                screenOffset += new Vector3(0, 8);
                break;

            default:
                targetGauge = new GameObject();
                Debug.LogError("Switch Break! @Gauge");
                break;
            }

            GameObject        newGaugeObject = Instantiate(targetGauge, transform.GetChild(0));
            ContainedElements newGauge       = new ContainedElements
            {
                resource           = (Defs.ResourceTypes)Enum.Parse(typeof(Defs.ResourceTypes), definiton.Name),
                root               = newGaugeObject.transform,
                reductionAnimation = definiton.reductionAnimation,
                guideLines         = definiton.guideLineInterval,
            };
            newGauge.fill = newGauge.root.GetChild(1).GetComponent <Image>();
            if (newGauge.reductionAnimation)
            {
                newGauge.reductionFill = newGauge.root.GetChild(0).GetComponent <Image>();
            }
            elements.Add(newGauge);

            //Set Color
            newGauge.fill.color = definiton.Color;
        }

        if (caller.mode == Defs.UnitType.Player)
        {
            GameObject holder = Instantiate(UI_Styles.i.unitHUD.ability, transform);
            ability       = holder.GetComponent <Image>();
            ability.color = Color.clear;
            abilitySheet  = UI_Styles.i.unitHUD.abilitySheet;
        }

        //Create the Guide Lines
        //UpdateGuideLines(caller);

        //Now Initialise the HUD
        //RefreshAll(caller);

        visionCanvasGroup = transform.GetChild(0).GetComponent <CanvasGroup>();
        FadeMode(true);
    }