Exemplo n.º 1
0
 public void Hatcher()
 {
     MenuVisibility(false, false, false, true, false);
     SetInventoryPanelVisibility(false);
     _teamEditPanel.SetActive(false);
     _menuState = InventoryState.None;
 }
Exemplo n.º 2
0
 public object Assemble(object cached, object owner)
 {
     return(InventoryState.Create((InventoryStatus)cached));
 }
Exemplo n.º 3
0
 public void SetInventory(List<InventoryNode> i)
 {
     inventory = i;
     CurrentState = InventoryState.Disabled;
     NextState = InventoryState.Disabled;
 }
Exemplo n.º 4
0
    public void OpenImprovementMenu()
    {
        SetInventoryPanelVisibility(true);
        _menuState = InventoryState.Fuse;

        for (int i = 0; i < Inventory.Instance.Items.Count; i++)
        {
            Debug.Log(InventoryParent.name);
            Inventory.Instance.Items[i]._transform.SetParent(InventoryParent);
            Inventory.Instance.Items[i]._transform.localPosition = Vector3.zero;
            Inventory.Instance.Items[i]._transform.localScale = vector1;
            Inventory.Instance.Items[i]._transform.localRotation = Quaternion.identity;
        }
    }
Exemplo n.º 5
0
 public void BackToTeamMain()
 {
     SetInventoryPanelVisibility(false);
     _menuState = InventoryState.None;
 }
Exemplo n.º 6
0
    public void SeeInventory()
    {
        SetInventoryPanelVisibility(true);
        _menuState = InventoryState.Look;

        for (int i = 0; i < Inventory.Instance.Items.Count; i++)
        {
            Inventory.Instance.Items[i]._transform.SetParent(InventoryParent);
            Inventory.Instance.Items[i]._transform.localPosition = Vector3.zero;
            Inventory.Instance.Items[i]._transform.localScale = vector1;
            Inventory.Instance.Items[i]._transform.localRotation = Quaternion.identity;
        }
    }
Exemplo n.º 7
0
 // INVENTORY:
 public static bool IsInventoryState(Interactor intr, InventoryState desiredState)
 {
     switch (desiredState) {
         case InventoryState.Vip:
             return Screen.ImageSearch(intr, "InventoryTabActiveVip").Found;
         case InventoryState.Bags:
             return Screen.ImageSearch(intr, "InventoryTabActiveBags").Found;
         default:
             return false;
     }
 }
Exemplo n.º 8
0
 protected override bool validateLocation(MiningAgent agent, InventoryState state)
 {
     return(Vector3.Distance(agent.transform.position, GameManager.rocksLocation) <= GameManager.distanceTolerance);
 }
Exemplo n.º 9
0
    public void Show(InventoryState state)
    {
        this.state = state;

        foreach (Transform children in contentPanel.transform)
        {
            Destroy(children.gameObject);
        }

        CharacterController2D.DisableMovement();
        interactionController.DisableInteracting();

        firstButton = null;
        List <string> items = Inventory.GetItems();

        items.Sort();

        List <Button> buttonList = new List <Button>();

        for (int i = 0; i < items.Count; i++)
        {
            string id   = items[i];
            Item   item = interactionsDataBase.GetItem(id);

            InventoryItem inventoryItem = Instantiate(inventoryItemPrefab);

#if UNITY_ANDROID
            inventoryItem.GetComponent <Image>().raycastTarget = true;
#endif

            inventoryItem.item        = item;
            inventoryItem.icon.sprite = item.GetSprite();

            inventoryItem.inventoryPanel = this;
            inventoryItem.index          = i;

            inventoryItem.gameObject.name = "slot_" + id;
            Button btInventoryItem = inventoryItem.GetComponent <Button>();

#if !UNITY_ANDROID
            Navigation navigation = btInventoryItem.navigation;
            navigation.mode = Navigation.Mode.Explicit;
#endif

            btInventoryItem.onClick.AddListener(
                delegate
            {
                OnItemSelected(inventoryItem.item);
            });

            inventoryItem.transform.SetParent(contentPanel.transform, false);

            buttonList.Add(btInventoryItem);
        }

#if !UNITY_ANDROID
        for (int i = 0; i < buttonList.Count; i++)
        {
            Button bt = buttonList[i];

            Navigation navigation = bt.navigation;

            navigation.mode = Navigation.Mode.Explicit;
            if (i == 0)
            {
                navigation.selectOnLeft = buttonList[buttonList.Count - 1];
                if (buttonList.Count == 1)
                {
                    navigation.selectOnRight = buttonList[0];
                }
                else
                {
                    navigation.selectOnRight = buttonList[i + 1];
                }
            }
            else if (i == buttonList.Count - 1)
            {
                navigation.selectOnLeft  = buttonList[i - 1];
                navigation.selectOnRight = buttonList[0];
            }
            else
            {
                navigation.selectOnLeft  = buttonList[i - 1];
                navigation.selectOnRight = buttonList[i + 1];
            }

            bt.navigation = navigation;
        }
#endif

        gameObject.SetActive(true);

        if (buttonList.Count > 0)
        {
            firstButton = buttonList[0];
        }

        if (state == InventoryState.LOOKING)
        {
            recipeBook.Show();
            clock.Show();
        }
        else
        {
            recipeBook.Hide();
        }
    }
 public override Consts.ObjectSituation DetermineAvailability(InventoryState state, Vector2 screenPos, Vector2 thresold, float maxDistance)
 {
     return(Consts.ObjectSituation.OK);
 }
 public override bool NotifyObjectOnScreen(InventoryState state, Vector2 screenPos, float maxDistance)
 {
     return(true);
 }
Exemplo n.º 12
0
    public async void SetState(Type stateType)
    {
        GameState state = null;

        if (stateType == typeof(LoginState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <LoginStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <LoginStateView>("LoginStateView");

            LoginState loginState = GameStateFactory
                                    .Instance
                                    .CreateState <LoginState>(model, view);
            state = loginState;
        }
        else if (stateType == typeof(LobbyState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <LobbyStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <LobbyStateView>("LobbyStateView");

            LobbyState lobbyState = GameStateFactory
                                    .Instance
                                    .CreateState <LobbyState>(model, view);
            state = lobbyState;
        }
        else if (stateType == typeof(InventoryState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <InventoryStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <InventoryStateView>("InventoryStateView");

            InventoryState inventoryState = GameStateFactory
                                            .Instance
                                            .CreateState <InventoryState>(model, view);
            state = inventoryState;
        }
        else if (stateType == typeof(StoreState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <StoreStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <StoreStateView>("StoreStateView");

            StoreState storeState = GameStateFactory
                                    .Instance
                                    .CreateState <StoreState>(model, view);
            state = storeState;
        }
        else if (stateType == typeof(IngameState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <IngameStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <IngameStateView>("IngameStateView");

            IngameState ingameState = GameStateFactory
                                      .Instance
                                      .CreateState <IngameState>(model, view);
            state = ingameState;
        }
        else if (stateType == typeof(LeaderboardState))
        {
            GameStateModel model = GameStateFactory
                                   .Instance
                                   .CreateModel <LeaderboardStateModel>();
            GameStateView view = await GameStateFactory
                                 .Instance
                                 .CreateViewAsync <LeaderboardStateView>("LeaderboardStateView");

            LeaderboardState leaderboardState = GameStateFactory
                                                .Instance
                                                .CreateState <LeaderboardState>(model, view);
            state = leaderboardState;
        }
        else
        {
            // do the catch
            Debug.LogError("Setting state for an unknown state type " + stateType.GetType());
        }

        if (state != null)
        {
            SwitchState(state);
        }
    }
Exemplo n.º 13
0
 public object NullSafeGet(IDataReader rs, string[] names, object owner)
 {
     return(InventoryState.Create((InventoryStatus)rs[names[0]]));
 }
Exemplo n.º 14
0
 public object DeepCopy(object value)
 {
     return(InventoryState.Create(((InventoryState)value).Status));
 }
Exemplo n.º 15
0
 public override bool ValidateState(InventoryState state)
 {
     return(state.hasPickaxe);
 }
Exemplo n.º 16
0
 protected override void moveToLocation(MiningAgent agent, InventoryState state)
 {
     agent.navAgent.SetDestination(GameManager.rocksLocation);
 }
Exemplo n.º 17
0
 public override InventoryState UpdateState(InventoryState state)
 {
     return(state);
 }
Exemplo n.º 18
0
 public override InventoryState UpdateState(InventoryState state)
 {
     state.logs += 1;
     return(state);
 }
Exemplo n.º 19
0
 public override bool ValidateState(InventoryState state)
 {
     return(true);
 }
Exemplo n.º 20
0
    public void OpenTeamEdition()
    {
        _mainPanel.SetActive(false);
        _teamEditPanel.SetActive(true);
        _menuState = InventoryState.Edit;

        for (int i = 0; i < Inventory.Instance.Items.Count; i++)
        {
            Debug.Log(EditTeamParent);
            Inventory.Instance.Items[i]._transform.SetParent(EditTeamParent);
            Inventory.Instance.Items[i]._transform.localPosition = Vector3.zero;
            Inventory.Instance.Items[i]._transform.localScale = vector1;
            Inventory.Instance.Items[i]._transform.localRotation = Quaternion.identity;
        }
    }
Exemplo n.º 21
0
 protected override void moveToLocation(MiningAgent agent, InventoryState state)
 {
     return;
 }
Exemplo n.º 22
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Escape) && _menuState != InventoryState.None)
     {
         SetInventoryPanelVisibility(false);
         _teamEditPanel.SetActive(false);
         _menuState = InventoryState.None;
     }
 }
Exemplo n.º 23
0
 protected override bool performAction(MiningAgent agent, InventoryState state)
 {
     return(false);
 }
Exemplo n.º 24
0
 protected override bool validateLocation(MiningAgent agent, InventoryState state)
 {
     return(true);
 }
Exemplo n.º 25
0
 public void BackToTeamMain()
 {
     SetInventoryPanelVisibility(false);
     _menuState = InventoryState.None;
 }
 // Use this for initialization
 void Start()
 {
     state = InventoryState.HideGUI;
 }
Exemplo n.º 27
0
 void Awake()
 {
     currentState = InventoryState.Food;
 }
Exemplo n.º 28
0
        public void Frame(float time)
        {
            if(inventory == null || inventory.Count == 0)
            {
                CurrentState = InventoryState.Disabled;
                NextState = InventoryState.Disabled;
                return;
            }

            switch(CurrentState)
            {
                case InventoryState.RLeft:
                    ringTime += time;
                    ringAngle = ringAngleStep * ringTime / ringRotatePeriod;
                    NextState = InventoryState.RLeft;
                    if(ringTime >= ringRotatePeriod)
                    {
                        ringTime = 0.0f;
                        ringAngle = 0.0f;
                        NextState = InventoryState.Idle;
                        CurrentState = InventoryState.Idle;
                        itemsOffset--;
                        if(itemsOffset < 0)
                        {
                            itemsOffset = currentItemsCount - 1;
                        }
                    }
                    restoreItemAngle(time);
                    break;

                case InventoryState.RRight:
                    ringTime += time;
                    ringAngle = -ringAngleStep * ringTime / ringRotatePeriod;
                    NextState = InventoryState.RRight;
                    if (ringTime >= ringRotatePeriod)
                    {
                        ringTime = 0.0f;
                        ringAngle = 0.0f;
                        NextState = InventoryState.Idle;
                        CurrentState = InventoryState.Idle;
                        itemsOffset++;
                        if (itemsOffset >= currentItemsCount)
                        {
                            itemsOffset = 0;
                        }
                    }
                    restoreItemAngle(time);
                    break;

                case InventoryState.Idle:
                    ringTime = 0.0f;
                    switch(NextState)
                    {
                        default:
                        case InventoryState.Idle:
                            itemTime += time;
                            itemAngle = 360.0f * itemTime / itemRotatePeriod;
                            if(itemTime >= itemRotatePeriod)
                            {
                                itemTime = 0.0f;
                                itemAngle = 0.0f;
                            }
                            LabelItemName.Show = true;
                            LabelTitle.Show = true;
                            break;

                        case InventoryState.Closed:
#if !NO_AUDIO
                            Audio.Send((uint) EngineLua.GetGlobalSound((int) TR_AUDIO_SOUND_GLOBALID.MenuClose));
#endif
                            LabelItemName.Show = false;
                            LabelTitle.Show = false;
                            CurrentState = NextState;
                            break;

                        case InventoryState.RLeft:
                        case InventoryState.RRight:
#if !NO_AUDIO
                            Audio.Send((uint) TR_AUDIO_SOUND.MenuRotate);
#endif
                            LabelItemName.Show = false;
                            CurrentState = NextState;
                            itemTime = 0.0f;
                            break;

                        case InventoryState.Up:
                            nextItemsCount = getItemsTypeCount(StaticFuncs.NextItemType(currentItemsType));
                            if(nextItemsCount > 0)
                            {
                                CurrentState = NextState;
                                ringTime = 0.0f;
                            }
                            else
                            {
                                NextState = InventoryState.Idle;
                            }
                            LabelItemName.Show = false;
                            LabelTitle.Show = false;
                            break;

                        case InventoryState.Down:
                            nextItemsCount = getItemsTypeCount(StaticFuncs.PreviousItemType(currentItemsType));
                            if (nextItemsCount > 0)
                            {
                                CurrentState = NextState;
                                ringTime = 0.0f;
                            }
                            else
                            {
                                NextState = InventoryState.Idle;
                            }
                            LabelItemName.Show = false;
                            LabelTitle.Show = false;
                            break;
                    }
                    break;

                case InventoryState.Disabled:
                    if(NextState == InventoryState.Open)
                    {
                        if(SetItemsType(currentItemsType) != MenuItemType.Invalid)
                        {
#if !NO_AUDIO
                            Audio.Send((uint) EngineLua.GetGlobalSound((int) TR_AUDIO_SOUND_GLOBALID.MenuOpen));
#endif
                            CurrentState = InventoryState.Open;
                            ringAngle = 180.0f;
                            ringVerticalAngle = 180.0f;
                        }
                    }
                    break;

                case InventoryState.Up:
                    CurrentState = InventoryState.Up;
                    NextState = InventoryState.Up;
                    ringTime += time;
                    if(ringTime < ringRotatePeriod)
                    {
                        restoreItemAngle(time);
                        ringRadius = baseRingRadius * (ringRotatePeriod - ringTime) / ringRotatePeriod;
                        verticalOffset = -baseRingRadius * ringTime / ringRotatePeriod;
                        ringAngle += 180.0f * time / ringRotatePeriod;
                    }
                    else if(ringTime < 2.0f * ringRotatePeriod)
                    {
                        if(ringTime - time <= ringRotatePeriod)
                        {
                            ringRadius = 0.0f;
                            verticalOffset = baseRingRadius;
                            ringAngleStep = 360.0f / nextItemsCount;
                            ringAngle = 180.0f;
                            currentItemsType = StaticFuncs.NextItemType(currentItemsType);
                            currentItemsCount = nextItemsCount;
                            itemsOffset = 0;
                            SetTitle(currentItemsType);
                        }
                        ringRadius = baseRingRadius * (ringTime - ringRotatePeriod) / ringRotatePeriod;
                        verticalOffset -= baseRingRadius * time / ringRotatePeriod;
                        ringAngle -= 180.0f * time / ringRotatePeriod;
                    }
                    else
                    {
                        NextState = InventoryState.Idle;
                        CurrentState = InventoryState.Idle;
                        ringAngle = 0.0f;
                        verticalOffset = 0.0f;
                    }
                    break;

                case InventoryState.Down:
                    CurrentState = InventoryState.Down;
                    NextState = InventoryState.Down;
                    ringTime += time;
                    if (ringTime < ringRotatePeriod)
                    {
                        restoreItemAngle(time);
                        ringRadius = baseRingRadius * (ringRotatePeriod - ringTime) / ringRotatePeriod;
                        verticalOffset = baseRingRadius * ringTime / ringRotatePeriod;
                        ringAngle += 180.0f * time / ringRotatePeriod;
                    }
                    else if (ringTime < 2.0f * ringRotatePeriod)
                    {
                        if (ringTime - time <= ringRotatePeriod)
                        {
                            ringRadius = 0.0f;
                            verticalOffset = -baseRingRadius;
                            ringAngleStep = 360.0f / nextItemsCount;
                            ringAngle = 180.0f;
                            currentItemsType = StaticFuncs.PreviousItemType(currentItemsType);
                            currentItemsCount = nextItemsCount;
                            itemsOffset = 0;
                            SetTitle(currentItemsType);
                        }
                        ringRadius = baseRingRadius * (ringTime - ringRotatePeriod) / ringRotatePeriod;
                        verticalOffset += baseRingRadius * time / ringRotatePeriod;
                        ringAngle -= 180.0f * time / ringRotatePeriod;
                    }
                    else
                    {
                        NextState = InventoryState.Idle;
                        CurrentState = InventoryState.Idle;
                        ringAngle = 0.0f;
                        verticalOffset = 0.0f;
                    }
                    break;

                case InventoryState.Open:
                    ringTime += time;
                    ringRadius = baseRingRadius * ringTime / ringRotatePeriod;
                    ringAngle -= 180.0f * time / ringRotatePeriod;
                    ringVerticalAngle -= 180.0f * time / ringRotatePeriod;
                    if(ringTime >= ringRotatePeriod)
                    {
                        CurrentState = InventoryState.Idle;
                        CurrentState = InventoryState.Idle;
                        ringVerticalAngle = 0.0f;

                        ringRadius = baseRingRadius;
                        ringTime = 0.0f;
                        ringAngle = 0.0f;
                        verticalOffset = 0.0f;
                        SetTitle(MenuItemType.Supply);
                    }
                    break;

                case InventoryState.Closed:
                    ringTime += time;
                    ringRadius = baseRingRadius * (ringRotatePeriod - ringTime) / ringRotatePeriod;
                    ringAngle += 180.0f * time / ringRotatePeriod;
                    ringVerticalAngle += 180.0f * time / ringRotatePeriod;
                    if (ringTime >= ringRotatePeriod)
                    {
                        CurrentState = InventoryState.Disabled;
                        CurrentState = InventoryState.Disabled;
                        ringVerticalAngle = 0.0f;
                        ringTime = 0.0f;
                        LabelTitle.Show = false;
                        ringRadius = baseRingRadius;
                        currentItemsType = MenuItemType.Supply;
                    }
                    break;
            }
        }
Exemplo n.º 29
0
        public ShopSlot(ContentManager content, Vector2 position, IInventoryItem item, int frameCount, float scale, InventoryState inv, ShopState shop) : base(item.GetTexture(), position, 1)
        {
            this.shop      = shop;
            this.Position  = position;
            this.item      = item;
            this.scale     = scale;
            this.inventory = inv;

            Texture2D buttonTexture = content.Load <Texture2D>("Button");

            slotTexture = content.Load <Texture2D>("ItemSlot");
            seedTexture = content.Load <Texture2D>("seeds");

            var buttonFont = content.Load <SpriteFont>("defaultFont");

            buyButton = new Button(buttonTexture, buttonFont, this.Position + new Vector2(-35, 120), frameCount)
            {
                Text = "-" + this.item.GetPrice().ToString() + " coins"
            };
            buyButton.Click += BuyItem;
        }