public SimUnitInstance(Simulation sim, SimUnitConfig unit, Vector3 startpos, ISimUnitEventHandler handler) : base(sim, unit, startpos) { Health = unit.Health; UnitConfig = unit; eventhandler = handler; this.OnDestroy += handler.OnDestroyEventHandler; }
private void HandleonSimExplode(SimUnitConfig simUnit) { incrementCurrency(simUnit.Cost); _currencyEarned += simUnit.Cost; incrementScore(simUnit.Points); _unitsDestroyed++; }
public void CancelPlacementPreview() { GameObject.Destroy(placementPreviewObject); _selectedUnitType = null; placingUnit = false; ShowPlacedUnitAreas(false); }
public void SelectUnit(SimUnitConfig unit) { _selectedUnitType = unit; placingUnit = true; ShowPlacedUnitAreas(true); }
public void SetAreaVisuals(SimUnitConfig unit) { float placementAreaScale = unit.RadiusOfPlacement; float attackAreaScale = unit.RadiusOfAffect; placementArea.transform.localScale = new Vector3(placementAreaScale, .1f, placementAreaScale); attackArea.transform.localScale = new Vector3(attackAreaScale, .1f, attackAreaScale); }
public SimUnitInstance AddUnit(SimUnitConfig unittype, Vector3 startingposition, ISimUnitEventHandler EventHandler) { SimUnitInstance inst = new SimUnitInstance(this, unittype, startingposition, EventHandler); if (unittype.Team == SimUnitConfig.ETeam.Friendly) { FriendlySimUnits.Add(inst); } else { EnemySimUnits.Add(inst); } return(inst); }
public void SetSimUnit(SimUnitConfig inst) { if (_simunitinst == null && inst != null) { simunit = inst; _simunitinst = SimulationComponent.CurrentSim.AddUnit(simunit, transform.position, this); _unitMapping.Add(_simunitinst, this.transform); SetAreaVisuals(simunit); } else if (_simunitinst != null && inst == null) { SimulationComponent.CurrentSim.RemoveUnit(_simunitinst); } }
private void DeterminWaveUnits() { int poolValue = _currentWave * DIFFICULTY_MULTIPLIER + DIFFICULTY_MULTIPLIER; List <SimUnitConfig> unitPool = PossibleUnits(); while (poolValue > 0) { SimUnitConfig newUnit = unitPool[Random.Range(0, unitPool.Count)]; if (newUnit.PowerValue <= poolValue) { _waveUnits.Add(newUnit); poolValue -= (int)newUnit.PowerValue; } } }
public void AddUnit(GameObject go, SimUnitConfig unit) { UnitComponent ucomp = go.AddComponent <UnitComponent>(); ucomp.SetSimUnit(unit); }