102 lines
2.0 KiB
C#
102 lines
2.0 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
public class puzzleSystemPlayerManagement : MonoBehaviour
|
|
{
|
|
[Header ("Main Settings")]
|
|
[Space]
|
|
|
|
public bool usingPuzzle;
|
|
|
|
[Space]
|
|
[Header ("Events Settings")]
|
|
[Space]
|
|
|
|
public bool useEventsOnStateChange;
|
|
public UnityEvent evenOnStateEnabled;
|
|
public UnityEvent eventOnStateDisabled;
|
|
|
|
puzzleSystem currentPuzzleSystem;
|
|
|
|
public void setcurrentPuzzleSystem (puzzleSystem newPuzzleObject)
|
|
{
|
|
currentPuzzleSystem = newPuzzleObject;
|
|
}
|
|
|
|
public void setUsingPuzzleState (bool state)
|
|
{
|
|
usingPuzzle = state;
|
|
|
|
checkEventsOnStateChange (usingPuzzle);
|
|
}
|
|
|
|
//CALL INPUT FUNCTIONS TO CURRENT PUZZLE SYSTEM
|
|
public void puzzleObjectInputSetRotateObjectState (bool state)
|
|
{
|
|
if (!usingPuzzle) {
|
|
return;
|
|
}
|
|
|
|
if (currentPuzzleSystem != null) {
|
|
currentPuzzleSystem.inputSetRotateObjectState (state);
|
|
}
|
|
}
|
|
|
|
public void puzzleObjectInputIncreaseObjectHolDistanceByButton (bool state)
|
|
{
|
|
if (!usingPuzzle) {
|
|
return;
|
|
}
|
|
|
|
if (currentPuzzleSystem != null) {
|
|
currentPuzzleSystem.inputIncreaseObjectHolDistanceByButton (state);
|
|
}
|
|
}
|
|
|
|
public void puzzleObjectInputDecreaseObjectHolDistanceByButton (bool state)
|
|
{
|
|
if (!usingPuzzle) {
|
|
return;
|
|
}
|
|
|
|
if (currentPuzzleSystem != null) {
|
|
currentPuzzleSystem.inputDecreaseObjectHolDistanceByButton (state);
|
|
}
|
|
}
|
|
|
|
public void puzzleObjectInputSetObjectHolDistanceByMouseWheel (bool state)
|
|
{
|
|
if (!usingPuzzle) {
|
|
return;
|
|
}
|
|
|
|
if (currentPuzzleSystem != null) {
|
|
currentPuzzleSystem.inputSetObjectHolDistanceByMouseWheel (state);
|
|
}
|
|
}
|
|
|
|
public void puzzleObjectInputResetPuzzle ()
|
|
{
|
|
if (!usingPuzzle) {
|
|
return;
|
|
}
|
|
|
|
if (currentPuzzleSystem != null) {
|
|
currentPuzzleSystem.inputResetPuzzle ();
|
|
}
|
|
}
|
|
|
|
public void checkEventsOnStateChange (bool state)
|
|
{
|
|
if (useEventsOnStateChange) {
|
|
if (state) {
|
|
evenOnStateEnabled.Invoke ();
|
|
} else {
|
|
eventOnStateDisabled.Invoke ();
|
|
}
|
|
}
|
|
}
|
|
}
|