/// <summary> /// Spawns and sets up the action text popup, if appropriate to do so. /// </summary> /// <param name="changeInflicterArg"></param> /// <param name="isIncreasingArg"></param> /// <param name="changeValueArg"></param> private void SetupActionTextPopupIfAppropriate(CharacterMasterController changeInflicterArg, bool isIncreasingArg, int changeValueArg, Vector3 spawnPointArg) { // if NO inflicter if (changeInflicterArg == null) { // DONT continue code return; } // if inflicter is NOT a player if ((changeInflicterArg as PlayerCharacterMasterController) == null) { // DONT continue code return; } // if inflicter is online but NOT associated with the machine running this if (GeneralMethods.IsNetworkConnectedButNotLocalClient(changeInflicterArg.netIdentity)) { // DONT continue code return; } // if self-infliction if (_characterMasterController == changeInflicterArg) { // DONT continue return; } // spawn an action text popup ActionTextPopupController spawnedPopup = SpawnActionTextPopup(spawnPointArg); // if adding health if (isIncreasingArg) { // setup action text popup to denote healing spawnedPopup.Setup("+", Color.green); } // else removing health else { // initialize damage popup color Color damagePopupColor = GetTemporaryDamagePopupColorsMix(); // if no actual damage was taken if (changeValueArg <= 0) { damagePopupColor = Color.grey; } // setup action text popup to denote healing spawnedPopup.Setup(changeValueArg.ToString(), damagePopupColor); } }
/// <summary> /// Spawns a pooled action text popup. /// </summary> /// <returns></returns> private ActionTextPopupController SpawnActionTextPopup(Vector3 spawnPosArg) { // get pooled object GameObject spawnedPopupObj = _spawnManager.GetPooledActionTextPopup( spawnPosArg, _characterMasterController.transform.rotation); // turn ON pooled object spawnedPopupObj.SetActive(true); // get popup component from spawned object ActionTextPopupController spawnedPopup = spawnedPopupObj. GetComponent <ActionTextPopupController>(); // return pooled popup return(spawnedPopup); }