コード例 #1
0
        public void OnHirelingUpdated(Object p_sender, EventArgs p_args)
        {
            HirelingEventArgs hirelingEventArgs = p_args as HirelingEventArgs;

            if (hirelingEventArgs == null)
            {
                return;
            }
            String p_message = String.Empty;
            String text      = LocaManager.GetText(hirelingEventArgs.Npc.StaticData.NameKey);

            if (hirelingEventArgs.Condition == ETargetCondition.HIRE)
            {
                String id = "GAME_MESSAGE_HIRELING_JOINED_M";
                p_message = LocaManager.GetText(id, text);
            }
            else
            {
                if (hirelingEventArgs.Condition != ETargetCondition.FIRE)
                {
                    return;
                }
                String id2 = "GAME_MESSAGE_HIRELING_LEFT_M";
                p_message = LocaManager.GetText(id2, text);
            }
            GameMessage item = new GameMessage(p_message);

            m_queuedMessages.Enqueue(item);
        }
コード例 #2
0
 private void OnNPCHirelingUpdated(Object sender, EventArgs p_args)
 {
     if (p_args is HirelingEventArgs)
     {
         HirelingEventArgs hirelingEventArgs = (HirelingEventArgs)p_args;
         if (hirelingEventArgs.Npc != null)
         {
             foreach (NpcEffect npcEffect in hirelingEventArgs.Npc.StaticData.NpcEffects)
             {
                 if (npcEffect.TargetEffect == NeededEnhancedHirelingCondition)
                 {
                     CheckVisibility(null, EventArgs.Empty);
                     if (hirelingEventArgs.Condition == ETargetCondition.FIRE)
                     {
                         FadeOutHighlight();
                         return;
                     }
                     if (hirelingEventArgs.Condition == ETargetCondition.HIRE && m_IsHighlighted)
                     {
                         m_IsHighlighted = false;
                         Highlight();
                         return;
                     }
                 }
             }
         }
     }
 }
コード例 #3
0
        private void OnHirelingUpdated(Object sender, EventArgs args)
        {
            HirelingEventArgs hirelingEventArgs = (HirelingEventArgs)args;
            NpcContainer      npcContainer      = MyController as NpcContainer;

            if (npcContainer != null && npcContainer.Contains(hirelingEventArgs.Npc))
            {
                UpdateVisibility();
            }
        }
コード例 #4
0
 public Boolean Fire(Npc p_npc)
 {
     for (Int32 i = 0; i < 2; i++)
     {
         if (m_hirelings[i] == p_npc)
         {
             m_hirelings[i] = null;
             HirelingEventArgs p_eventArgs = new HirelingEventArgs(ETargetCondition.FIRE, p_npc, i);
             LegacyLogic.Instance.CharacterBarkHandler.RandomPartyMemberBark(EBarks.FIRE_HIRELING);
             LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.NPC_HIRELING_UPDATED, p_eventArgs);
             return(true);
         }
     }
     return(false);
 }
コード例 #5
0
ファイル: HirelingHUD.cs プロジェクト: acosin/MMXLegacy
 private void OnHirelingsUpdated(Object p_sender, EventArgs p_args)
 {
     if (p_args is HirelingEventArgs && ((HirelingEventArgs)p_args).Index == m_idx)
     {
         HirelingEventArgs hirelingEventArgs = (HirelingEventArgs)p_args;
         ETargetCondition  condition         = hirelingEventArgs.Condition;
         if (condition != ETargetCondition.HIRE)
         {
             if (condition == ETargetCondition.FIRE)
             {
                 SetView(null);
             }
         }
         else
         {
             SetView(hirelingEventArgs.Npc);
         }
     }
 }
コード例 #6
0
        public void Load(SaveGameData p_data)
        {
            Int32 num = p_data.Get <Int32>("HirelingCount", 0);

            for (Int32 i = 0; i < num; i++)
            {
                Int32 num2 = p_data.Get <Int32>("Hireling" + i, -1);
                if (num2 != -1)
                {
                    if (num2 == 203)
                    {
                        num2 = 210;
                    }
                    m_hirelings[i] = LegacyLogic.Instance.WorldManager.NpcFactory.Get(num2);
                    HirelingEventArgs p_eventArgs = new HirelingEventArgs(ETargetCondition.HIRE, m_hirelings[i], i);
                    LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.NPC_HIRELING_UPDATED, p_eventArgs);
                }
                else
                {
                    m_hirelings[i] = null;
                }
            }
        }