void Start() { restartsCount += 1; mapManager = GameObject.FindObjectOfType <MapManager>(); spawnManager = GameObject.FindObjectOfType <SpawnManager>(); scoreManager = GameObject.FindObjectOfType <ScoreManager>(); scoreManager.OnScoreMilestoneReach += ScoreManager_OnScoreMilestoneReach; snakeManager = GameObject.FindObjectOfType <SnakeManager>(); SnakeNode head = snakeManager.GetSnakeHead(); head.OnObstacleCollision += Head_OnObstacleCollision; head.OnOutOfBoundsCollision += Head_OnOutOfBoundsCollision; transitionBlack.gameObject.SetActive(false); transitionWhite.gameObject.SetActive(false); startNextLevelBtn.gameObject.SetActive(false); buttons = new List <Button>(); buttons.Add(upBtn); buttons.Add(rightBtn); buttons.Add(downBtn); buttons.Add(leftBtn); if (restartsCount >= 2) { splashScreenBG.gameObject.SetActive(false); splashScreenBtn.gameObject.SetActive(false); snakeManager.gameState = GameState.Countdown; } }
public char SnekLetter(Vector2Int snakeMapPosition) //Has the snake consumed the food? { if (snakeMapPosition == DMapPosition) //Collect D { Object.Destroy(d); //Break letter //FoodSpawner(); //make new food. SnakeManager.addScore(); Debug.Log("Snake Ate letter D."); return('D'); } else if (snakeMapPosition == GMapPosition) //Collect G { Object.Destroy(g); //Break letter SnakeManager.addScore(); Debug.Log("Snake Ate letter G."); return('G'); } else if (snakeMapPosition == SMapPosition) //Collect G { Object.Destroy(s); //Break letter SnakeManager.addScore(); Debug.Log("Snake Ate letter S."); return('S'); } else { return('N'); } }
void Start() { levelManager = GameObject.FindObjectOfType <LevelManager>(); snakeManager = GameObject.FindObjectOfType <SnakeManager>(); snakeManager.OnChargingComplete += SnakeManager_OnChargingComplete; snakeManager.OnOverloadEnd += SnakeManager_OnOverloadEnd; snakeManager.OnLeftBtnPressed += SnakeManager_OnLeftBtnPressed; snakeManager.OnDownBtnPressed += SnakeManager_OnDownBtnPressed; snakeManager.OnRightBtnPressed += SnakeManager_OnRightBtnPressed; snakeManager.OnUpBtnPressed += SnakeManager_OnUpBtnPressed; scoreManager = GameObject.FindObjectOfType <ScoreManager>(); scoreManager.OnGo += ScoreManager_OnGo; overloadBtn.interactable = false; chargedText.gameObject.SetActive(false); transitionBlack.gameObject.SetActive(false); SetControlModeTogglesInitialState(); SetVibrationModeToggleInitialState(); volumeSliders[0].onValueChanged.AddListener(SetMasterVolume); volumeSliders[1].onValueChanged.AddListener(SetMusicVolume); volumeSliders[2].onValueChanged.AddListener(SetSfxVolume); volumeSliders[0].value = AudioManager.instance.masterVolumePercent; volumeSliders[1].value = AudioManager.instance.musicVolumePercent; volumeSliders[2].value = AudioManager.instance.sfxVolumePercent; }
private void InitializeSnakeManager() { _snakeManagerScript = _snakeManager.GetComponent <SnakeManager>(); _snakeManagerScript.Initialize(_gameData.gameBoardWidth, _gameData.gameBoardHeight, _gameData.snakeSpeed); _snakeManagerScript.SpawnSnake(utils.getMiddlePositionFromGameBoard(_gameData.gameBoardWidth, _gameData.gameBoardHeight), _gameData.snakeStartSize); _snakeManagerScript.StartSnakeMoving(); }
//private bool IsWinning; void Start() { spawnManager = GameObject.FindObjectOfType <SpawnManager>(); mapManager = GameObject.FindObjectOfType <MapManager>(); snakeManager = GameObject.FindObjectOfType <SnakeManager>(); this.previousPosition = position; rb = GetComponent <Rigidbody>(); }
void Start() { scoreTextStatic = scoreText; score = 0; snake = Instantiate(snakePrefab); snakeScript = snake.GetComponent <SnakeManager>(); board = Instantiate(boardPrefab); boardScript = board.GetComponent <GameBoardScript>(); }
public int m_Status = 0; //判断蛇头是否与自身位置重叠 // Start is called before the first frame update void Start() { SnakeHead = GameObject.Find("SnakeHead").GetComponent <SnakeManager>(); // PresentX = int.Parse(transform.position.x.ToString()) + 10; // PresentY = int.Parse(transform.position.y.ToString()) + 5; PresentX = int.Parse(transform.position.x.ToString()); PresentY = int.Parse(transform.position.y.ToString()); MapManager.AddObject(PresentX, PresentY, Cell.CellObjectType.Key); // 单元格添加物体 }
public void EatFood() { Destroy(food); GameObject snake = snakes[0]; SnakeManager snakeScript = snake.GetComponent <SnakeManager>(); snakeScript.updatingLength = true; CreateFood(); }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
public void СoordinatesChangerTest() { // Arrange SnakeManager snakeManager = new SnakeManager(); //Act var results = snakeManager.GetSnake(); //Assert Assert.AreEqual(3, results.Bodyes.Count); }
private void Start() { if (instance != null) { Destroy(this); return; } instance = this; snakeJ1 = GameObject.Find("Snake J1").GetComponent <Snake>(); snakeJ2 = GameObject.Find("Snake J2").GetComponent <Snake>(); CameraMovement cameraMovement = FindObjectOfType <CameraMovement>(); caseStartJ1 = cameraMovement.currentBiome.caseStartJ1; caseStartJ2 = cameraMovement.currentBiome.caseStartJ2; snakeJ1.body.Add(caseStartJ1); snakeJ1.bodyDirections.Add(Direction.Condition.Up); if (PlayerPrefs.GetInt("NbJoueurs") == 2) { snakeJ2.body.Add(caseStartJ2); snakeJ2.bodyDirections.Add(Direction.Condition.Up); } caseStartJ1.ChangerCaseConfiguration(); if (PlayerPrefs.GetInt("NbJoueurs") == 2) { caseStartJ2.ChangerCaseConfiguration(); } snakeJ1.SetupSnake(); if (PlayerPrefs.GetInt("NbJoueurs") == 2) { snakeJ2.SetupSnake(); } if (PlayerPrefs.GetInt("NbJoueurs") != 2) { Destroy(snakeJ2.gameObject); Destroy(caseStartJ2.gameObject); } cameraMovement.currentBiome.caseStartJ1 = null; cameraMovement.currentBiome.caseStartJ2 = null; }
private void OnEnable() { if (!_snakeManager) { if (FindObjectOfType <SnakeManager>()) { _snakeManager = FindObjectOfType <SnakeManager>(); _snakeManager.Snake.Add(this); } else { Debug.Log("No SnakeManager for lil badger!"); } } }
public bool SnekSneakSnekEat(Vector2Int snakeMapPosition) //Has the snake consumed the food? { if (snakeMapPosition == foodMapPosition) //eat the food { Object.Destroy(thaFoood); //Break eaten food FoodSpawner(); //make new food. SnakeManager.addScore(); Debug.Log("Snake Ate Food, making more!"); return(true); } else { return(false); } }
void Start() { snakeManager = GameObject.FindObjectOfType <SnakeManager>(); SnakeNode head = snakeManager.GetSnakeHead(); head.OnCollectableCollision += Head_OnCollectableCollision; head.OnOverloadedObstacleCollision += Head_OnOverloadedObstacleCollision; this.Score = 0; float floatValue = snakeManager.overloadTreshhold; overloadFillStep = (floatValue / (floatValue * floatValue)); currentLevelTreshhold = levelTreshhold; levelManager = FindObjectOfType <LevelManager>(); }
void Start() { snakeManager = FindObjectOfType <SnakeManager>(); head = snakeManager.GetSnakeHead(); head.OnCollectableCollision += Head_OnCollectableCollision; head.OnObstacleCollision += Head_OnObstacleCollision; //head.OnOutOfBoundsCollision += Head_OnOutOfBoundsCollision; head.OnOverloadedObstacleCollision += Head_OnOverloadedObstacleCollision; //head.OnMovePerformed += Head_OnMovePerformed; //snakeManager.OnChargingComplete += SnakeManager_OnChargingComplete; //snakeManager.OnOverloadEnd += SnakeManager_OnOverloadEnd; scoreManager = FindObjectOfType <ScoreManager>(); scoreManager.OnScoreMilestoneReach += ScoreManager_OnScoreMilestoneReach; }
void OnTriggerEnter(Collider c) { // GameObject gm = GameObject.Find("GameManager"); // This line of code below is exactly the same; 'gm' is still type 'GameObject'. // The C# compiler knows it because we're assigning that type into the variable immediately, // and because of that we can shorten our code by writing 'var'. // It's safe to use 'var' because if the compiler could not figure out we mean 'GameObject', // you would immediately get an error, there's no risk of bugs from it. // In your own code, you can either spell out the type or write 'var', whichever you find // easier to read. var gm = GameObject.Find("GameManager"); SnakeManager sm = gm.GetComponent <SnakeManager>(); sm.TriggerGameOver(); }
void CreateFood() { bool samePosition = true; while (samePosition) { samePosition = false; foodPosition = new Vector3(Random.Range(-5, 6), Random.Range(-5, 6), 0); foreach (GameObject snake in snakes) { SnakeManager snakeScript = snake.GetComponent <SnakeManager>(); for (int i = 0; i < snakeScript.bodyParts.Count; i++) { if (foodPosition == snakeScript.bodyParts[i].transform.position) { samePosition = true; } } } } food = Instantiate(foodPrefab, foodPosition, Quaternion.identity); }
public SnakeController(SnakeManager _snakeManger) { model = new SnakeModel(); snakeManger = _snakeManger; }
private int SpecialChild = -1; //踩到的最近一个key(子对象) // Start is called before the first frame update void Start() { SnakeHead = GameObject.Find("SnakeHead").GetComponent <SnakeManager>(); m_Password = "******"; //初始化为“0” }
private void Awake() //Awake happens before Start { instance = this; }
void Awake() { sm = GameObject.FindGameObjectWithTag("Manager").GetComponent <SnakeManager>(); }
// Start is called before the first frame update void Start() { SnakeHead = GameObject.Find("SnakeHead").GetComponent <SnakeManager>(); }
private void SnekMovement() { crawlTimer += Time.deltaTime; //Used for snake movement interval if (crawlTimer >= timeTillMove) //If snake needs to move, then move { SnakeTransformer last = null; //Failsafe for first body segment if (snekLocationHistory.Count > 0) { last = snekLocationHistory[0]; //Prior Segment if avaialable, else null } SnakeTransformer snekLocation = new SnakeTransformer(last, gridPosition, snekDirection); //Class (and "last" parameter) used for properly rotaing body segments. Vector2Int director; //Used in determining next location of snake. switch (snekDirection) { default: case Direction.Right: director = new Vector2Int(+1, 0); break; case Direction.Left: director = new Vector2Int(-1, 0); break; case Direction.Up: director = new Vector2Int(0, +1); break; case Direction.Down: director = new Vector2Int(0, -1); break; } //updateSnekParts(); snekLocationHistory.Insert(0, snekLocation); //Add current location to front of list. gridPosition += director; //Needed location added before this, else included head tile as first body. gridPosition = mapGrid.MapWrapper(gridPosition); //If the snake went through a border, return at opposite border. (same velocity) crawlTimer -= timeTillMove; //Reset Tick of timer. Game ticks. //Body Tracker//// bool snakeAte = mapGrid.SnekSneakSnekEat(gridPosition);//Let Map know where Snekky is for food collection check if (snakeAte) { //Grow Snake snekSize++; generateBodySegment(); //Adds the body segment. SoundManager.playSound(SoundManager.SFX.pop); //Plays a sound effect. } //ReUse snakeAte for secret test if ((snekSize > 5) && (spawnedD == false)) { spawnedD = mapGrid.spawnD(); } if ((snekSize > 4) && (spawnedG == false)) { spawnedG = mapGrid.spawnG(); } if ((snekSize > 3) && (spawnedS == false)) { spawnedS = mapGrid.spawnS(); } //char snakeLetterTemp = mapGrid.SnekLetter(gridPosition);//Let Map know if Snake collected G D or S if (lettersCollectedList.Count < 3) { //If not all letters were collected yet. //Check if Snake is eating any Letters. //if so return which char snakeLetterTemp = mapGrid.SnekLetter(gridPosition);//Let Map know if Snake collected G D or S //Returns 'N' if no. if (snakeLetterTemp != 'N') { lettersCollectedList.Add(snakeLetterTemp); } //Else ya didn't get a letter, lol. } else if (lettersCollectedList.Count == 3) { //Once all letters have been collected //Check if letters are in order; enable button. if (lettersCollectedList[0] == 'G') { if (lettersCollectedList[1] == 'D') { //Therefore [2] is 'S' //Enable Level Warp Button.. or instant... SnakeManager.gds(); } else { //Hint that first was right. } } //<Else>/<Always> add an arbitrary char to the lettersCollectedList //Always lettersCollectedList.Add('N'); } else { //Hacks //or add something to list if the letters weren't in the right order, thus preventing game from loading code within count == 3 logic repeatedly each update after... } if (snekLocationHistory.Count >= (snekSize + 1)) //<if> We are storing more locations than the total body size of the snake { snekLocationHistory.RemoveAt((snekLocationHistory.Count - 1)); //<then> Trim fat, ya didn't need to store so much snek. } ////////////////// transform.position = new Vector3(gridPosition.x, gridPosition.y); //Move Head transform.eulerAngles = new Vector3(0, 0, GetAngleFromVector(director) - 90); //Minus 90 fixes original rotation updateSnekParts(); //Do not check for Death before this Update ////Check for Death foreach (SnekParts bodypart in snakeBodyList) //Have we killed the snek??? { Vector2Int bodyMapPosition = bodypart.getMapPos(); if (gridPosition == bodyMapPosition) //If the head overlaps any bodypart { //GameOver //Debug.Log("Snake has Died!! :c"); //Commented out after popup retry working state = Status.Dead; SnakeManager.ripSnek(); } } ////////////////// } }
void Awake() { mapManager = GameObject.FindObjectOfType <MapManager>(); snakeManager = GameObject.FindObjectOfType <SnakeManager>(); allActiveCollectables = new List <Collectable>(); }
void Start() { snakeManager = FindObjectOfType <SnakeManager>(); playerT = snakeManager.GetSnakeHead().gameObject.transform; audioListener = FindObjectOfType <AudioListener>().transform; }
private void Update() { scoreText.text = SnakeManager.getScore().ToString(); }