/// <summary> /// Saves the check point to the active check point list /// </summary> /// <param name="cpc"></param> public static void saveCheckPoint(CheckPointChecker cpc) { //If the list doesn't already contain the checkpoint, if (!ActiveCheckPoints.Contains(cpc)) { //Add the checkpoint ActiveCheckPoints.Add(cpc); } }
public void processTapGesture(GameObject checkPoint) { CheckPointChecker cpc = checkPoint.GetComponent <CheckPointChecker>(); if (cpc != null) { Vector3 newPos = checkPoint.transform.position; teleport(newPos); mainCamCtr.refocus(); cpc.trigger(); } }
private void Start() { setJumps(); //Sets groundSpeed and slipSpeed using the multiplier and the public forSpeed. These are the speeds you will be set to while on the ground or a slippery slope groundSpeed = forSpeed * groundMultiplier; slipSpeed = forSpeed * slipMultiplier; //Need an original speed to return to ogSpeed = forSpeed; playerDeath = false; checkPointChecker = GameObject.Find("CheckPoint Checker").GetComponent <CheckPointChecker>(); }
// Use this for initialization void Start() { timerText = GameObject.Find("Timer").GetComponent <Text> (); timerText.fontSize = timerFontSize; gameGoing = true; startTime = Time.time; player1 = GameObject.Find("Player"); player1checkPoints = player1.GetComponent <CheckPointChecker> (); player1text = GetComponent <Text> (); winnerFontSize = 20; timerFontSize = 14; }
/// <summary> /// 初期化 /// </summary> private void Init() { bStart = false; bGoal = false; playerCheckPoint = GameObject.Find("Player").GetComponent<CheckPointChecker>(); m_LapTime = 0; m_TimerObject = new Timer[playerCheckPoint.m_RequiredLapNum]; for(int i = 0; i < m_TimerObject.Length; i++) { Vector3 pos = m_LapTimerPosOffset; pos.y = pos.y + i * m_TimerPosInterval; m_TimerObject[i] = (Timer)Instantiate(m_TimerPrefab); m_TimerObject[i].transform.parent = transform; m_TimerObject[i].transform.localPosition = pos; m_TimerObject[i].SendTimer(0); m_TimerObject[i].ChangeScale(new Vector3(1.5f, 1.5f, 1)); m_TimerObject[i].ChangeColor(Color.red); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); GUI.enabled = EditorApplication.isPlaying; if (GUILayout.Button("Generate Preview Sprite (Play Mode)")) { new List <Object>(targets).ForEach( c => { CheckPointChecker cpc = (CheckPointChecker)c; string filename = cpc.grabCheckPointCameraData(); string srcFolder = Application.persistentDataPath + "/"; string dstFolder = "Assets/Sprites/Checkpoints/"; string dstFile = dstFolder + filename; FileUtil.DeleteFileOrDirectory(dstFile); FileUtil.MoveFileOrDirectory(srcFolder + filename, dstFile); }); } if (GUILayout.Button("Toggle InWorkingOrder (Play Mode)")) { new List <Object>(targets).ForEach( c => { CheckPointChecker cpc = (CheckPointChecker)c; cpc.InWorkingOrder = !cpc.InWorkingOrder; }); } GUI.enabled = !EditorApplication.isPlaying; if (GUILayout.Button("Fetch Preview Sprite (Edit Mode)")) { new List <Object>(targets).ForEach( c => { CheckPointChecker cpc = (CheckPointChecker)c; Sprite ghostSprite = (Sprite)AssetDatabase.LoadAssetAtPath( "Assets/Sprites/Checkpoints/" + cpc.transform.parent.name + ".png", typeof(Sprite) ); cpc.ghostSprite = ghostSprite; EditorUtility.SetDirty(cpc); EditorSceneManager.MarkSceneDirty(cpc.gameObject.scene); }); } }
void OnTriggerEnter(Collider obj) { bool isPlayerTag = (obj.tag != "Player"); // プレイヤーで、まだゴールしてなくて、ゴール条件を満たしていたらゴールできる。 if (isPlayerTag) { return; } CheckPointChecker playerCheckPoint = GameObject.Find("Player").GetComponent <CheckPointChecker>(); if (playerCheckPoint.m_NowLapNum <= playerCheckPoint.m_RequiredLapNum && playerCheckPoint.m_CheckPointScore >= playerCheckPoint.m_MaxCheckPointNum - 1) { playerCheckPoint.m_NowLapNum++; playerCheckPoint.m_CheckPointScore = -1; RaceTimer.m_LapTime = 0; } //if(m_goalCamera.bGoal || !playerCheckPoint.m_CanPlayerGoal) //return; if (playerCheckPoint.m_NowLapNum >= playerCheckPoint.m_RequiredLapNum) { Time.timeScale = GoalTimeScale; m_goalCamera.bGoal = true; m_goalCamera.bFadeStart = true; m_raceTimer.PlayerGoal(); GameObject.Find("Player").GetComponent <CheckPointChecker>().bGoal = true; if (DeleteCanvas.activeSelf || DoNotDeleteCanvas.activeSelf) { DeleteCanvas.SetActive(false); for (int i = 0; i < TimeCanvas.Length; i++) { TimeCanvas[i].enabled = false; } for (int i = 0; i < NotMainCameras.Length; i++) { NotMainCameras[i].enabled = false; } } } }
public void trigger() { current = this.gameObject; if (ghostSprite == null) { grabCheckPointCameraData(); } activate(); ghost.SetActive(false); plyrController.setIsInCheckPoint(true); player.transform.position = this.gameObject.transform.position; List <CheckPointChecker> cpcs = GameManager.getActiveCheckPoints(); List <CheckPointChecker> processedCPCs = new List <CheckPointChecker>(); processedCPCs.Add(this); for (int i = 0; i < cpcs.Count; i++) { float lowSqrMag = float.MaxValue; CheckPointChecker closestCPC = null; foreach (CheckPointChecker cpc in cpcs) { if (!processedCPCs.Contains(cpc)) { float sqrMag = (cpc.gameObject.transform.position - transform.position).sqrMagnitude; if (sqrMag < lowSqrMag) { lowSqrMag = sqrMag; closestCPC = cpc; } } } if (closestCPC != null) { closestCPC.showRelativeTo(this.gameObject); processedCPCs.Add(closestCPC); } } }
public static void saveCheckPoint(CheckPointChecker cpc)//checkpoints have to work across levels, so they need to be saved separately { instance.activeCheckPoints.Add(cpc); }