public static bool OnSkillFuncChangeMgcEffect(ref SSkillFuncContext inContext)
 {
     if (inContext.inStage == ESkillFuncStage.Enter)
     {
         int skillFuncParam = inContext.GetSkillFuncParam(0, false);
         int skillFuncParam2 = inContext.GetSkillFuncParam(2, false);
         int skillFuncParam3 = inContext.GetSkillFuncParam(4, false);
         inContext.inTargetObj.get_handle().ValueComponent.mActorValue[1].totalEftRatioByMgc += skillFuncParam2;
         inContext.inTargetObj.get_handle().ValueComponent.mActorValue[5].totalEftRatioByMgc += skillFuncParam3;
         if (inContext.inTargetObj && inContext.inTargetObj.get_handle().ValueComponent != null)
         {
             ValueProperty valueComponent = inContext.inTargetObj.get_handle().ValueComponent;
             valueComponent.OnValuePropertyChangeByMgcEffect();
             inContext.inTargetObj.get_handle().ValueComponent.mActorValue[2].ChangeEvent -= new ValueChangeDelegate(valueComponent.OnValuePropertyChangeByMgcEffect);
             inContext.inTargetObj.get_handle().ValueComponent.mActorValue[2].ChangeEvent += new ValueChangeDelegate(valueComponent.OnValuePropertyChangeByMgcEffect);
         }
     }
     else if (inContext.inStage == ESkillFuncStage.Leave)
     {
         int skillFuncParam4 = inContext.GetSkillFuncParam(2, false);
         int skillFuncParam5 = inContext.GetSkillFuncParam(4, false);
         inContext.inTargetObj.get_handle().ValueComponent.mActorValue[1].totalEftRatioByMgc -= skillFuncParam4;
         inContext.inTargetObj.get_handle().ValueComponent.mActorValue[5].totalEftRatioByMgc -= skillFuncParam5;
         if (inContext.inTargetObj && inContext.inTargetObj.get_handle().ValueComponent != null)
         {
             ValueProperty valueComponent2 = inContext.inTargetObj.get_handle().ValueComponent;
             inContext.inTargetObj.get_handle().ValueComponent.mActorValue[2].ChangeEvent -= new ValueChangeDelegate(valueComponent2.OnValuePropertyChangeByMgcEffect);
         }
     }
     return(true);
 }