示例#1
0
 public void UpLevel()
 {
     Debug.Log("UpLevel from " + CurrLevel + " to " + (CurrLevel + 1));
     CurrLevel++;
     AudioManager.Instance.Play("LevelUp");
     LevelUp?.Invoke(CurrLevel);
 }
示例#2
0
        private void LateUpdate()
        {
            if (CurrentRow <= TrainController.TargetRail.Row + RowsAfter)
            {
                if (CurrentRow % 10 == 0)
                {
                    LevelUp?.Invoke();
                }
                GenerateRails();

                if (TrainController.TargetRail.Row - RowsBefore >= 0)
                {
                    foreach (var oldRail in _rowsList[TrainController.TargetRail.Row - RowsBefore].Rails)
                    {
                        if (oldRail != null)
                        {
                            oldRail.ReturnToPool();
                        }
                    }
                }
            }

            if (CurrentRow == RowsAfter && !_uiService.IsFirstTime)
            {
                InitialRailController.SwitchRail();
            }
        }
示例#3
0
        public void Add(int amount)
        {
            if (Level >= MaxLevel)
            {
                return;
            }

            Current += amount;
            Changed?.Invoke(this);

            while (Current >= RequiredNextLevel())
            {
                Level = Math.Min(MaxLevel, Level + 1);

                LevelUp?.Invoke(this);
                Changed?.Invoke(this);

                if (Level < MaxLevel)
                {
                    continue;
                }

                Level   = MaxLevel;
                Current = RequiredNextLevel();
                break;
            }
        }
示例#4
0
 void Update()
 {
     if (EnemySpawner.Instance.totalKills + 1 >= Mathf.Pow(spawner.tierScaleFactor, level))
     {
         level++;
         levelUP?.Invoke();
         animator.SetTrigger("LevelUp");
     }
 }
示例#5
0
文件: HUD.cs 项目: abt31/Dodge-Bomb
    /// <summary>
    /// Trigger level up event when timer finishes and change text
    /// </summary>
    void HandleLevelTimerFinished()
    {
        levelTimer.Stop();
        level++;

        // 8 levels in the game
        if (level <= 8)
        {
            levelUp.Invoke(level);
            levelText.text      = levelPrefix + level;
            levelTime          += ConfigurationUtils.LevelTimerIncrease;
            levelTimer.Duration = levelTime;
            levelTimer.Run();
            timeLeftText.text = timeLeftPrefix + levelTime;
        }
        else
        {
            // Invoke player won event
            playerWon.Invoke();
        }
    }
 protected virtual void OnLevelUp() => LevelUp?.Invoke(this, EventArgs.Empty);
示例#7
0
        private void _evaluteEvent(string parEvent, object[] parArgs)
        {
            if (OnEvent != null)
            {
                var args = new OnEventArgs(parEvent, parArgs);
                OnEvent.Invoke(this, args);
            }

            //Console.WriteLine(parEvent);
            //OUTPUTAssist.PrintEvent(parEvent, parArgs);
            if (parEvent == "PLAYER_TARGET_CHANGED")
            {
                OnTargetChange?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "QUEST_FINISHED")
            {
                if (QuestFrame.IsOpen)
                {
                    QuestFrame.Destroy();
                }

                if (QuestGreetingFrame.IsOpen)
                {
                    QuestGreetingFrame.Destroy();
                }
            }
            else if (parEvent == "QUEST_PROGRESS" ||
                     parEvent == "QUEST_COMPLETE" ||
                     parEvent == "QUEST_DETAIL")
            {
                DirectX.Instance.Execute(QuestFrame.Create, 100);
            }
            else if (parEvent == "QUEST_GREETING")
            {
                DirectX.Instance.Execute(QuestGreetingFrame.Create, 100);
            }
            else if (parEvent == "UNIT_LEVEL")
            {
                if ((string)parArgs[0] != "player")
                {
                    return;
                }
                LevelUp?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "PLAYER_MONEY")
            {
                OnMoneyChange?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "CHAT_MSG_LOOT")
            {
                // You receive loot: |cff9d9d9d|Hitem:7098:0:0:0|h[Splintered Tusk]|h|rx2.
                if (OnLoot == null)
                {
                    return;
                }
                var arg1      = (string)parArgs[0];
                var argArr    = arg1.Split('|');
                var itemId    = Convert.ToInt32(argArr[2].Split(':')[1]);
                var itemName  = argArr[3].Substring(2, argArr[3].Length - 3);
                var itemCount = 1;
                if (argArr[5].Length != 2)
                {
                    itemCount = Convert.ToInt32(argArr[5].Substring(2, argArr[5].Length - 3));
                }
                OnLoot.Invoke(this, new OnLootArgs(itemId, itemName, itemCount));
            }
            else if (parEvent == "OPEN_STATUS_DIALOG")
            {
                if (OnWrongLogin == null)
                {
                    return;
                }
                if (parArgs.Length != 2)
                {
                    return;
                }
                if ((string)parArgs[0] != "OKAY")
                {
                    return;
                }
                if ((string)parArgs[1] != "The information you have entered is not valid.")
                {
                    return;
                }
                OnWrongLogin.Invoke(this, new EventArgs());
            }
            else if (parEvent == "UPDATE_SELECTED_CHARACTER")
            {
                OnCharacterListLoaded?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "UPDATE_STATUS_DIALOG")
            {
                if (InServerQueue == null)
                {
                    return;
                }
                if (parArgs.Length != 2)
                {
                    return;
                }
                if (!((string)parArgs[0]).Contains("Position in queue:"))
                {
                    return;
                }
                if ((string)parArgs[1] != "Change Realm")
                {
                    return;
                }
                InServerQueue.Invoke(this, new EventArgs());
            }
            else if (parEvent == "GET_PREFERRED_REALM_INFO")
            {
                OnChooseRealm?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "DISCONNECTED_FROM_SERVER")
            {
                OnDisconnect?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "UI_ERROR_MESSAGE")
            {
                OnErrorMessage?.Invoke(this, new OnUiMessageArgs((string)parArgs[0]));
            }
            else if (parEvent == "UI_INFO_MESSAGE")
            {
                OnUiMessage?.Invoke(this, new OnUiMessageArgs((string)parArgs[0]));
            }
            else if (parEvent == "CHAT_MSG_SYSTEM")
            {
                OnSystemMessage?.Invoke(this, new OnUiMessageArgs((string)parArgs[0]));
            }
            else if (parEvent == "PLAYER_REGEN_ENABLED")
            {
                OnFightStop?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "PLAYER_REGEN_DISABLED")
            {
                OnFightStart?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "CHAT_MSG_COMBAT_HOSTILE_DEATH")
            {
                if (OnUnitKilled == null)
                {
                    return;
                }
                if (!((string)parArgs[0]).Contains("You have"))
                {
                    return;
                }
                OnUnitKilled.Invoke(this, new EventArgs());
            }
            else if (parEvent == "CHAT_MSG_SAY")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Say";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];

                var args = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);

                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_MONSTER_SAY")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Say";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Npc, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_MONSTER_YELL")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Yell";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Npc, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_YELL")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Yell";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_CHANNEL")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Channel " + (int)parArgs[7];
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_RAID")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Raid";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_GUILD")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, "Guild", chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_PARTY")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Party";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "CHAT_MSG_WHISPER")
            {
                if (OnChatMessage == null)
                {
                    return;
                }
                var unitName    = (string)parArgs[1];
                var chatType    = "Whisper";
                var chatTag     = (string)parArgs[5];
                var chatMessage = (string)parArgs[0];
                var args        = new ChatMessageArgs(Enums.ChatSenderType.Player, chatTag, unitName, chatType, chatMessage);
                OnChatMessage.Invoke(this, args);
            }
            else if (parEvent == "DUEL_REQUESTED")
            {
                OnDuelRequest?.Invoke(this, new OnRequestArgs((string)parArgs[0]));
            }
            else if (parEvent == "GUILD_INVITE_REQUEST")
            {
                if (OnGuildInvite == null)
                {
                    return;
                }
                var player = (string)parArgs[0];
                var guild  = (string)parArgs[1];
                OnGuildInvite.Invoke(this, new GuildInviteArgs(player, guild));
            }
            else if (parEvent == "TRADE_SHOW")
            {
                OnTradeShow?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "PARTY_INVITE_REQUEST")
            {
                OnPartyInvite?.Invoke(this, new OnRequestArgs((string)parArgs[0]));
            }
            else if (parEvent == "PLAYER_DEAD")
            {
                OnDeath?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "PLAYER_UNGHOST")
            {
                OnResurrect?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "CORPSE_IN_RANGE")
            {
                OnCorpseInRange?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "CORPSE_OUT_OF_RANGE")
            {
                OnCorpseOutOfRange?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "LOOT_OPENED")
            {
                LOOT_HANDLE(LootState.SHOW);
            }
            else if (parEvent == "LOOT_CLOSED")
            {
                LOOT_HANDLE(LootState.CLOSE);
            }
            else if (parEvent == "UNIT_AURA")
            {
                AuraChanged?.Invoke(this, new AuraChangedArgs((string)parArgs[0]));
            }
            else if (parEvent == "CHAT_MSG_SKILL")
            {
                OnSkillMessage?.Invoke(this, new OnUiMessageArgs((string)parArgs[0]));
            }
            else if (parEvent == "CHAT_MSG_COMBAT_XP_GAIN")
            {
                if (OnXpGain == null)
                {
                    return;
                }
                var str   = (string)parArgs[0];
                var regex = new Regex("(?i)you gain [0-9]+");
                var match = regex.Match(str);
                regex = new Regex("[0-9]+");
                str   = regex.Match(match.Value).Value;
                OnXpGain?.Invoke(this, new OnXpGainArgs(Convert.ToInt32(str)));
            }
            else if (parEvent == "UNIT_MODEL_CHANGED")
            {
            }
            else if (parEvent == "GOSSIP_SHOW")
            {
                GOSSIP_SHOW();
            }
            else if (parEvent == "GOSSIP_CLOSED")
            {
                GOSSIP_CLOSED();
            }
            else if (parEvent == "MERCHANT_SHOW")
            {
                Console.WriteLine("MERCHANT_SHOW occured");
                MERCHANT_HANDLE(MerchantState.SHOW);
            }
            else if (parEvent == "MERCHANT_CLOSED")
            {
                MERCHANT_HANDLE(MerchantState.CLOSE);
            }
            else if (parEvent == "TAXIMAP_OPENED")
            {
                TAXIMAP_OPENED();
            }
            else if (parEvent == "TAXIMAP_CLOSED")
            {
                TAXIMAP_CLOSED();
            }
            else if (parEvent == "TRAINER_SHOW")
            {
                TRAINER_SHOW();
            }
            else if (parEvent == "TRAINER_CLOSED")
            {
                TRAINER_CLOSED();
            }
            else if (parEvent == "BANKFRAME_OPENED")
            {
                OnBankFrameOpen?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "BANKFRAME_CLOSED")
            {
                OnBankFrameClosed?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "MAIL_SHOW")
            {
                OnMailboxOpen?.Invoke(this, new EventArgs());
            }
            else if (parEvent == "MAIL_CLOSED")
            {
                OnMailboxClosed?.Invoke(this, new EventArgs());
            }
        }
示例#8
0
 public int Add(int value)
 {
     Level += value;
     LevelUp?.Invoke(null, "going up", value);
     return(Level);
 }