Advertisement
dronkowitz

CharacterPlacement.cs

Nov 23rd, 2022 (edited)
888
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.56 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5.  
  6. [ExecuteInEditMode]
  7. public class CharacterPlacement : MonoBehaviour
  8. {
  9.     public NPCData NPC;
  10.     private NPCData previousNPC;
  11.     public GameObject characterObject, placeHolder;
  12.     private void Awake()
  13.     {
  14.         Setup();
  15.     }
  16.     private void Update()
  17.     {
  18.         if (NPC != previousNPC)
  19.         {
  20.             //PrefabUtility.UnpackPrefabInstance(gameObject, PrefabUnpackMode.Completely, InteractionMode.AutomatedAction);
  21.             previousNPC = NPC;
  22.             Setup();
  23.         }
  24.     }
  25.  
  26.  
  27.  
  28.     public void Setup()
  29.     {
  30.         if (NPC != null)
  31.         {
  32.             if (characterObject != NPC.characterObject)
  33.             {
  34.                 if (characterObject != null)
  35.                 {
  36.                     DestroyImmediate(characterObject);
  37.                 }
  38.                 characterObject = Instantiate(NPC.characterObject, transform);
  39.                 characterObject.transform.localPosition = Vector3.zero;
  40.                 characterObject.transform.localRotation = Quaternion.identity;
  41.             }
  42.            
  43.         }
  44.         else
  45.         {
  46.             if (characterObject != placeHolder)
  47.             {
  48.                 DestroyImmediate(characterObject);
  49.                 characterObject = Instantiate(placeHolder, transform);
  50.                 characterObject.transform.localPosition = Vector3.zero;
  51.                 characterObject.transform.localRotation = Quaternion.identity;
  52.             }
  53.         }
  54.        
  55.     }
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement