コード例 #1
0
 public override void ClearTarget()
 {
     profile = null;
     Components.LiveMinionIdentities.OnAdd    -= OnMinionIdentitiesChanged;
     Components.LiveMinionIdentities.OnRemove -= OnMinionIdentitiesChanged;
     base.ClearTarget();
 }
コード例 #2
0
 /// <summary>
 /// Called when a Duplicant is removed, either by death or things like sandbox delete.
 /// </summary>
 /// <param name="dupe">The Duplicant that was removed.</param>
 private static void OnRemoveDuplicant(MinionIdentity dupe)
 {
     if (dupe != null)
     {
         var prefabID = dupe.gameObject.GetComponentSafe <KPrefabID>();
         WorkshopProfile.CleanupCmps();
         foreach (var cmp in WorkshopProfile.Cmps)
         {
             if (cmp != null)
             {
                 cmp.RemoveDuplicant(prefabID.InstanceID);
             }
         }
     }
 }
コード例 #3
0
        public override void SetTarget(GameObject target)
        {
            var wp = target.GetComponentSafe <WorkshopProfile>();

            if (wp != null)
            {
                // Register for changes to Duplicant roster while sidescreen is open
                if (profile == null)
                {
                    Components.LiveMinionIdentities.OnAdd    += OnMinionIdentitiesChanged;
                    Components.LiveMinionIdentities.OnRemove += OnMinionIdentitiesChanged;
                }
                profile = wp;
                ReloadIdentities();
                Refresh();
            }
            else
            {
                PUtil.LogWarning("Invalid workshop profile received!");
            }
        }