コード例 #1
0
    public void OnGlobalEvent(GlobalEventName eventName)
    {
        var player = this.GetPlayer();

        if (eventName == GlobalEventName.BeginGame)
        {
            for (int i = 0; i < 2; i++)
            {
                DrawCard();
            }
        }
        // Start of Turn
        if (eventName == GlobalEventName.BeginTurn &&
            player.number == ManagerGame.instance.currentPlayerIndex)
        {
            var entity = GetComponent <EntityData>();

            // Increase mana
            entity.maxMana = Math.Min(entity.maxMana + 1, 10);
            entity.mana    = entity.maxMana;

            DrawCard();
        }
        // Check if hero is dead
        if (eventName == GlobalEventName.EndPhase && GetComponent <EntityData>().health <= 0)
        {
            Destroy(gameObject);
            gameObject.SetActive(false);
        }
    }
コード例 #2
0
 public static void TriggerGlobalEvent(this GameObject trigger, GlobalEventName eventName)
 {
     foreach (var item in trigger.GetComponentsInChildren <IOnGlobalEvent>())
     {
         if (item.globalEventName == GlobalEventName.Any || eventName == item.globalEventName)
         {
             item.OnGlobalEvent(eventName);
         }
     }
 }
コード例 #3
0
ファイル: TRIGGER_OnTurn.cs プロジェクト: F286/Freestone
 public void OnGlobalEvent(GlobalEventName eventName)
 {
     if (turnState == TurnState.Begin && eventName == GlobalEventName.BeginTurn ||
         turnState == TurnState.End && eventName == GlobalEventName.EndTurn)
     {
         if (this.GetLocation() == CardLocation.Board)
         {
             if (this.GetPlayer() == ManagerGame.instance.currentPlayer)
             {
                 this.TriggerEvent();
             }
         }
     }
 }
コード例 #4
0
ファイル: Minion.cs プロジェクト: F286/Freestone
 public void OnGlobalEvent(GlobalEventName eventName)
 {
     if (transform.parent.name == "board")
     {
         if (eventName == GlobalEventName.BeginTurn &&
             this.GetPlayer().number == ManagerGame.instance.currentPlayerIndex)
         {
             GetComponent <EntityData>().canAttack = true;
         }
         if (eventName == GlobalEventName.EndPhase && GetComponent <EntityData>().health <= 0)
         {
             gameObject.TriggerGlobalEvent(GlobalEventName.OnDeath);
             Destroy(gameObject);
             gameObject.SetActive(false);
         }
     }
 }
コード例 #5
0
 public void OnGlobalEvent(GlobalEventName eventName)
 {
     this.TriggerEvent();
 }
コード例 #6
0
ファイル: Spell.cs プロジェクト: F286/Freestone
 public void OnGlobalEvent(GlobalEventName eventName)
 {
     var player = this.GetPlayer();
 }