Ejemplo n.º 1
0
        public void OpenSummon(Interactor activator)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.SummonMasterBehavior::OpenSummon(RoR2.Interactor)' called on client");
                return;
            }
            GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.masterPrefab, base.transform.position, base.transform.rotation);

            NetworkServer.Spawn(gameObject);
            CharacterMaster component = gameObject.GetComponent <CharacterMaster>();

            component.SpawnBody(component.bodyPrefab, base.transform.position + Vector3.up * 0.8f, base.transform.rotation);
            AIOwnership component2 = gameObject.GetComponent <AIOwnership>();

            if (component2)
            {
                CharacterBody component3 = activator.GetComponent <CharacterBody>();
                if (component3)
                {
                    CharacterMaster master = component3.master;
                    if (master)
                    {
                        component2.ownerMaster = master;
                    }
                }
            }
            BaseAI component4 = gameObject.GetComponent <BaseAI>();

            if (component4)
            {
                component4.leader.gameObject = activator.gameObject;
            }
            UnityEngine.Object.Destroy(base.gameObject);
        }
        private CharacterMaster SummonMaster(GameObject masterObjectPrefab, Vector3 position)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'RoR2.CharacterMaster RoR2.EquipmentSlot::SummonMaster(UnityEngine.GameObject,UnityEngine.Vector3)' called on client");
                return(null);
            }
            GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(masterObjectPrefab, position, base.transform.rotation);

            NetworkServer.Spawn(gameObject);
            CharacterMaster component = gameObject.GetComponent <CharacterMaster>();

            component.SpawnBody(component.bodyPrefab, position, base.transform.rotation);
            AIOwnership component2 = gameObject.GetComponent <AIOwnership>();

            if (component2)
            {
                CharacterBody characterBody = this.characterBody;
                if (characterBody)
                {
                    CharacterMaster master = characterBody.master;
                    if (master)
                    {
                        component2.ownerMaster = master;
                    }
                }
            }
            BaseAI component3 = gameObject.GetComponent <BaseAI>();

            if (component3)
            {
                component3.leader.gameObject = base.gameObject;
            }
            return(component);
        }