农场模块与团队模块的集成主要围绕作物收获收益的分成机制展开。当用户在农场收获作物时,系统会根据用户的推荐关系,将部分收益分配给其上级推荐人,实现"直间推播种收获贡献百分比农作物收益"的核心功能。
农场模块中的收益主要来自作物收获,当用户收获作物时,系统会:
根据团队模块的规则,收益分成比例如下:
CropHarvestedEvent事件团队模块中的达人等级可以为农场产量提供额外加成:
| 达人等级 | 名称 | 产出加成 |
|---|---|---|
| 1 | 初级达人 | +1% |
| 2 | 中级达人 | +2% |
| 3 | 高级达人 | +3% |
| 4 | 资深达人 | +4% |
| 5 | 顶级达人 | +5% |
农场模块在计算作物最终产量时,会调用团队模块的接口获取达人加成:
// 计算最终产量
$finalOutput = $baseOutput * (1 + $landBonus) * (1 + $houseBonus) * (1 - $disasterImpact) * (1 + $talentBonus);
其中$talentBonus就是从团队模块获取的达人产出加成。
/**
* 作物收获事件
*
* @param int $userId 用户ID
* @param int $cropId 作物ID
* @param int $outputItemId 产出物品ID
* @param int $outputAmount 产出数量
*/
class CropHarvestedEvent
当用户收获作物时,农场模块会触发此事件,团队模块监听该事件并处理收益分成。
/**
* 作物种植事件
*
* @param int $userId 用户ID
* @param int $landId 土地ID
* @param int $seedId 种子ID
*/
class CropPlantedEvent
当用户种植作物时,农场模块会触发此事件,团队模块可以监听该事件用于任务统计。
/**
* 达人等级变更事件
*
* @param int $userId 用户ID
* @param int $oldLevel 旧等级
* @param int $newLevel 新等级
*/
class TalentLevelChangedEvent
当用户达人等级变更时,团队模块会触发此事件,农场模块可以监听该事件更新产出加成。
/**
* 获取用户的达人产出加成
*
* @param int $userId 用户ID
* @return float 产出加成比例
*/
public function getTalentOutputBonus(int $userId): float
农场模块在计算作物产量时调用此接口获取达人加成。
/**
* 获取用户的团队成员信息
*
* @param int $userId 用户ID
* @return array 团队成员信息
*/
public function getTeamMembers(int $userId): array
农场模块在团队任务中调用此接口获取团队成员信息。
/**
* 获取用户的农场活动统计
*
* @param int $userId 用户ID
* @param int $days 统计天数
* @return array 活动统计
*/
public function getUserFarmActivityStats(int $userId, int $days = 7): array
团队模块在计算团队活跃度时调用此接口获取农场活动数据。
团队模块可以创建团队种植任务,要求团队成员在农场中种植特定作物:
/**
* 创建团队种植任务
*
* @param int $creatorId 创建者ID
* @param int $seedId 种子ID
* @param int $targetCount 目标数量
* @param array $rewards 奖励信息
* @return array 任务信息
*/
public function createTeamPlantingTask(int $creatorId, int $seedId, int $targetCount, array $rewards): array
团队模块可以创建团队收获任务,要求团队成员在农场中收获特定数量的作物:
/**
* 创建团队收获任务
*
* @param int $creatorId 创建者ID
* @param int $seedId 种子ID
* @param int $targetCount 目标数量
* @param array $rewards 奖励信息
* @return array 任务信息
*/
public function createTeamHarvestTask(int $creatorId, int $seedId, int $targetCount, array $rewards): array
团队模块可以统计团队成员在农场中的活跃度:
/**
* 统计团队农场活跃度
*
* @param int $userId 用户ID
* @param int $days 统计天数
* @return array 活跃度统计
*/
public function calculateTeamFarmActivity(int $userId, int $days = 7): array
返回的统计数据包括:
团队模块可以分析团队在农场中的收益情况:
/**
* 分析团队农场收益
*
* @param int $userId 用户ID
* @param string $timeRange 时间范围
* @return array 收益分析
*/
public function analyzeTeamFarmProfit(int $userId, string $timeRange = 'month'): array
返回的分析数据包括:
农场模块与团队模块的集成主要通过事件驱动机制实现,核心功能是"直间推播种收获贡献百分比农作物收益"。当农场模块中的用户收获作物时,团队模块会根据用户的推荐关系计算并分配收益给其上级。同时,团队模块的达人等级系统也为农场模块提供产出加成,提高达人用户的游戏体验。
这种集成方式保持了模块间的松耦合,同时提供了灵活的收益分成机制,鼓励用户发展团队,形成良性的社交生态。通过团队任务和数据统计分析,进一步增强了两个模块的协同效应,提升了游戏的社交性和粘性。