• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by importguru88 · Apr 18, 2016 at 07:53 PM · errordestroycontrollerload

I "m having some issues . How do I get the don't destroy on load to work in C# ?

Here is what I got so far :

using UnityEngine; using System.Collections; using CFInput; namespace Opsive.ThirdPersonController.Input { ///

/// Acts as a common base class for Control Freak input. /// public class ControlFreakInput : PlayerInput {

public static instance ThirdPersonController;

void Awake () { transform.parent = null; instance = this; DontDestroyOnLoad(gameObject);

}

     private bool m_AllowGameplayInput = true;

     /// <summary>
     /// Assign the static variables and initialize the default values.
     /// </summary>
     private void OnEnable()
     {
         s_PlayerInput = this;
     }
     
     /// <summary>
     /// Register for any events that the handler should be aware of.
     /// </summary>
     private void Start()
     {
         EventHandler.RegisterEvent<bool>(gameObject, "OnAllowGameplayInput", AllowGameplayInput);
     }
     
     /// <summary>
     /// Internal method to determine if the disabled button is down.
     /// </summary>
     /// <param name="primaryInput">Should the primary input be checked?</param>
     /// <returns>True if the disabled button is down.</returns>
     protected override bool IsDisabledButtonDownInternal(bool primaryInput)
     {
         return GetButton(primaryInput ? Constants.PrimaryDisableButtonName : Constants.SecondaryDisableButtonName, true);
     }

     /// <summary>
     /// Internal method to return true if the button is being pressed.
     /// </summary>
     /// <param name="name">The name of the button.</param>
     /// <returns>True of the button is being pressed.</returns>
     protected override bool GetButtonInternal(string name, bool positiveAxis)
     {
         if (!m_AllowGameplayInput) {
             return false;
         }

         return CFInput.GetButton(name);
     }

     /// <summary>
     /// Internal method to return true if the button was pressed this frame. Will use the joystick axis if a joystick is connected.
     /// </summary>
     /// <param name="name">The name of the button.</param>
     /// <param name="positiveAxis">If using a joystick, is the joystick axis positive?</param>
     /// <returns>True if the button is pressed this frame.</returns>
     protected override bool GetButtonDownInternal(string name, bool positiveAxis)
     {
         if (!m_AllowGameplayInput) {
             return false;
         }

         return CFInput.GetButtonDown(name);
     }

     /// <summary>
     /// Internal method to return true if the button was pressed this frame.
     /// </summary>
     /// <param name="name">The name of the button.</param>
     /// <returns>True if the button is pressed this frame.</returns>
     protected override bool GetButtonDownInternal(string name)
     {
         return CFInput.GetButtonDown(name);
     }

     /// <summary>
     /// Internal method to return true if the button is up.
     /// </summary>
     /// <param name="name">The name of the button.</param>
     /// <param name="useJoystick">Should the input be using the joystick if connected?</param>
     /// <returns>True if the button is up.</returns>
     protected override bool GetButtonUpInternal(string name, bool useJoystickAxis)
     {
         return CFInput.GetButtonUp(name);
     }

     /// <summary>
     /// Internal method to return true if a double tap occurred.
     /// </summary>
     /// <returns>True if a double tap occurred.</returns>
     protected override bool GetDoublePressInternal()
     {
         if (UnityEngine.Input.touchCount == 0) {
             return false;
         }
         var touch = UnityEngine.Input.touches[0];
         return touch.tapCount == 2;
     }

     /// <summary>
     /// Internal method to return the value of the axis with the specified name.
     /// </summary>
     /// <param name="name">The name of the axis.</param>
     /// <returns>The value of the axis.</returns>
     protected override float GetAxisInternal(string name)
     {
         return CFInput.GetAxis(name);
     }

     /// <summary>
     /// Internal method to return the value of the raw axis with the specified name.
     /// </summary>
     /// <param name="name">The name of the axis.</param>
     /// <returns>The value of the raw axis.</returns>
     protected override float GetAxisRawInternal(string name)
     {
         return CFInput.GetAxisRaw(name);
     }

     /// <summary>
     /// Should the mouse be used?
     /// </summary>
     /// <returns>True if the mouse should be used.</returns>
     protected override bool UseMouseInternal()
     {
         return false;
     }

     /// <summary>
     /// Internal method to return the position of the mouse.
     /// </summary>
     /// <returns>The mouse position.</returns>
     protected override Vector2 GetMousePositionInternal()
     {
         return CFInput.mousePosition;
     }

     /// <summary>
     /// Is gameplay input allowed? An example of when it will not be allowed is when there is a fullscreen UI over the main camera.
     /// </summary>
     /// <param name="allow">True if gameplay is allowed.</param>
     private void AllowGameplayInput(bool allow)
     {
         m_AllowGameplayInput = allow;
     }
 }

}

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Respawn fix 1 Answer

Assets/sprits/point.cs(24,39): error CS1525: Unexpected symbol `Destroy' 1 Answer

Why is it that when I added a C sharp script to a game object, the game object disappeared? 0 Answers

CS8025 Parsing error!? 1 Answer

error when login 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges