Ejemplo n.º 1
0
 public virtual void FireEvent(BaseEvent evt, MPEventDispatchMode mode = 0)
 {
     if (!this._isStopped && ((this._maskedEvtTypes.Count <= 0) || !this._maskedEvtTypes.Contains(evt.GetType())))
     {
         evt.parent = this._curParentEvt;
         this._queuedEvents.Add(evt);
     }
 }
Ejemplo n.º 2
0
 public override void FireEvent(BaseEvent evt, MPEventDispatchMode mode)
 {
     evt.remoteState = (mode != MPEventDispatchMode.CheckRemoteMode) ? EventRemoteState.Idle : EventRemoteState.NeedCheckForRemote;
     if (mode == MPEventDispatchMode.CheckRemoteMode)
     {
         evt.fromPeerID = Singleton <MPManager> .Instance.peerID;
     }
     base.FireEvent(evt, mode);
 }
Ejemplo n.º 3
0
 public static void SendHitEvent(uint attackerID, uint beHitID, string attackName, AttackResult.HitCollsion hitCollision, AttackData attackData, bool forceSkipAttackerResolve = false, MPEventDispatchMode mode = 0)
 {
     if (forceSkipAttackerResolve || Singleton <LevelManager> .Instance.gameMode.ShouldAttackPatternSendBeingHit(beHitID))
     {
         EvtBeingHit evt = new EvtBeingHit {
             targetID    = beHitID,
             sourceID    = attackerID,
             animEventID = attackName
         };
         if (attackData != null)
         {
             if (attackData.hitCollision == null)
             {
                 attackData.hitCollision = hitCollision;
             }
             evt.attackData = attackData;
         }
         else
         {
             evt.attackData              = DamageModelLogic.CreateAttackDataFromAttackerAnimEvent(Singleton <EventManager> .Instance.GetActor(attackerID), attackName);
             evt.attackData.resolveStep  = AttackData.AttackDataStep.AttackerResolved;
             evt.attackData.hitCollision = hitCollision;
         }
         Singleton <EventManager> .Instance.FireEvent(evt, mode);
     }
     else
     {
         EvtHittingOther other = new EvtHittingOther {
             hitCollision = hitCollision,
             targetID     = attackerID,
             toID         = beHitID,
             animEventID  = attackName
         };
         if (attackData != null)
         {
             if (attackData.hitCollision == null)
             {
                 attackData.hitCollision = hitCollision;
             }
             other.attackData = attackData;
         }
         else
         {
             other.hitCollision = hitCollision;
         }
         Singleton <EventManager> .Instance.FireEvent(other, mode);
     }
 }