コード例 #1
0
 private void Start()
 {
     rangeObserverAi = GetComponent <RangeObserver_AI>();
     charge          = GetComponent <Charge>();
     targetAi        = GetComponent <Target_AI>();
     RegisterCallbacks();
 }
コード例 #2
0
    private void Start()
    {
        rangeObserver = GetComponent <RangeObserver_AI>();
        follower      = GetComponent <Follower_AI>();
        meleeAttaker  = GetComponent <MeleeAttacker_AI>();
        target        = GetComponent <Target_AI>();

        RegisterCallbacks();
    }
コード例 #3
0
    void Start()
    {
        rangeObserver = GetComponent <RangeObserver_AI>();
        shooter       = GetComponent <Shooter_AI>();
        follower      = GetComponent <Follower_AI>();
        keepDistance  = GetComponent <KeepDistanceWith>();
        target        = GetComponent <Target_AI>();

        /*Config*/
        keepDistance.distance = rangeObserver.minRange;

        RegisterCallbacks();
    }
コード例 #4
0
    public override void OnInspectorGUI()
    {
        RangeObserver_AI rangeObserver_AI = target as RangeObserver_AI;

#pragma warning disable CS0618 // El tipo o el miembro están obsoletos
        EditorGUIUtility.LookLikeInspector();
#pragma warning restore CS0618 // El tipo o el miembro están obsoletos


        //MAX DISTANCE//////////////////////
        bool before = rangeObserver_AI.noMaxRange;
        rangeObserver_AI.noMaxRange = EditorGUILayout.Toggle("No Max Range", rangeObserver_AI.noMaxRange);
        maxValueChanged             = before != rangeObserver_AI.noMaxRange;

        if (rangeObserver_AI.noMaxRange)
        {
            if (maxValueChanged)
            {
                lastValueMaxRange = rangeObserver_AI.maxRange;
            }
            rangeObserver_AI.maxRange = float.NegativeInfinity;
        }
        else
        {
            if (maxValueChanged)
            {
                rangeObserver_AI.maxRange = lastValueMaxRange;
            }
            rangeObserver_AI.maxRange = EditorGUILayout.FloatField("Max Range", rangeObserver_AI.maxRange);
        }

        //MIN DISTANCE//////////////////////
        before = rangeObserver_AI.noMinRange;
        rangeObserver_AI.noMinRange = EditorGUILayout.Toggle("No Min Range", rangeObserver_AI.noMinRange);
        minValueChanged             = before != rangeObserver_AI.noMinRange;

        if (rangeObserver_AI.noMinRange)
        {
            if (minValueChanged)
            {
                lastValueMinRange = rangeObserver_AI.minRange;
            }
            rangeObserver_AI.minRange = float.PositiveInfinity;
        }
        else
        {
            if (minValueChanged)
            {
                rangeObserver_AI.minRange = lastValueMinRange;
            }
            rangeObserver_AI.minRange = EditorGUILayout.FloatField("Min Range", rangeObserver_AI.minRange);
            if (rangeObserver_AI.minRange > rangeObserver_AI.maxRange)
            {
                rangeObserver_AI.minRange = rangeObserver_AI.maxRange - 0.01f;
            }
        }

        //Update gui
        if (GUI.changed)
        {
            serializedObject.ApplyModifiedProperties();
        }
    }