public BattleSceneTypeResource AddResource() { BattleSceneTypeResource resource = new BattleSceneTypeResource(); resources.Add(resource); return(resource); }
public ResourceInCycle(BattleSceneTypeResource res, int cycleNumber) { rnd = new Random(); probability = 0; amount = 0; resType = res.ResourceType; bpType = res.BlueprintType; anyEnemy = res.AnyEnemy == 1; //Пока что гарантированный дроп падает в тот цикл, который минимален для данного ресурса if (res.GuaranteedAmount > 0) { if (res.MinimumCycle == cycleNumber) { guaranteedAmount = res.GuaranteedAmount; } } if (res.AnyEnemy == 0) { EnemyId = res.EnemyId; } else { EnemyId = 0; } if (guaranteedAmount > 0) { enemies = new List <StageEnemy>(); } //Это дроп ресурса, который падает с определенной вероятностью if (cycleNumber >= res.MinimumCycle && res.AmountFrom > 0 && res.VariableChanceFrom > 0) { this.resType = res.ResourceType; this.bpType = res.BlueprintType; if (res.MaximumCycle <= cycleNumber) { probability = res.VariableChanceTo / 10000; amount = res.AmountTo; } else { probability = (double)res.VariableChanceFrom / 10000 + (double)(cycleNumber - res.MinimumCycle) / (double)(res.MaximumCycle - res.MinimumCycle) * (double)((res.VariableChanceTo - res.VariableChanceFrom) / 1000); amount = (double)res.AmountFrom + (double)(cycleNumber - res.MinimumCycle) / (double)(res.MaximumCycle - res.MinimumCycle) * (double)(res.AmountTo - res.AmountFrom); } } }