private void Awake() { this.player = GameStateManager.GetGameMode()?.GetPlayer(0); StringBuilder sb = new StringBuilder(); sb.Append("Total Objects Grabbed : ") .Append(this.player?.GetTotalObjectsGrabbed() ?? 0) .Append("\nLargest Combo : ") .Append(this.player?.GetLargestObjectGrabCombo() ?? 0) .Append("\nTotal Score : ") .Append(this.player?.GetTotalScore() ?? 0); this.resultsField.text = sb.ToString(); this.playerName = new[] { (char)65, (char)65, (char)65 }; this.pos = 0; this.horizontalInput = new InputButton("Horizontal") { DeadZone = 0.2f }; this.verticalInput = new InputButton("Vertical") { DeadZone = 0.2f }; }
internal void Register(AbstractUIInput inputHandler) { AbstractUIInput existingRegistered; if (m_AllInputs.TryGetValue(inputHandler.InputNameKey, out existingRegistered)) { if (existingRegistered != inputHandler) { StringBuilder pathBuilder = new StringBuilder(); string input1Path = inputHandler.PrintDebugHierarchy(pathBuilder).ToString(); pathBuilder.Length = 0; string input2Path = existingRegistered.PrintDebugHierarchy(pathBuilder).ToString(); throw new InvalidOperationException(String.Format("Duplicate inputs registered for key: {0}. Input 1: {1} Input 2: {2}", inputHandler.InputNameKey, input1Path, input2Path)); } return; } m_AllInputs.Add(inputHandler.InputNameKey, inputHandler); m_Axies.AddIfImplements(inputHandler.InputNameKey, inputHandler); m_Buttons.AddIfImplements(inputHandler.InputNameKey, inputHandler); IInputButton btn = inputHandler as IInputButton; if (btn != null) { btn.OnPress -= HandleOnInputButtonPressed; btn.OnPress += HandleOnInputButtonPressed; } }
internal void Unregister(AbstractUIInput inputHandler) { m_AllInputs.RemoveIfExists(inputHandler.InputNameKey, inputHandler); m_Axies.RemoveIfExistsAndImplements(inputHandler.InputNameKey, inputHandler); m_Buttons.RemoveIfExistsAndImplements(inputHandler.InputNameKey, inputHandler); IInputButton btn = inputHandler as IInputButton; if (btn != null) { btn.OnPress -= HandleOnInputButtonPressed; btn.OnPress += HandleOnInputButtonPressed; } }