Dupont An Phu

Game developer, retro-computing enthusiast

Orbito

Orbito is a space themed physics game where you, as an asteroid have to destroy planets.
This game was created at a two and a half day game-jam
with a team of three programmers and three artists (one of them was sick).
It was designed to run on a vertical touchscreen computer at the DAE entrance, but was ported during the game-jam to Android.

During the creating of this game I was responsible for the UI, level loading, menus, input and handling of save data.

Play Orbito now
Download Orbito APK for Android

//
// Example taken from srcLevelScroller.cs
//

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class srcLevelScroller : srcScrollerSelect
{
  private GameObject[] _planetList;
  private Material[] _planetListLit;
  private Material[] _planetListUnlit;

  private static int _backupId = -1;

  protected override void StartScroller()
  {
    _planetList = scrPlanetSelectSpawn.GetPlanetSelectScript().GetComponent < scrPlanetSelectSpawn > ().PlanetList;
    _planetListLit = scrPlanetSelectSpawn.GetPlanetSelectScript().GetComponent < scrPlanetSelectSpawn > ().PlanetListMatLit;
    _planetListUnlit = scrPlanetSelectSpawn.GetPlanetSelectScript().GetComponent < scrPlanetSelectSpawn > ().PlanetListMatUnlit;

    _menuObjects.Add(new MenuScrollerArray(_planetList, MenuScrollerType.GameObject, scrPlanetSelectSpawn.GetPlanetSelectScript().Offset,
      new Vector3(.2f, .2f, .2f), new Vector3(1, 1, 1)));

    if (_backupId == -1) _backupId = _id;
    _id = _backupId;
  }

  protected override void ScrollLeftDone()
  {
    _planetList[ActiveButton() - 1].GetComponent < MeshRenderer > ().material = _planetListLit[ActiveButton() - 1];
    _planetList[ActiveButton()].GetComponent < MeshRenderer > ().material = _planetListUnlit[ActiveButton()];
  }

  protected override void ScrollRightDone()
  {
    _planetList[ActiveButton() + 1].GetComponent < MeshRenderer > ().material = _planetListLit[ActiveButton() + 1];
    _planetList[ActiveButton()].GetComponent < MeshRenderer > ().material = _planetListUnlit[ActiveButton()];
  }

  protected override void SnapButtonsScroller()
  {
    _planetList[ActiveButton()].GetComponent < MeshRenderer > ().material = _planetListUnlit[ActiveButton()];
    _planetList[ActiveButton()].transform.localScale = new Vector3(1, 1, 1);
  }

  public void ShowHidePlanets(bool show)
  {
    foreach (var planet in _planetList) planet.GetComponent < MeshRenderer > ().enabled = show;

    if (show)
    {
      _planetList[ActiveButton()].GetComponent < MeshRenderer > ().material = _planetListUnlit[ActiveButton()];
      _planetList[ActiveButton()].transform.localScale = new Vector3(1, 1, 1);
    }
  }
}