protected virtual void InitializeAlly(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
        {
            AllyFaction      = _specific.AllyFaction;
            GeneralCommander = _specific.GeneralCommander;
            if (_allFields.bBuildLOSChildObject)
            {
                LOSTransform = _specific.LOSChildObjectTransform;
            }

            if (gamemode == null)
            {
                Debug.LogError("No gamemode on ai player!");
            }

            //Add Ally to PartyMembers Rather than Finding them
            //To Make Spawning Easier
            if (partyManager != null)
            {
                partyManager.AddPartyMember(this);
            }
            //Create Overrideable Late Start to Accommodate
            //Assets Having Long StartUp
            Invoke("OnDelayStart", 0.5f);
            StartServices();
        }
 public virtual void CallInitializeAllyComponents(RTSAllyComponentSpecificFields _specificComps, RTSAllyComponentsAllCharacterFields _allAllyComps)
 {
     if (InitializeAllyComponents != null)
     {
         InitializeAllyComponents(_specificComps, _allAllyComps);
     }
 }
Beispiel #3
0
 protected virtual void InitializeAllyStatController(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
 {
     characterType = _specific.CharacterType;
     InitializeCharacterStats();
     RetrieveAllWeaponStats();
     UpdateUnequippedWeaponType();
 }
Beispiel #4
0
 protected virtual void InitializeSpecialAbilties(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
 {
     abilities   = _allFields.specialAbilitiesArray;
     outOfEnergy = _allFields.outOfEnergySoundClip;
     InitializeAbilityDictionary();
     InvokeRepeating("SE_AddEnergyPoints", 1f, addStaminaRepeatRate);
 }
 protected virtual void OnAllyInitComponents(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
 {
     selAllyColor  = _allFields.AllyHighlightColor;
     selEnemyColor = _allFields.EnemyHighlightColor;
     AllyIndicatorSpotlightInstance = _specific.AllyIndicatorSpotlightInstance;
     waypointRendererMaterial       = _allFields.WaypointRendererMaterial;
     BloodParticles  = _allFields.BloodParticles;
     myHealthBar     = _specific.EnemyHealthBarImage;
     myActiveTimeBar = _specific.EnemyActiveBarImage;
 }
        protected virtual void OnAllyInitComps(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
        {
            sightRange          = _allFields.sightRange;
            followDistance      = _allFields.followDistance;
            SingleDeadAllyLayer = gamemode.SingleDeadAllyLayer;
            if (IsNavMeshAgentEnabled() == false)
            {
                ToggleNavMeshAgent(true);
            }

            agentQueryFilter = new NavMeshQueryFilter
            {
                areaMask    = myNavAgent.areaMask,
                agentTypeID = myNavAgent.agentTypeID
            };
            surfaceWalkablePath = new NavMeshPath();
            if (myNavAgent.height >= 2f)
            {
                //Only Set Property If Nav Height Is Accurate, Otherwise Use an Estimate
                _myNavAgentHeight = myNavAgent.height;
            }
        }
 protected virtual void OnAllyInitComps(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
 {
     sightRange     = _allFields.sightRange;
     followDistance = _allFields.followDistance;
 }
 protected virtual void HandleInitAllyComps(RTSAllyComponentSpecificFields _specific, RTSAllyComponentsAllCharacterFields _allFields)
 {
     executionsPerSec = _allFields.tacticsExecutionsPerSecond;
 }