コード例 #1
0
 private void OnCancel()
 {
     isBuying = false;
     //PanelManager.Get<PanelOk>().Show("Cancel Buy", "You sure!?", (b) => { Debug.Log("click on: " + b); });
     buybuttonText.SetText("$ Buy");
     ObjectPlacerListener.clear();
     listener = null;
 }
コード例 #2
0
    public void PlaceObject(ObjectPlacerListener listener, EntityName entity, UnityAction onPlace)
    {
        this.listener = listener;
        this.listener.OnCancelListener(OnSignalDestroy);
        PlanetEntity e = PrefabData.Instance.GetEntity(entity);

        HoldPlanetEntity(e);
        this.onPlace = onPlace;
    }
コード例 #3
0
    public void Load(ShopItemData shopItemData)
    {
        this.title.text = shopItemData.entityData.entityName.ToDescription();
        this.price.text = "$" + shopItemData.entityData.cost;
        this.info.ShowInfo(shopItemData);
        this.buyButton.RegisterOnClickEvent(() =>
        {
            if (Player.Instance.money < shopItemData.entityData.cost)
            {
                //Show some stupid message here
                return;
            }

            if (isBuying && listener != null)
            {
                listener.SignalOnCancel();
                return;
            }
            if (ObjectPlacerListener.IsWorking())
            {
                return;
            }
            buybuttonText.SetText("X Buy");
            isBuying             = true;
            UI.Instance.ShopItem = shopItemData;

            if (shopItemData.entityData.name.Equals("Teleporter"))
            {
                telBuyRot = UI.Instance.planetCamera.transform.rotation;
                listener  = ObjectPlacerListener.create();
                listener.OnCancelListener(OnCancelTeleport);
                listener.OnPlaceListener(OnTeleportPlace);
                UI.Instance.planetCamera.SetState(CameraState.TELEPORT);
                UI.Instance.planetCamera.PivotTranslate(Player.Instance.Planet.transform.position + new Vector3(0, 300, 0));
                UI.Instance.planetCamera.PivotTranslateRotation(Quaternion.Euler(90, 0, 0));
                UI.Instance.planetCamera.DisableRotation(true);
                UI.Instance.ShowArea(Player.Instance.Planet.transform.position, ((TeleporterData)shopItemData.entityData.externalData).radius * 2);
            }
            else
            {
                listener = ObjectPlacerListener.create();
                listener.OnCancelListener(OnCancel);
                listener.OnPlaceListener(OnPlace);
                Player.Instance.Planet.GetComponent <PlanetObjectPlacer>().PlaceObject(listener, shopItemData.entityData.entityName, () =>
                {
                    Player.Instance.money -= shopItemData.entityData.cost;
                });
            }
        });
    }