コード例 #1
0
ファイル: SimpleController.cs プロジェクト: raimis001/ggj2016
	public void MoveToCube(float direction)
	{
		if (PlayerController.Moving)
		{
			return;
		}
		CubeAbstract cube = null;
		if (ActiveCube.Row < Mountain.Konfigurācija.Rindas - 1)
		{
			cube = direction > 0 ? ActiveCube.Right : ActiveCube.Left;
		}
		if(ActiveCube.Row == Mountain.Konfigurācija.Rindas - 1)
		{
			cube = direction > 0 ? ActiveCube.RightToPlain : ActiveCube.LeftToPlain;
		}
		if (cube != null && cube.CanMoveTo())
		{
			ActiveCube = cube;
			Player.MoveToDirection(cube);
		}
	}
コード例 #2
0
ファイル: Mountain.cs プロジェクト: raimis001/ggj2016
	/// <summary>
	/// Changer takes target place and destroys it
	/// </summary>
	public void Replace(CubeAbstract changer, CubeAbstract target)
	{
		Content[target.Row][target.Index] = changer;
		changer.transform.position = target.transform.position;
		changer.transform.parent = target.transform.parent;
		changer.Row = target.Row;
		changer.Index = target.Index;
		GameObject.Destroy(target.gameObject);
	}
コード例 #3
0
ファイル: SimpleController.cs プロジェクト: raimis001/ggj2016
	// Use this for initialization
	void Start()
	{
		Mountain = GameObject.FindGameObjectWithTag("Mountain").GetComponent<Mountain>();
		ActiveCube = GetStartCube();
		Player.transform.position = ActiveCube.transform.position + new Vector3(0f, 1f, 0f);
	}
コード例 #4
0
ファイル: Lava.cs プロジェクト: raimis001/ggj2016
    /// <summary>
    /// Converts cube into lava
    /// </summary>
    void Consume(CubeAbstract cube)
    {
		Mountain.Replace(Instantiate(Mountain.Prefabs.Lava), cube);
    }
コード例 #5
0
ファイル: PlayerController.cs プロジェクト: raimis001/ggj2016
	public void MoveToDirection(CubeAbstract cube)
	{
		if (!Live) { return; }
		_cube = cube;
		StartCoroutine(MoveChar(cube));
	}
コード例 #6
0
ファイル: PlayerController.cs プロジェクト: raimis001/ggj2016
	IEnumerator MoveChar( CubeAbstract cube)
	{
		if (Moving)
		{
			yield break;
		}
		if(cube is GrassCube && ((GrassCube)cube).Item != null)
		{
			PlaySound(0);
		}
		Moving = true;
		GirlAnimation.Play("Jump");
		GirlTransform.LookAt(new Vector3(cube.transform.position.x, GirlTransform.position.y, cube.transform.position.z));
		GirlTransform.Rotate(0, -180, 0);
		Vector3 angles = GirlTransform.localEulerAngles;
		if (angles.y > 200)
		{
			GirlTransform.Rotate(0, -30, 0);
		}
		else
		{
			GirlTransform.Rotate(0, 30, 0);
		}
		Vector3 startPos = transform.position;
		Vector3 endPos = new Vector3(cube.transform.position.x,startPos.y + 0.3f, cube.transform.position.z) - new Vector3(0f, 0, 0f);

		float dTime = 0.5f;
		float tmp = 0;
		while (tmp < dTime)
		{
			transform.position = Vector3.Lerp(startPos, endPos, tmp / dTime);
			tmp += Time.smoothDeltaTime;
			yield return null;
		}
  }