示例#1
0
    private void ChangeRune(EventInfo eventInfo)
    {
        runeSprite.enabled     = true;
        runeBackground.enabled = true;
        ChangeRuneEventInfo changeRuneInfo = (ChangeRuneEventInfo)eventInfo;

        currentRune = changeRuneInfo.newRune;
        Debug.Log("Changeing from currentrune value " + currentRune.GetRuneValue());
        DisEnableAllRunes();
        switch (currentRune.GetRuneValue())
        {
        case 1:
            ChangeRuneSprite(changeRuneInfo.newRune);
            thunderRune.enabled = true;
            break;

        case 2:
            ChangeRuneSprite(changeRuneInfo.newRune);
            calmRune.enabled = true;
            break;

        case 3:
            ChangeRuneSprite(changeRuneInfo.newRune);
            locateRune.enabled = true;
            break;

        default:
            runeSprite.sprite = null;
            break;
        }
    }
示例#2
0
    /// <summary>
    /// Adds a rune to the Rune Array.
    /// </summary>
    /// <param name="rune"> Contains information about the runes values</param>
    public void AddRune(EventInfo eventInfo)
    {
        Rune            rune = null;
        RewardQuestInfo rqei = (RewardQuestInfo)eventInfo;

        if (rqei.rewardNumber == 1)
        {
            rune = new Rune(1, "Thunder", 50);
        }
        else if (rqei.rewardNumber == 2)
        {
            rune = new Rune(2, "Calm", 45);
        }
        else if (rqei.rewardNumber == 3)
        {
            rune = new Rune(3, "Locate", 20);
        }
        if (rune == null)
        {
            return;
        }

        rune.Index = RuneNumber;
        if (RuneNumber == 0)
        {
            CurrentRune = rune;
            ChangeRuneEventInfo crei = new ChangeRuneEventInfo {
                newRune = rune
            };
            EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.ChangeRune, crei);
        }
        Runes[RuneNumber] = rune;
        RuneNumber++;
    }
示例#3
0
    /// <summary>
    /// Uses different runes depending on the <see cref="CurrentRune"/> value. And enables the selection of rune.
    /// </summary>
    private void RuneKeys()
    {
        if (Input.GetButtonDown("Rune activation key") || (Input.GetAxisRaw("Rune activation axis") > 0 && XboxInputLeftTriggerNotOnCooldown == true))
        {
            XboxInputLeftTriggerNotOnCooldown = false;
            owner.StartCoroutine(owner.XboxCooldown());
            if (CurrentRune != null && CurrentRune.ReadyToUse() && !Source.isPlaying)
            {
                CurrentRune.Used();
                switch (CurrentRune.GetRuneValue())
                {
                case 1:
                    AudioClip clip = StunGiantSound;
                    Source.PlayOneShot(clip);
                    StunGiantEventInfo sgei = new StunGiantEventInfo {
                        playerPosition = Position.position, stunDistance = StunRange
                    };
                    EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.StunGiant, sgei);
                    MadeANoise(clip.length);
                    break;

                case 2:
                    CalmCowEvent cce = new CalmCowEvent {
                        playerPosition = Position.position
                    };
                    EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.CalmCow, cce);
                    MadeANoise(1);
                    break;

                case 3:
                    LocateCowEventInfo lcei = new LocateCowEventInfo {
                        playerPosition = Position.position
                    };
                    EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.LocateCow, lcei);
                    MadeANoise(1);
                    break;

                default:
                    break;
                }
            }
        }

        if (Input.GetButton("Change rune key") || (Input.GetAxisRaw("Change rune axis") < 0 && XboxInputDownNotOnCooldown == true))
        {
            if (CurrentRune != null)
            {
                XboxInputDownNotOnCooldown = false;
                owner.StartCoroutine(owner.XboxCooldown());
                int temp = CurrentRune.Index;
                temp++;
                if (temp >= RuneNumber)
                {
                    temp = 0;
                }
                CurrentRune = Runes[temp];
                Debug.Log("Sending change rune event with value " + CurrentRune.GetRuneValue());
                ChangeRuneEventInfo crei = new ChangeRuneEventInfo {
                    newRune = CurrentRune
                };
                EventHandeler.Current.FireEvent(EventHandeler.EVENT_TYPE.ChangeRune, crei);
            }
        }
    }