SanAndreasUnity/Assets/Scripts/UI/UtilitiesWindow.cs

117 lines
2.2 KiB
C#
Raw Normal View History

2020-05-31 19:07:22 +02:00
using System.Collections.Generic;
using UnityEngine;
using SanAndreasUnity.Behaviours;
namespace SanAndreasUnity.UI {
public class UtilitiesWindow : PauseMenuWindow {
UtilitiesWindow() {
// set default parameters
this.windowName = "Utilities";
this.useScrollView = true;
}
void Start () {
this.RegisterButtonInPauseMenu ();
// adjust rect
this.windowRect = new Rect(Screen.width / 2 - 100, 10, 200, 180);
}
protected override void OnWindowGUI ()
{
if (Ped.Instance) {
// display player position
// Vector2 pos = new Vector2 (_player.transform.position.x + 3000, 6000 - (_player.transform.position.z + 3000));
GUILayout.Label ("Pos: " + Ped.InstancePos);
}
2019-07-05 21:01:29 +02:00
if (Utilities.NetUtils.IsServer)
DisplayServerGui();
2019-07-06 00:39:47 +02:00
else if (Net.PlayerRequests.Local != null)
DisplayClientOnlyGui();
2019-07-05 21:01:29 +02:00
}
void DisplayServerGui()
{
Transform nearbyTransform = Ped.Instance != null ? Ped.Instance.transform : null;
2019-07-05 21:01:29 +02:00
2020-05-31 19:07:22 +02:00
if (GUILayout.Button ("Spawn random vehicle")) {
var spawner = FindObjectOfType<UIVehicleSpawner> ();
if (spawner)
spawner.SpawnVehicle ();
}
if (GUILayout.Button("Change player model"))
{
CharacterModelChanger.ChangePedestrianModel();
}
if (GUILayout.Button("Spawn 5 peds"))
{
for (int i = 0; i < 5; i++)
{
Ped.SpawnPed (Ped.RandomPedId, nearbyTransform);
2020-05-31 19:07:22 +02:00
}
}
if (GUILayout.Button("Spawn 5 stalker peds"))
{
for (int i = 0; i < 5; i++)
{
Ped.SpawnPedStalker (Ped.RandomPedId, nearbyTransform);
2020-05-31 19:07:22 +02:00
}
}
if (GUILayout.Button("Destroy all vehicles"))
{
var vehicles = FindObjectsOfType<Behaviours.Vehicles.Vehicle> ();
2020-05-31 19:07:22 +02:00
foreach (var v in vehicles) {
Destroy (v.gameObject);
2020-05-31 19:07:22 +02:00
}
}
}
2019-07-06 00:39:47 +02:00
void DisplayClientOnlyGui()
{
var pr = Net.PlayerRequests.Local;
if (GUILayout.Button("Request to spawn vehicle"))
{
pr.RequestVehicleSpawn();
}
if (GUILayout.Button("Request to change ped model"))
{
pr.RequestPedModelChange();
}
if (GUILayout.Button("Request suicide"))
{
pr.RequestSuicide();
}
if (GUILayout.Button("Request to destroy all vehicles"))
{
pr.RequestToDestroyAllVehicles();
}
}
2020-05-31 19:07:22 +02:00
}
}