Exemplo n.º 1
0
        // труп изъят из стораге - вернуть все как было
        // а также корректируем позицию чтобы не зависал в воздухе
        private static void UnHideCorpse(DeathMonitor.Instance smi)
        {
            MinionIdentity mi = smi.GetComponent <MinionIdentity>();

            if (mi != null)
            {
                if (!Components.MinionIdentities.Items.Contains(mi))
                {
                    Components.MinionIdentities.Add(mi);
                }
                MinionAssignablesProxy map = mi.assignableProxy.Get();
                if (map != null && !Components.MinionAssignablesProxy.Items.Contains(map))
                {
                    Components.MinionAssignablesProxy.Add(map);
                }
            }
            Transform transform = smi.master.transform;
            Vector3   position  = Grid.CellToPos(Grid.PosToCell(transform.GetPosition()));

            position.z = transform.GetPosition().z;
            transform.SetPosition(position);

            Debug.Log("UnHideCorpse");

            //NameDisplayScreen.Instance.entries.Find(entry => entry.world_go == smi.gameObject)?.display_go.SetActive(true);
            //NameDisplayScreen.Instance.entries.Find(entry => entry.world_go == smi.gameObject).display_go.GetComponent<KBatchedAnimController>().sceneLayer = Grid.SceneLayer.Move;
        }
Exemplo n.º 2
0
        // TODO: нужно разобраться с отображением имён закопанных трупов

        // труп сохранён в стораге - удаляем ссылки на труп из глобальных списков
        // и ещё раз отменяем все назначения
        private static void HideCorpse(DeathMonitor.Instance smi)
        {
            MinionIdentity mi = smi.GetComponent <MinionIdentity>();

            if (mi != null)
            {
                Components.MinionIdentities.Remove(mi);
                MinionAssignablesProxy map = mi.assignableProxy.Get();
                if (map != null)
                {
                    Components.MinionAssignablesProxy.Remove(map);
                }
                mi.GetSoleOwner().UnassignAll();
                mi.GetEquipment().UnequipAll();
            }


            Debug.Log("HideCorpse");
            //NameDisplayScreen.Instance.entries.Find(entry => entry.world_go == smi.gameObject)?.display_go.SetActive(false);

            //Debug.Log(NameDisplayScreen.Instance.entries.Find(entry => entry.world_go == smi.gameObject)?.display_go.name);
            //NameDisplayScreen.Instance.entries.Find(entry => entry.world_go == smi.gameObject).display_go.GetComponent<KBatchedAnimController>().sceneLayer = Grid.SceneLayer.NoLayer;
        }