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(); } } } }
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(); } } } }