Пример #1
0
 /// <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();
        }
    }
Пример #3
0
    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>();
    }
Пример #4
0
    // 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;
    }
Пример #5
0
	/// <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);
        }
    }
Пример #6
0
 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);
         });
     }
 }
Пример #7
0
    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;
                }
            }
        }
    }
Пример #8
0
    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);
            }
        }
    }
Пример #9
0
 public static void saveCheckPoint(CheckPointChecker cpc)//checkpoints have to work across levels, so they need to be saved separately
 {
     instance.activeCheckPoints.Add(cpc);
 }