Пример #1
0
    public IEnumerator StageClearing()
    {
        isStartGame = false;
        isEndGame   = true;
        HeroSystem.SaveHeros(Common.FindAlly());
        MapSystem.MapClear(stageInfo.mapNumber, stageInfo.stageClearPoint);
        MissionSystem.AddClearPoint(MissionSystem.ClearType.StageClear);
        MissionSystem.AddClearPoint(MissionSystem.ClearType.TotalStageCount);
        MissionSystem.PointSave();
        SaveSystem.AddUserCoin(stageInfo.stageCoin);
        stageInfo.stageExp = Common.GetUserExp(stageInfo.stageNumber);
        SaveSystem.ExpUp(stageInfo.stageExp);
        var getItems = GetStageItems();

        for (var i = 0; i < getItems.Count; i++)
        {
            ItemSystem.SetObtainItem(getItems[i].id);
        }
        GoogleSignManager.SaveData();
        UI_Manager.instance.OpenEndGamePanel(true);
        if (UnityEngine.Random.Range(0, 10) < 2)
        {
            GoogleAdMobManager.instance.OnBtnViewAdClicked();
        }
        yield return(null);
    }
Пример #2
0
        public void SetUp()
        {
            entityId = 0;

            inventory = new Inventory {
                Capacity = 10, Contents = new EntityReferenceList()
            };
            position = new Position {
                MapCoordinate = new MapCoordinate("map", 0, 0)
            };

            entity = new Entity(int.MaxValue, "TestEntity", new IEntityComponent[] { inventory, position });

            entityEngine    = Substitute.For <IEntityEngine>();
            prototypeSystem = Substitute.For <IPrototypeSystem>();
            scriptExecutor  = Substitute.For <IScriptExecutor>();
            messageSystem   = Substitute.For <IMessageSystem>();
            eventSystem     = Substitute.For <IEventSystem>();

            itemSystem = new ItemSystem(entityEngine, prototypeSystem, scriptExecutor, messageSystem, eventSystem);

            itemSystem.Initialise();

            itemSystem.AddEntity(entity);
        }
Пример #3
0
    public GameObject AllItems;                //所有道具的父对象

    private void Awake()
    {
        AllItemList = new List <ItemInBlank>();
        ItemList    = new List <ItemInBlank>();
        Item组合记录表   = new List <Item组合>();
        current     = this;
    }
Пример #4
0
        public override void Execute(NPC npc)
        {
            if (npc.IfInteracted())
            {
                //print ("act");
                string item = ItemSystem.GetCurrentItem();
                if (item == "棋盘")
                {
                    npc.ChangeState(new ItemState22());
                }
                else if (item == "金币")
                {
                    npc.ChangeState(new ItemState32());
                }
                else
                {
                    switch (厨师.counter)
                    {
                    case 1: npc.ChangeState(new TalkState11()); break;

                    case 2: npc.ChangeState(new TalkState21()); break;

                    case 3: npc.ChangeState(new TalkState31()); break;

                    case 4: npc.ChangeState(new TalkState41()); break;

                    case 5: npc.ChangeState(new TalkState51()); break;

                    case 6: npc.ChangeState(new TalkState61()); break;
                    }
                }
            }
        }
Пример #5
0
 void OnMouseOver()
 {
     if (iname != "Nothing")
     {
         if (Input.GetMouseButtonUp(1))
         {
             if (ItemSystem.current.is组合模式 && !ItemSystem.current.is当前组合(order))
             {
                 ItemSystem.current.组合(order);
             }
             else
             {
                 SubtitleSystem.ShowSubtitle("拿" + iname + "干嘛呢~");
                 ItemSystem.ChangeCurrentItem(iname);
                 ItemSystem.current.HideItemBlank();
             }
             ItemSystem.current.隐藏组合框框();
         }
         if (Input.GetMouseButtonUp(0))
         {
             ItemSystem.current.隐藏组合框框();
             ItemSystem.current.创造组合框框(transform.position, order);
         }
     }
 }
Пример #6
0
    static IEnumerator DropItem()
    {
        yield return(new WaitForEndOfFrame());

        ItemSystem.ChangeCurrentItem("Nothing");
        yield return(0);
    }
Пример #7
0
    IEnumerator CheckingAlert()
    {
        isCheckAlertOn = true;
        int  amount            = User.abilityCount;
        Item userAbilityScroll = ItemSystem.GetItem(8001);

        Debugging.Log(amount);
        var alertPanel = UI_Manager.instance.ShowNeedAlert(userAbilityScroll.image, string.Format("<color='yellow'>'{0}' <size='24'>x </size>{1}</color>  {2}", ItemSystem.GetItemName(userAbilityScroll.id), amount, LocalizationManager.GetText("alertNeedMessage1")));

        while (!alertPanel.GetComponentInChildren <UI_CheckButton>().isChecking)
        {
            yield return(new WaitForFixedUpdate());
        }
        if (alertPanel.GetComponentInChildren <UI_CheckButton>().isResult)
        {
            UI_Manager.instance.ClosePopupAlertUI();
            if (ItemSystem.GetUserScrollCount() >= amount)
            {
                if (!isSelectStart)
                {
                    StartCoroutine(RandomSelectAbility(amount));
                }
            }
            else
            {
                UI_Manager.instance.ShowAlert(UI_Manager.PopupAlertTYPE.scroll, amount);
            }
        }
        else
        {
            UI_Manager.instance.ClosePopupAlertUI();
        }
        isCheckAlertOn = false;
        yield return(null);
    }
Пример #8
0
 public override void Execute(Machine machine)
 {
     if (machine.IfInteracted() && ItemSystem.GetCurrentItem() == "剪刀")
     {
         machine.ChangeState(new ItemState());
     }
 }
Пример #9
0
 void SellItemProcessing()
 {
     if (SellAbleCheck(ref sellItemId))
     {
         int value = ItemSystem.GetUserItemByCustomId(sellItemId).value;
         OnButtonEffectSound();
         if (ItemSystem.UseItem(sellItemId, 1))
         {
             SaveSystem.AddUserCoin(value);
             GoogleSignManager.SaveData();
             UI_Manager.instance.ShowGetAlert("Items/coin", string.Format("<color='yellow'>{0}</color> {1}{2}", Common.GetThousandCommaText(value), LocalizationManager.GetText("Coin"), LocalizationManager.GetText("alertGetMessage1")));
             if (callBackScript != null)
             {
                 callBackScript.GetComponent <UI_Manager_InventoryTab>().RefreshUI(Common.OrderByType.NAME);
             }
         }
         else
         {
             Item item = ItemSystem.GetUserItemByCustomId(sellItemId);
             if (item != null)
             {
                 UI_Manager.instance.ShowAlert(item.image, string.Format("<color='yellow'>{0}</color> {1} \r\n <color='grey'><size='20'>{2}</size></color>", ItemSystem.GetItemName(item.id), LocalizationManager.GetText("alertUnableSellMessage"), LocalizationManager.GetText("alertSellText")));
             }
         }
     }
     else
     {
         Item item = ItemSystem.GetUserItemByCustomId(sellItemId);
         if (item != null)
         {
             UI_Manager.instance.ShowAlert(item.image, string.Format("<color='yellow'>{0}</color> {1} \r\n <color='grey'><size='20'>{2}</size></color>", ItemSystem.GetItemName(item.id), LocalizationManager.GetText("alertUnableSellMessage"), LocalizationManager.GetText("alertUnableSellMessage2")));
         }
     }
 }
Пример #10
0
    public bool AddItem(ItemSystem item)
    {
        if (item.Item.StackAmount == 1)
        {
            PlaceEmptyItem(item);
            Debug.Log(item.name + " added to inventory");
            return(true);
        }
        else
        {
            foreach (GameObject slot in slots)
            {
                InventorySlot inventorySlot = slot.GetComponent <InventorySlot>();

                if (!inventorySlot.IsSlotEmpty())
                {
                    if (inventorySlot.GetCurrentItem().Item == item.Item && inventorySlot.IsStackable())
                    {
                        inventorySlot.AddItem(item);
                        return(true);
                    }
                }
            }

            if (emptySlots > 0)
            {
                PlaceEmptyItem(item);
            }
        }

        return(false);
    }
Пример #11
0
    IEnumerator ShowGetItem()
    {
        yield return(new WaitForSeconds(1f));

        List <Item> getItemsIdList = StageManagement.instance.GetStageItems();

        if (getItemsIdList != null && getItemsIdList.Count > 0)
        {
            foreach (var item in getItemsIdList)
            {
                SoundManager.instance.EffectSourcePlay(AudioClipManager.instance.ui_pop);
                GameObject itemPrefab = Instantiate(GetItemSlotPrefab, GetItemInfoPanel.transform);

                itemPrefab.transform.GetChild(0).GetComponent <Image>().sprite             = ItemSystem.GetItemClassImage(item.id);
                itemPrefab.transform.GetChild(0).GetChild(0).GetComponent <Image>().sprite = ItemSystem.GetItemImage(item.id);
                itemPrefab.transform.GetChild(0).GetChild(1).GetComponent <Image>().color  = ItemColor.GetItemColor(item.itemClass);

                itemPrefab.transform.GetComponentInChildren <Text>().text = ItemSystem.GetItemName(item.id);
                if (itemPrefab.GetComponent <AiryUIAnimatedElement>() != null)
                {
                    itemPrefab.GetComponent <AiryUIAnimatedElement>().ShowElement();
                }
                yield return(new WaitForSeconds(0.2f));
            }
        }
        else
        {
            yield return(null);
        }
    }
Пример #12
0
 public void OnClickItemInfoShow(int itemid, Button button)
 {
     if (InformationPanel != null && EquipmentActionPanel != null)
     {
         if (selectedButton != null)
         {
             selectedButton.interactable = true;
         }
         selectedButton = button;
         selectedButton.interactable = false;
         Item item = ItemSystem.GetUserEquipmentItem(itemid);
         InformationPanel.transform.GetChild(0).GetComponent <Image>().enabled = true;
         InformationPanel.transform.GetChild(0).GetComponent <Image>().sprite  = ItemSystem.GetItemImage(item.id);
         InformationPanel.transform.GetChild(0).GetComponent <Image>().gameObject.SetActive(true);
         InformationPanel.transform.GetComponentInChildren <Text>().enabled = true;
         InformationPanel.transform.GetComponentInChildren <Text>().text    = string.Format("{0}({1})", ItemSystem.GetItemName(item.id), Enum.GetName(typeof(GachaSystem.GachaClass), (GachaSystem.GachaClass)item.itemClass - 1));
         InformationPanel.transform.GetComponentInChildren <Text>().color   = ItemColor.GetItemColor(item.itemClass);
         EquipmentActionPanel.SetActive(true);
         EquipmentActionPanel.transform.GetChild(0).GetComponent <Text>().text = ItemSystem.GetEquipmentItemDescription(item);
         EquipmentActionPanel.GetComponentInChildren <Button>().enabled        = true;
         EquipmentActionPanel.GetComponentInChildren <Button>().GetComponentInChildren <Text>().text = LocalizationManager.GetText("equipmentItemEquipButton");
         EquipmentActionPanel.GetComponentInChildren <Button>().onClick.RemoveAllListeners();
         EquipmentActionPanel.GetComponentInChildren <Button>().onClick.AddListener(delegate
         {
             EquipmentEvent(item.customId);
         });
     }
 }
Пример #13
0
        /// <summary>
        /// 生成新游戏
        /// </summary>
        /// <param name="user">用户名</param>
        /// <param name="controller">控制器</param>
        /// <param name="withItem">是否启用道具</param>
        /// <returns></returns>
        public TetrisGame NewGame(string user = "", IController controller = null, bool withItem = true)
        {
            var            id = games.Count;
            ITetrisFactory factory;

            if (withItem)
            {
                factory = new CacheFactory(Square.Styles(styles), ran);
                (factory as TetrisItemFactory).GenSpecialBlock = true;
            }
            else
            {
                factory = new TetrisFactory(Square.Styles(styles), ran);
            }

            // use AdvancedGUI.Styles.WindowSizeGenerator to set the game size! shuo han

            int gameWidth  = AdvancedGUI.Styles.WindowSizeGenerator.gameWidth;
            int gameHeight = AdvancedGUI.Styles.WindowSizeGenerator.gameHeight;

            var game = new TetrisGame(id, Square.Styles(styles), _engine, factory, gameWidth, gameHeight, Settings.Default.DefaultSpeed);

            game.SetController(controller);
            ItemSystem.Bind(game);
            ScoreSystem.Bind(game);
            AchievementSystem.Bind(game, user);
            games[id] = game;
            return(game);
        }
Пример #14
0
 public override void Execute(NPC npc)
 {
     if (LogSystem.IfSpeakEnded())
     {
         npc.ChangeState(new StandState());
         ItemSystem.AddItem("小钥匙");
     }
 }
Пример #15
0
 public override void Execute(Machine machine)
 {
     if (machine.IfInteracted() && ItemSystem.GetCurrentItem() == "电闸零件")
     {
         EBrake.brakeIsOn = false;
         ++EBrake.counter;
     }
 }
Пример #16
0
    void BuyItemProcessing()
    {
        switch (paymentType)
        {
        case PaymentType.Coin:
            if (Common.PaymentCheck(ref User.coin, paymentAmount))
            {
                OnButtonEffectSound();
                if (buyItemId > 9000)
                {
                    ItemSystem.SetObtainMoney(buyItemId);
                }
                else
                {
                    ItemSystem.SetObtainItem(buyItemId);
                }
                CallbackScriptRefresh();
                Item id = ItemSystem.GetItem(buyItemId);
                GoogleSignManager.SaveData();
                UI_Manager.instance.ShowGetAlert(id.image, string.Format("<color='yellow'>{0}</color> {1}", ItemSystem.GetItemName(id.id), LocalizationManager.GetText("alertGetMessage3")));
            }
            else
            {
                UI_Manager.instance.ShowAlert(UI_Manager.PopupAlertTYPE.coin, paymentAmount);
            }
            break;

        case PaymentType.BlackCrystal:
            if (Common.PaymentCheck(ref User.blackCrystal, paymentAmount))
            {
                OnButtonEffectSound();
                if (buyItemId > 9000)
                {
                    ItemSystem.SetObtainMoney(buyItemId);
                }
                else
                {
                    ItemSystem.SetObtainItem(buyItemId);
                }
                CallbackScriptRefresh();
                Item id = ItemSystem.GetItem(buyItemId);
                GoogleSignManager.SaveData();
                UI_Manager.instance.ShowGetAlert(id.image, string.Format("<color='yellow'>{0}</color> {1}", ItemSystem.GetItemName(id.id), LocalizationManager.GetText("alertGetMessage3")));
            }
            else
            {
                UI_Manager.instance.ShowAlert(UI_Manager.PopupAlertTYPE.blackCrystal, paymentAmount);
            }
            break;

        case PaymentType.Cash:
            OnButtonEffectSound();
            IAPManager.instance.OnBtnPurchaseClicked(buyItemId);
            CallbackScriptRefresh();
            Debugging.Log(buyItemId + " 현금거래 버튼 입니다. >> Cash : " + paymentAmount);
            break;
        }
    }
Пример #17
0
 private void Awake()
 {
     instance = this;
     player   = GameObject.Find("Player");
     player.SetActive(false);
     itemSys = GameObject.Find("ItemUI").GetComponent <ItemSystem>();
     goalDoor.AddComponent <StageStartSetting_GoalDoor>();
     itemSys.CanUseItem(canUseItemList);
 }
Пример #18
0
 public void Awake()
 {
     instance = this;
     for (int i = 0; i < itemList.Count; i++)
     {
         itemList[i].name = itemList[i].itemType.ToString();
     }
     ItemUIObj_Reflash(true);
 }
Пример #19
0
    void Awake()
    {
        return;

        this._mapSystem       = new MapSystem();
        this._characterSystem = new CharacterSystem();
        this._itemSystem      = new ItemSystem();
        this._poolManager     = PoolManager.Instance;
    }
Пример #20
0
 // 单例的使用
 private ControllerCenter()
 {
     renderSystem     = new RendererSystem();
     playerSystem     = new PlayerSystem();
     ActionSystem     = new ActionSystem();
     gameobjectSystem = new GameObjectSystem();
     itemSystem       = new ItemSystem();
     skillitemSystem  = new SkillItemSystem();
 }
Пример #21
0
 private void Start()
 {
     HeroSystem.LoadHero();
     SkillSystem.LoadSkill();
     AbilitySystem.LoadAbility();
     ItemSystem.LoadItem();
     MapSystem.LoadMap();
     MissionSystem.LoadMission();
     LocalizationManager.LoadLanguage(User.language);
 }
Пример #22
0
 private void Update()
 {
     if (bi != null && bi.isActed())
     {
         Fade.Disappear(gameObject);
         ItemSystem.AddItem(itemName);
         Destroy(bi);
         Destroy(GetComponent <BasicInteractive>());
     }
 }
Пример #23
0
    public static Sprite GetMissionImage(Mission mission)
    {
        Sprite sprite = Resources.Load <Sprite>("Mission/mission_" + mission.clearType);

        if (sprite != null)
        {
            return(sprite);
        }
        return(ItemSystem.GetItemNoneImage());
    }
Пример #24
0
    private void GenerateConsumable(GameObject tempItem)
    {
        tempItem.AddComponent <ItemSystem>();
        ItemSystem consumable = tempItem.GetComponent <ItemSystem>();

        randomchance    = Random.Range(0, ItemDatabase.instance.ItemContainer.Consumables.Count);
        consumable.Item = ItemDatabase.instance.ItemContainer.Consumables[randomchance];
        inventory.AddItem(consumable);
        Destroy(tempItem);
    }
Пример #25
0
    private void GenerateArmour(GameObject tempItem)
    {
        tempItem.AddComponent <ItemSystem>();
        ItemSystem armour = tempItem.GetComponent <ItemSystem>();

        randomchance = Random.Range(0, ItemDatabase.instance.ItemContainer.Armour.Count);
        armour.Item  = ItemDatabase.instance.ItemContainer.Armour[randomchance];
        inventory.AddItem(armour);
        Destroy(tempItem);
    }
Пример #26
0
    private void GenerateWeapon(GameObject tempItem)
    {
        tempItem.AddComponent <ItemSystem>();
        ItemSystem weapon = tempItem.GetComponent <ItemSystem>();

        randomchance = Random.Range(0, ItemDatabase.instance.ItemContainer.Weapons.Count);
        weapon.Item  = ItemDatabase.instance.ItemContainer.Weapons[randomchance];
        inventory.AddItem(weapon);
        Destroy(tempItem);
    }
Пример #27
0
    public static Sprite GetSkillImage(int id)
    {
        Sprite sprite = Resources.Load <Sprite>(skills.Find(x => x.id == id || x.id.Equals(id)).image);

        if (sprite == null)
        {
            sprite = ItemSystem.GetItemNoneImage();
        }
        return(sprite);
    }
Пример #28
0
 void OnMouseOver()
 {
     if ((Input.GetMouseButtonDown(1) || Input.GetMouseButtonDown(0)) && ItemSystem.GetCurrentItem() == "电池")
     {
         ItemSystem.DeleteItem("电池");
         EBrake.brakeIsOn = false;
         EBrake.isNotOver = true;
         ++EBrake.counter;
     }
 }
Пример #29
0
 public static int GetHeroStatusSkillEnergy(ref HeroData data)
 {
     if (data.type == 0)
     {
         return(data.intelligent + AbilitySystem.GetAbilityStats(6) + ItemSystem.GetHeroEquipmentItemSkillEnergy(ref data));
     }
     else
     {
         return(data.intelligent);
     }
 }
Пример #30
0
    public void AddItem(ItemSystem item)
    {
        items.Push(item);

        if (items.Count > 1)
        {
            stackAmountText.text = items.Count.ToString();
        }

        UpdateSprite(item.normalSprite, item.hoversprite);
    }
 public EntityMaintenanceSystem(EffectSystem eSys, EntityManager eMan, EquipmentSystem eqSys, ExperienceSystem xSys, GearSystem gSys, ItemInventorySystem invSys, ItemSystem iSys, NameSystem nSys, PlayerSystem pSys, ProfessionSystem profSys, StatsSystem sSys, StatModifierSystem smSys)
 {
     effectSystem = eSys;
     entityManager = eMan;
     equipmentSystem = eqSys;
     experienceSystem = xSys;
     gearSystem = gSys;
     inventorySystem=invSys;
     itemSystem = iSys;
     nameSystem = nSys;
     playerSystem = pSys;
     professionSystem = profSys;
     statsSystem = sSys;
     modifierSystem = smSys;
 }
Пример #32
0
        public ShopState(EntityMaintenanceSystem eMS, GearSystem gSys, StatModifierSystem sMSys, StatsSystem sSys, ExperienceSystem eSys, PlayerSystem pSys, DropSystem dSys, NameSystem nSys, StateMachine sMach, ItemSystem iSys, GameMap gMap)
        {
            entMaintenanceSystem = eMS;
            gearSystem = gSys;
            modifierSystem = sMSys;
            statsSystem = sSys;
            experienceSystem = eSys;
            playerSystem = pSys;
            dropSystem=dSys;
            nameSystem = nSys;
            itemSystem = iSys;

            stateSystem = sMach;

            gameMap = gMap;
            NumItems = 5;
        }
Пример #33
0
 public EntityManager(StateMachine sMach, DropSystem dSys, PlayerSystem pS, StatsSystem sS, ItemSystem iS, StatModifierSystem mS, EffectSystem efS, EquipmentSystem eqS, AISystem aiS, GearSystem gS, ExperienceSystem xS, ItemInventorySystem invS, NameSystem nS, ProfessionSystem profS, ActionSystem actS, ActionInventorySystem aInvS, CombatSystem cSys, EntityMaintenanceSystem eMS)
 {
     stateSystem = sMach;
     dropSystem = dSys;
     entMaintenanceSystem = eMS;
     aInventorySystem = aInvS;
     combatSystem = cSys;
     playerSystem = pS;
     statsSystem = sS;
     itemSystem = iS;
     modifierSystem = mS;
     effectSystem = efS;
     equipmentSystem = eqS;
     aiSystem = aiS;
     gearSystem = gS;
     experienceSystem = xS;
     inventorySystem = invS;
     nameSystem = nS;
     professionSystem = profS;
     actionSystem = actS;
 }
Пример #34
0
        private void InitializeSystems()
        {
            Console.WriteLine("Initializing Game Systems");

            professionSystem = new ProfessionSystem();
            effectSystem=new EffectSystem(lua);
            equipmentSystem = new EquipmentSystem();
            experienceSystem = new ExperienceSystem();         
            itemSystem = new ItemSystem();
            inventorySystem = new ItemInventorySystem();
            modifierSystem = new StatModifierSystem();
            nameSystem = new NameSystem(lua);
            playerSystem = new PlayerSystem(nameSystem, stateSystem);
            gearSystem = new GearSystem();
            statsSystem = new StatsSystem();
            aInventorySystem = new ActionInventorySystem(lua, statsSystem);
            actionSystem = new ActionSystem(lua);
            aiSystem = new AISystem();
            dropSystem = new DropSystem(dropMap);
        }