示例#1
0
        protected ActiveEquipmentDisplay SwapBaseModelTexture(EquipmentDisplay equipDisplay)
        {
            if (string.IsNullOrEmpty(equipDisplay.modelName) && equipDisplay.model != null)
            {
                equipDisplay.modelName = equipDisplay.model.name;
            }
            Transform model = transform.Find(equipDisplay.modelName);
            // Store the base material first
            ActiveEquipmentDisplay activeDisplay = new ActiveEquipmentDisplay(equipDisplay, null, model.GetComponent <Renderer>().material);

            model.GetComponent <Renderer>().material = equipDisplay.material;
            return(activeDisplay);
        }
示例#2
0
        protected ActiveEquipmentDisplay AttachObject(EquipmentDisplay equipDisplay)
        {
            GameObject weapon = (GameObject)Instantiate(equipDisplay.model, GetSocketTransform(equipDisplay.socket).position,
                                                        GetSocketTransform(equipDisplay.socket).rotation);

            if (equipDisplay.material != null)
            {
                if (weapon.GetComponent <Renderer>() != null)
                {
                    weapon.GetComponent <Renderer>().material = equipDisplay.material;
                }
            }
            weapon.transform.parent = GetSocketTransform(equipDisplay.socket);
            return(new ActiveEquipmentDisplay(equipDisplay, weapon, equipDisplay.socket));
        }
示例#3
0
        protected ActiveEquipmentDisplay ActivateModel(EquipmentDisplay equipDisplay)
        {
            if (string.IsNullOrEmpty(equipDisplay.modelName) && equipDisplay.model != null)
            {
                equipDisplay.modelName = equipDisplay.model.name;
            }
            Transform newModel = transform.Find(equipDisplay.modelName);
            ActiveEquipmentDisplay activeDisplay = new ActiveEquipmentDisplay(equipDisplay, null, null);

            if (newModel != null)
            {
                newModel.gameObject.SetActive(true);
                if (equipDisplay.material != null)
                {
                    activeDisplay.baseMaterial = newModel.GetComponent <Renderer>().material;
                    newModel.GetComponent <Renderer>().material = equipDisplay.material;
                }
            }
            return(activeDisplay);
        }
示例#4
0
 public ActiveEquipmentDisplay(EquipmentDisplay equipDisplay, GameObject attachedObject, Material baseMaterial)
 {
     this.equipDisplay   = equipDisplay;
     this.attachedObject = attachedObject;
     this.baseMaterial   = baseMaterial;
 }
示例#5
0
 public ActiveEquipmentDisplay(EquipmentDisplay equipDisplay, GameObject attachedObject, AttachmentSocket socket)
 {
     this.equipDisplay   = equipDisplay;
     this.attachedObject = attachedObject;
     this.socket         = socket;
 }