Пример #1
0
 public override void NotifyDropEvent(PoolObjHandle <ActorRoot> actor)
 {
     DebugHelper.Assert((bool)actor);
     if (actor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster)
     {
         ResMonsterCfgInfo info         = base.FindMonsterConfig(actor.handle.TheActorMeta.ConfigId);
         object[]          inParameters = new object[] { actor.handle.TheActorMeta.ConfigId };
         DebugHelper.Assert(info != null, "怪物数据档里面找不到id:{0}", inParameters);
         if (info != null)
         {
             RES_DROP_PROBABILITY_TYPE iDropProbability = (RES_DROP_PROBABILITY_TYPE)info.iDropProbability;
             if (iDropProbability == RES_DROP_PROBABILITY_TYPE.RES_PROBABILITY_SETTLE)
             {
                 this.FinishDrop();
             }
             else if ((this.hasRemain && (iDropProbability != ((RES_DROP_PROBABILITY_TYPE)0))) && (FrameRandom.Random(100) <= ((ushort)iDropProbability)))
             {
                 this.PlayDrop();
             }
         }
     }
 }
Пример #2
0
 public override void NotifyDropEvent(PoolObjHandle <ActorRoot> actor)
 {
     DebugHelper.Assert(actor);
     if (actor.get_handle().TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster)
     {
         ResMonsterCfgInfo resMonsterCfgInfo = base.FindMonsterConfig(actor.get_handle().TheActorMeta.ConfigId);
         DebugHelper.Assert(resMonsterCfgInfo != null, "怪物数据档里面找不到id:{0}", new object[]
         {
             actor.get_handle().TheActorMeta.ConfigId
         });
         if (resMonsterCfgInfo != null)
         {
             RES_DROP_PROBABILITY_TYPE iDropProbability = resMonsterCfgInfo.iDropProbability;
             if (iDropProbability == 101)
             {
                 this.FinishDrop();
             }
             else if (this.hasRemain && iDropProbability != null && FrameRandom.Random(100u) <= iDropProbability)
             {
                 this.PlayDrop();
             }
         }
     }
 }