using System.Collections; using System.Collections.Generic; using UnityEngine; public class LockCommand : ICommand { string _nameObject; bool _setLock; public LockCommand(string nameObject, bool setLock) { _nameObject = nameObject; _setLock = setLock; } public void Execute() { Lock(true); if (SceneModeManager.SelectedName == _nameObject) { SetActiveLockButton(_setLock); } } public string GetAction() { return _setLock ? "Lock" : "Unlock"; } public void Undo() { Lock(false); if (SceneModeManager.SelectedName == _nameObject) { SetActiveLockButton(!_setLock); } } public void UpdateCommand() { return; } public void Lock(bool isExecute) { int nO = int.Parse(_nameObject.Substring(4, _nameObject.Length - 4)); if (isExecute) { _G.OBJs[nO][3] = _setLock ? "LOCK" : "UNLOCK"; } else { _G.OBJs[nO][3] = !_setLock ? "LOCK" : "UNLOCK"; } } static public void SetActiveLockButton(bool isLocked) { GameObject.Find("CONTROL")?.transform.Find("Lock")?.gameObject.SetActive(isLocked); } }