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); }