// 检查全局变量是否存在,不存在则创建
if (!variable_global_exists("pollen")) {
console.log("全局变量pollen不存在,正在创建...");
global.pollen = 0;
}
// 获取当前工具的数据
var tool_data = global.tool_stats[global.current_tool];
// 获取工具的采集能力
var scoop_power = tool_data.gather;
// 获取工具的采集半径
var scoop_radius = tool_data.collection;
// 获取背包的最大容量
var max_capacity = global.backpack_stats[global.current_backpack];
// 创建一个列表来存储被采集的花
var hit_flowers = ds_list_create();
// 检测圆形区域内的花朵数量
var flower_count = collision_circle_list(x, y, scoop_radius, obj_flower_manager, false, true, hit_flowers, false);
// 遍历被采集的花朵
for (var i = 0; i < flower_count; i++) {
// 获取当前被采集的花朵
var current_flower = hit_flowers[i];
// 检查是否超过最大容量
if (global.pollen > max_capacity) break;
// 检查当前花朵是否有花粉
if (current_flower.current_flower_pollen > 0) {
// 计算剩余的容量
var free_space = max_capacity - global.pollen;
// 计算可以采集的花粉数量
var take_amount = Math.min(scoop_power, current_flower.current_flower_pollen, free_space);
// 更新花朵的花粉数量
current_flower.current_flower_pollen -= take_amount;
// 更新全局的花粉数量
global.pollen += take_amount;
}
}
// 销毁列表
ds_list_destroy(hit_flowers);
评论 (0)