Exemple #1
0
 public void SetUnitData(GizmoidData data)
 {
     name           = "Button " + data.nameFull;
     unitData       = data;
     textPrice.text = data.Price.ToString();
     icon.sprite    = data.Icon;
 }
 public void SetUnitData(GizmoidData data)
 {
     name           = "Button " + data.nameFull;
     unitData       = data;
     textPrice.text = data.Price.ToString();
     SetIcon(data.Icon);
 }
Exemple #3
0
    public void SetData(GizmoidData data, int order, UnitGraphics preview = null)
    {
        name   = data.nameInternal;
        assets = data.assetData;
        if (preview)
        {
            SetupGraphics(preview, false, order);
        }
        else
        {
            SetupGraphics(data.unitGraphics, true, order);
        }
        SetupReskin(data.nameInternal, data.maxHealth, unitGraphics.renderers);
        SetupHealth(data.maxHealth);
        SetupAbilities(data.abilities);
        foreach (var item in abilities)
        {
            var arenaCollider = item.GetComponent <ArenaCollider>();
            if (arenaCollider)
            {
                arenaCollider.BuildColliders(order);
                onOrderChanged.AddListener(arenaCollider.BuildColliders);
            }
        }

        CollectOverclockables();
    }
Exemple #4
0
    private UnitSelectorButton BuildUnitButton(GizmoidData gizmoidData, Transform parent)
    {
        var giz = Instantiate(unitSelectorPrefab, parent);

        giz.transform.localScale = Vector3.one;

        giz.SetUnitData(gizmoidData);
        giz.onSelection.AddListener(placementPreview.OnDragEnabled);
        giz.SetCanAfford(playerProgress.Scraps);
        giz.onPurchased.AddListener(playerProgress.AdjustScrap);
        playerProgress.onScrapChanged.AddListener(giz.SetCanAfford);

        var toggle = giz.GetComponent <ToggleDrag>();

        if (toggle)
        {
            toggle.group = toggleDragGroup;
            toggle.onDrag.AddListener(placementPreview.OnDrag);
            toggle.onDragEnd.AddListener(placementPreview.OnDragEnd);
            toggle.onValueChanged.AddListener(selectClickInterface.SetActive);
            toggle.onValueChangedInverse.AddListener(shipInterface.SetActive);
        }

        return(giz);
    }
Exemple #5
0
    public GizmoidView BuildGizmoid(GizmoidData data, UnitGraphics preview = null)
    {
        if (gizmoids.Count == 6)
        {
            return(null);
        }

        var giz = Instantiate(prefabGizmoid, transform);

        giz.transform.localPosition = new Vector3(0, blade.radiusOffset + (GetSpacing() * gizmoids.Count), 0);
        giz.transform.eulerAngles   = new Vector3(0, 0, blade.gameObject.transform.eulerAngles.z);
        //giz.holder = this;
        if (!preview)
        {
            preview = Instantiate(data.unitGraphics);
        }
        giz.SetData(data, gizmoids.Count, preview);
        gizmoids.Add(giz);
        onGizmoidAdded.Invoke(giz);
        giz.onDestroy.AddListener(RemoveGizmoid);

        var rand = Random.Range(0, giz.assets.clipArrivals.Count);

        AudioPlayer.Instance.PlaySoundClip(giz.assets.clipArrivals[rand], giz.transform);
        return(giz);
    }
Exemple #6
0
    public void BuildLoadoutUnit(GizmoidData data)
    {
        var unit = Instantiate(loadoutUnitPrefab, unitContent);

        unit.transform.localScale = Vector3.one;

        unit.SetUnitData(data);
        unit.onSelected.AddListener(OnUnitSelected);
    }
 public void OnDragEnabled(bool enabled, GizmoidData data)
 {
     gameObject.SetActive(enabled);
     if (enabled)
     {
         gizmoidData = data;
         if (data.unitGraphics)
         {
             ChangePreview(data.unitGraphics);
         }
     }
     else
     {
         sectorSelector.gameObject.SetActive(false);
     }
 }
Exemple #8
0
    public void PlacePreview(GizmoidData data, UnitGraphics preview)
    {
        float duration = 0.5f;

        preview.transform.SetParent(transform);
        Vector3 rot = Vector3.zero;

        if (transform.localEulerAngles.z > 180f)
        {
            rot = new Vector3(0, 0, 359.9f);
        }
        preview.SetSortingLayer("Gizmoid" + gizmoids.Count);

        sequence = DOTween.Sequence();
        sequence.Join(preview.transform.DOLocalMove(new Vector3(0, blade.radiusOffset + (GetSpacing() * gizmoids.Count), 0), duration).SetEase(DG.Tweening.Ease.OutBounce))
        .Join(preview.transform.DOLocalRotate(rot, duration).SetEase(DG.Tweening.Ease.OutQuart))
        .OnComplete(() => BuildGizmoid(data, preview));
    }