private void InitializeObjects() { _numOfKnivesToSpawn = UnityEngine.Random.Range(gameProperies.minNumOfKnivesThrow, gameProperies.maxNumOfKnivesThrow + 1); _logSpawner = _logSpawnerPrefab.GetComponent <LogSpawner>(); _knifeSpawner = _knifeSpawnerPrefab.GetComponent <KnifeSpawner>(); }
private void Start() { startGame(); logSpawner = FindObjectOfType <LogSpawner>(); logSpawner.endGameEvent += stopGame; StartCoroutine(WaitAndStart(initialWaitTime)); }
public override void OnInspectorGUI() { DrawDefaultInspector(); LogSpawner spawner = (LogSpawner)target; if (GUILayout.Button("Spawn Log")) { spawner.SpawnLog(); } }
private static void CheckCombo() { if (splitCount <= 0) { //abort return; } if (splitCount > comboSteps.Length) { LogSpawner spawner = GameObject.FindObjectOfType <LogSpawner>(); spawner.FurySpawning(); return; } comboMultiplier = comboSteps[splitCount]; int lastMultiplier = comboSteps[splitCount - 1]; if (comboMultiplier != lastMultiplier) { FloatingText.PrintInfrontOfPlayer("Combo X" + comboMultiplier.ToString(), 1.5f, 0.016f, Color.red); } }
private void Awake() { main = this; }
void SpawnBoardPerType(){ if(rowBoardPooling.Count < longPerBoard){ if(boardState == BoardState.DONE){ //Random whats next? Grass/Road/River RandomNextBoardType(); lastSpeedLog = 0; } Transform rowInstance = new GameObject("Row " + yPos.ToString()).transform; rowInstance.position = new Vector3(0, 0, yPos); rowInstance.SetParent(boardParent); if(boardState == BoardState.GRASS){ if(rows <= 0){ rows = UnityEngine.Random.Range(minLongGrass, maxLongGrass + 1); xSafeLand = UnityEngine.Random.Range(xMinEffectiveBoard, xMaxEffectiveBoard+1); } RandomTree(); int xPos = xMinBoard; while(xPos < xMaxBoard){ //GetFromPool //Spawning SpawnGrass(xPos, rowInstance); xPos++; } #if SOFT_PROCESS SpawnOrMoveObject(rowInstance, grassPacked); #endif } else if(boardState == BoardState.ROAD){ if(rows <= 0){ rows = UnityEngine.Random.Range(minLongRoad, maxLongRoad + 1); if(rows == 1) roadType = RoadType.SINGLE; else{ roadType = RoadType.TOP; } } #if SOFT_PROCESS if(roadType == RoadType.SINGLE){ SpawnOrMoveObject(rowInstance, roadPacked); } else if(roadType == RoadType.TOP){ SpawnOrMoveObject(rowInstance, roadTopLinePacked); } else if(roadType == RoadType.MIDDLE) { SpawnOrMoveObject(rowInstance, roadBothLinePacked); } else if(roadType == RoadType.BOTTOM) { SpawnOrMoveObject(rowInstance, roadBottomLinePacked); } #else int xPos = xMinBoard; while(xPos < xMaxBoard){ SpawnRoad(xPos, rowInstance); xPos++; } #endif CarSpawner cs = rowInstance.gameObject.AddComponent<CarSpawner>(); cs.speedCar = UnityEngine.Random.Range(minSpeedCar, maxSpeedCar); cs.minSpawnCarTime = minSpawnCarTime; cs.maxSpawnCarTime = maxSpawnCarTime; cs.car = car[UnityEngine.Random.Range(0, car.Length)]; if(rows == 2) roadType = RoadType.BOTTOM; else if(roadType == RoadType.TOP) roadType = RoadType.MIDDLE; } else if(boardState == BoardState.RIVER){ if(rows <= 0) rows = UnityEngine.Random.Range(minLongRiver, maxLongRiver + 1); #if !SOFT_PROCESS int xPos = xMinBoard; while(xPos < xMaxBoard){ SpawnRiver(xPos, rowInstance); xPos++; } #elif SOFT_PROCESS SpawnOrMoveObject(rowInstance, riverPacked); #endif LogSpawner ls = rowInstance.gameObject.AddComponent<LogSpawner>(); //do{ ls.speed = UnityEngine.Random.Range(minSpeedLog, maxSpeedLog); //}while(ls.speed - speedLogBalancer <= lastSpeedLog && ls.speed + speedLogBalancer >= lastSpeedLog); if(ls.speed <= lastSpeedLog + speedLogBalancer/2 && ls.speed >= lastSpeedLog){ if(ls.speed - speedLogBalancer <= .8f){ ls.speed += speedLogBalancer*1.5f; } else ls.speed -= speedLogBalancer; } else if(ls.speed >= lastSpeedLog - speedLogBalancer/2 && ls.speed <= lastSpeedLog){ ls.speed += speedLogBalancer; } ls.minSpawnTime = minLogSpawnTime; ls.maxSpawnTime = maxLogSpawnTime; ls.log = log[UnityEngine.Random.Range(0, log.Length)]; lastSpeedLog = ls.speed; } else if(boardState == BoardState.RAIL){ if(rows <= 0){ rows = UnityEngine.Random.Range(minLongRail, maxLongRail + 1); xLampPos = UnityEngine.Random.Range(xMinEffectiveBoard + 1, xMaxEffectiveBoard); } #if !SOFT_PROCESS int xPos = xMinBoard; while(xPos < xMaxBoard){ SpawnRail(xPos, rowInstance); xPos++; } #elif SOFT_PROCESS SpawnOrMoveObject(rowInstance, railPacked); SpawnRail(xLampPos, rowInstance); #endif TrainSpawner ts = rowInstance.gameObject.AddComponent<TrainSpawner>(); ts.speed = trainSpeed; ts.spawnTrainTime = UnityEngine.Random.Range(minTrainSpawnTime, maxTrainSpawnTime); ts.warningTime = trainWarningTime; ts.light = rowInstance.GetComponentInChildren<Light>(); } rows--; if(rows <= 0){ boardState = BoardState.DONE; } treeCounter=0; xPosTree.Clear(); rowBoardPooling.Add(rowInstance.gameObject); yPos+=1; } }