private void CheckTarget()
 {
     if (target == null)
     {
         KPrefabID instance = KPrefabIDTracker.Get().GetInstance(target_instance_id);
         if ((Object)instance != (Object)null)
         {
             target = instance.GetComponent <IAssignableIdentity>();
             if (target != null)
             {
                 MinionIdentity minionIdentity = target as MinionIdentity;
                 if ((bool)minionIdentity)
                 {
                     minionIdentity.ValidateProxy();
                 }
                 else
                 {
                     StoredMinionIdentity storedMinionIdentity = target as StoredMinionIdentity;
                     if ((bool)storedMinionIdentity)
                     {
                         storedMinionIdentity.ValidateProxy();
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     UpdateTint();
     UpdateStatusString();
     base.OnAssign += OnNewAssignment;
     if (assignee == null)
     {
         MinionStorage component = GetComponent <MinionStorage>();
         if ((bool)component)
         {
             List <MinionStorage.Info> storedMinionInfo = component.GetStoredMinionInfo();
             if (storedMinionInfo.Count > 0)
             {
                 MinionStorage.Info info             = storedMinionInfo[0];
                 Ref <KPrefabID>    serializedMinion = info.serializedMinion;
                 if (serializedMinion != null && serializedMinion.GetId() != -1)
                 {
                     KPrefabID            kPrefabID  = serializedMinion.Get();
                     StoredMinionIdentity component2 = kPrefabID.GetComponent <StoredMinionIdentity>();
                     component2.ValidateProxy();
                     Assign(component2);
                 }
             }
         }
     }
 }