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