275 lines
6.7 KiB
C#
275 lines
6.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using Beyond;
|
|
using ES3Types;
|
|
using Invector.vCharacterController;
|
|
using Invector.vMelee;
|
|
using PixelCrushers;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using PixelCrushers.QuestMachine;
|
|
using UnityEditor;
|
|
using System.ComponentModel;
|
|
|
|
public partial class SROptions
|
|
{
|
|
private const int VERSION = 1988;
|
|
|
|
private bool m_fastRunning = false;
|
|
private bool m_damageBooster;
|
|
private bool m_immortal = false;
|
|
|
|
private Quest m_currentQuest;
|
|
|
|
[Category("Build")]
|
|
public string Version
|
|
{
|
|
get
|
|
{
|
|
//return PlayerSettings.iOS.buildNumber;
|
|
var bv = Resources.Load<BuildVersionScriptable>("Build");
|
|
return bv.version;
|
|
}
|
|
}
|
|
|
|
[Category("Scenes")]
|
|
[field: Range(0, 10)]
|
|
public int SceneToLoad { get; set; } = 0;
|
|
|
|
[Category("Scenes")] // Options will be grouped by category
|
|
public void LoadSeleced()
|
|
{
|
|
//SaveSystem.LoadScene($"index:{SceneToLoad}");
|
|
ProxySceneLoader.LoadScene($"index:{SceneToLoad}");
|
|
}
|
|
|
|
[Category("Quests Controll")]
|
|
public string QuestIdToActive { get; set; }
|
|
|
|
[Category("Locomotion")]
|
|
public bool FastRunning
|
|
{
|
|
get { return m_fastRunning; }
|
|
set
|
|
{
|
|
m_fastRunning = value;
|
|
var tp = Player.Instance.GetComponent<vThirdPersonController>();
|
|
if (tp)
|
|
tp.freeSpeed.runningSpeed = value ? 10f : 1f;
|
|
}
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void Spawn1()
|
|
{
|
|
SpawnTelepoerter.Instance.SpawnToPoint(0);
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void Spawn2()
|
|
{
|
|
SpawnTelepoerter.Instance.SpawnToPoint(1);
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void Spawn3()
|
|
{
|
|
SpawnTelepoerter.Instance.SpawnToPoint(2);
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void SetNormalSpeed()
|
|
{
|
|
var tp = Player.Instance.GetComponent<vThirdPersonController>();
|
|
if (tp)
|
|
{
|
|
tp.speedMultiplier = 1f;
|
|
tp.freeSpeed.movementSmooth = 6f;
|
|
tp.freeSpeed.animationSmooth = 0.2f;
|
|
tp.freeSpeed.rotationSpeed = 4;
|
|
tp.freeSpeed.walkSpeed = 1f;
|
|
tp.freeSpeed.runningSpeed = 1f;
|
|
tp.freeSpeed.sprintSpeed = 2f;
|
|
tp.freeSpeed.crouchSpeed = 2f;
|
|
}
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void SetHightSpeed()
|
|
{
|
|
var tp = Player.Instance.GetComponent<vThirdPersonController>();
|
|
if (tp)
|
|
{
|
|
tp.speedMultiplier = 1.1f;
|
|
tp.freeSpeed.movementSmooth = 10f;
|
|
tp.freeSpeed.animationSmooth = 0.12f;
|
|
tp.freeSpeed.rotationSpeed = 9;
|
|
tp.freeSpeed.walkSpeed = 1.1f;
|
|
tp.freeSpeed.runningSpeed = 1.2f;
|
|
tp.freeSpeed.sprintSpeed = 2.5f;
|
|
tp.freeSpeed.crouchSpeed = 2.5f;
|
|
}
|
|
}
|
|
|
|
[Category("Locomotion")]
|
|
public void SetVHightSpeed()
|
|
{
|
|
var tp = Player.Instance.GetComponent<vThirdPersonController>();
|
|
if (tp)
|
|
{
|
|
tp.speedMultiplier = 1.2f;
|
|
tp.freeSpeed.movementSmooth = 15f;
|
|
tp.freeSpeed.animationSmooth = 0.08f;
|
|
tp.freeSpeed.rotationSpeed = 12;
|
|
tp.freeSpeed.walkSpeed = 1.3f;
|
|
tp.freeSpeed.runningSpeed = 1.4f;
|
|
tp.freeSpeed.sprintSpeed = 3f;
|
|
tp.freeSpeed.crouchSpeed = 3f;
|
|
}
|
|
}
|
|
|
|
[Category("Combat")]
|
|
public bool DamageBooster
|
|
{
|
|
get { return m_damageBooster; }
|
|
|
|
set
|
|
{
|
|
m_damageBooster = value;
|
|
var mm = Player.Instance.GetComponent<vMeleeManager>();
|
|
|
|
if (mm)
|
|
{
|
|
mm.rightWeapon.damageModifier = value ? 100 : 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
[Category("Combat")]
|
|
public bool Immortal
|
|
{
|
|
get { return m_immortal; }
|
|
|
|
set
|
|
{
|
|
m_immortal = value;
|
|
Player.Instance.ThirdPersonController.GodMode = value;
|
|
}
|
|
}
|
|
|
|
[Category("Save")]
|
|
public void SaveGame()
|
|
{
|
|
SaveSystem.SaveToSlot(6);
|
|
}
|
|
|
|
[Category("Save")]
|
|
public void LoadGame()
|
|
{
|
|
SaveSystem.LoadFromSlot(6);
|
|
}
|
|
|
|
[Category("Save")]
|
|
public void LoadLastCheckpoint()
|
|
{
|
|
SaveUtility.Instance.LoadCheckpoint();
|
|
}
|
|
|
|
[Category("Save")]
|
|
public void SaveLastCheckpoint()
|
|
{
|
|
SaveUtility.Instance.SaveCheckpoint();
|
|
}
|
|
|
|
[Category("Save")]
|
|
public void ClearLastCheckpoint()
|
|
{
|
|
SaveUtility.Instance.ClearCheckpoint();
|
|
}
|
|
|
|
[Category("Quests Controll")]
|
|
public void ActiveQuest()
|
|
{
|
|
m_currentQuest = QuestMachine.GiveQuestToQuester(QuestIdToActive, "Bascileus");
|
|
}
|
|
|
|
[Category("Quests Controll")]
|
|
public void CompleteQuestPart()
|
|
{
|
|
var journal = QuestMachine.GetQuestJournal();
|
|
|
|
if (!m_currentQuest || m_currentQuest.GetState() == QuestState.Successful)
|
|
{
|
|
for (int i = 0; i < journal.questList.Count; i++)
|
|
{
|
|
var quest = journal.questList[i];
|
|
|
|
if (!quest.isTrackable || quest.GetState() == QuestState.Successful)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
m_currentQuest = quest;
|
|
break;
|
|
}
|
|
}
|
|
|
|
for (int i = 0; i < m_currentQuest.nodeList.Count; i++)
|
|
{
|
|
if (m_currentQuest.nodeList[i].GetState() == QuestNodeState.True)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if (m_currentQuest.nodeList[i].GetState() == QuestNodeState.Active)
|
|
{
|
|
m_currentQuest.nodeList[i].SetState(QuestNodeState.True);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
[Category("Items")]
|
|
public int ItemId { get; set; }
|
|
|
|
[Category("Items")]
|
|
public int ItemAmount { get; set; }
|
|
|
|
[Category("Items")]
|
|
public void AddItem()
|
|
{
|
|
Player.Instance.ItemManager.AddItemsByID(ItemId, ItemAmount);
|
|
}
|
|
|
|
[Category("Skills")]
|
|
public Skills skillToLevelUp { get; set; }
|
|
|
|
[Category("Skills")]
|
|
public void LvlUpSkill()
|
|
{
|
|
SkillsManager.instance.LevelUpSkill(skillToLevelUp);
|
|
}
|
|
|
|
[Category("Guilts")]
|
|
public void OpenScrollOfAccusation()
|
|
{
|
|
var m_mainMenuController = Player.Instance.transform.parent.GetComponentInChildren<MainMenuController>();
|
|
if (m_mainMenuController == null)
|
|
{
|
|
Debug.LogError("There is no MainMenuController on Scene");
|
|
return;
|
|
}
|
|
|
|
m_mainMenuController.OpenJudgementMenu();
|
|
}
|
|
|
|
[Category("Guilts")]
|
|
public string GuiltId { set; get; }
|
|
|
|
[Category("Guilts")]
|
|
public void ActiveGuilt()
|
|
{
|
|
QuestMachine.GiveQuestToQuester(GuiltId, "Bascileus");
|
|
}
|
|
}
|