I'm still working on my Mod Selector so here is what i've done on my free time
Here is the code for the mini map:
Code:
public string mapStatus = "(M) MINIMAP: OFF";
public bool map = false;
public float mapSize;
public GameObject _map;
public GameObject _me;
public Transform _myPos;
void Update()
{
if (Input.GetKeyDown(KeyCode.M))
{
createMap();
}
if (map)
{
_myPos = UnityEngine.Object.FindObjectOfType<CharacterController>().transform;
if (_map)
{
if (Input.GetAxis("Mouse ScrollWheel") > 0)
{
_map.camera.orthographicSize += 100;
if (_map.camera.orthographicSize >= 1000)
_map.camera.orthographicSize = 1000;
}
if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
_map.camera.orthographicSize -= 100;
if (_map.camera.orthographicSize <= 0)
_map.camera.orthographicSize = 0;
}
_map.transform.position = new Vector3(_myPos.position.x, 250, _myPos.position.z);
if (_me)
{
//make the dot folow us
_me.transform.position = new Vector3(_myPos.position.x, 200, _myPos.position.z);
}
}
}
}
public void createMap()
{
map = !map;
if(map)
{
mapStatus = "(M) MINIMAP: ON";
_map = new GameObject("SCELLOW_MINIMAP");
_map.AddComponent<Camera>();
_map.camera.rect = new Rect(0.8f, 0.8f, 1, 1);
_map.transform.position = new Vector3(0, 250, 0);
_map.transform****tation = Quaternion.Euler(new Vector3(90, 0, 0));
_map.camera.orthographic = true;
_map.camera.orthographicSize = 100;
//create obj to define our position
_myPos = UnityEngine.Object.FindObjectOfType<CharacterController>().transform;
_me = GameObject.CreatePrimitive(PrimitiveType.Cube);
_me.name = "SCELLOW_ME";
_me.transform.parent = _map.transform;
_me.transform.position = _myPos.position;
_me.transform.localScale = new Vector3(10, 10, 10);
_me.GetComponent<MeshRenderer>().material.shader = Shader.Find("Self-Illumin/Bumped Diffuse");
_me.GetComponent<MeshRenderer>().material.color = Color.red;
}
else
{
mapStatus = "(M) MINIMAP: OFF";
Destroy(_map);
Destroy(_me);
}
}