Beispiel #1
0
    //-----------------------------------------------------------
    // Init
    //-----------------------------------------------------------

    void Awake()
    {
        methodFire = GetComponent <MethodFire>();

        //a collider is mandatory:
        if (GetComponent <Collider>() == null)
        {
            gameObject.AddComponent <BoxCollider>();
        }

        //default to main camera if a rendering camera is not specified:
        if (renderingCamera == null)
        {
            foreach (Camera item in Camera.allCameras)
            {
                if ((((LayerMask)item.cullingMask) & 1 << gameObject.layer) != 0)
                {
                    renderingCamera = item;
                    break;
                }
            }
        }

        //if no camera still has been set or found lets just default to the main camera to ensure something is tracked:
        if (renderingCamera == null)
        {
            renderingCamera = Camera.main;
        }
    }
    //private bool attackStarted = false;

    private void Awake()
    {
        string fireEnterMethodName  = "";
        string fireUpdateMethodName = "";

        if (state == State.UseLeft)
        {
            fireEnterMethodName  = "UseLeft";
            fireUpdateMethodName = "UpdateLeft";
        }
        else if (state == State.UseRight)
        {
            fireEnterMethodName  = "UseRight";
            fireUpdateMethodName = "UpdateRight";
        }
        else if (state == State.Jump)
        {
            fireEnterMethodName = "Jump";
        }

        MethodInfo enterMethodInfo = typeof(ControllerPlayer).GetMethod(fireEnterMethodName, BindingFlags.Public | BindingFlags.Instance);

        fireEnter = (MethodFire)Delegate.CreateDelegate(typeof(MethodFire), null, enterMethodInfo);

        MethodInfo updateMethodInfo = typeof(ControllerPlayer).GetMethod(fireUpdateMethodName, BindingFlags.Public | BindingFlags.Instance);

        if (updateMethodInfo != null)
        {
            fireUpdate = (MethodFire)Delegate.CreateDelegate(typeof(MethodFire), null, updateMethodInfo);
        }
    }
 void OnEnable()
 {
     _target = (MethodFire)target;
     if (_target.target == null || System.Array.IndexOf(TargetMethods(), _target.methodName) == -1)
     {
         _target.methodID   = 0;
         _target.methodName = "";
     }
 }