public void SetDeforestation(bool toCut) { _deforested = toCut; foreach (KeyValuePair <Props, string> p in _props) { if (p.Key.GetType() == typeof(PoolTree)) { PoolTree pt = (PoolTree)p.Key; pt.SetDeforestation(toCut); } } }
void CheckForestAMB() { StudioEventEmitter emitter = GetEmitter(AMB_FOREST_STRING); int forestNumber = 0; int deforestationNumber = 0; Player p = PlayerManager.Instance.player; if (p) { foreach (KeyValuePair <Props, string> item in p.AssociateCell.Props) { if (item.Key.GetType() == typeof(PoolTree)) { PoolTree lForest = item.Key as PoolTree; if (lForest.cutModel) { if (lForest.opositeAsset.activeSelf) { forestNumber++; } else { deforestationNumber++; } } else { if (lForest.opositeAsset.activeSelf) { deforestationNumber++; } else { forestNumber++; } } } } foreach (Cell c in p.AssociateCell.Neighbors) { foreach (KeyValuePair <Props, string> item in c.Props) { if (item.Key.GetType() == typeof(PoolTree)) { PoolTree lForest = item.Key as PoolTree; if (lForest.cutModel) { if (lForest.opositeAsset.activeSelf) { forestNumber++; } else { deforestationNumber++; } } else { if (lForest.opositeAsset.activeSelf) { deforestationNumber++; } else { forestNumber++; } } } } } } emitter.SetParameter(PARAM_FOREST_STRING, forestNumber > deforestationNumber ? POSITIVE_FOREST_VALUE : NEGATIVE_FOREST_VALUE); if (forestNumber + deforestationNumber > 1) { _inForest = true; PlayOnMoss(null); } else { _inForest = false; emitter.Stop(); } }