示例#1
0
        void OnClickItem(AnturaSpaceItemButton _bt)
        {
            var scene = AnturaSpaceScene.I as AnturaSpaceScene;

            if (scene.TutorialMode && scene.tutorialManager.CurrentTutorialFocus != _bt)
            {
                return;
            }

            SelectReward(_bt.Data);
            RewardBase rewardBase = _bt.Data.data;

            if (rewardBase != null && onRewardSelectedInCustomization != null)
            {
                onRewardSelectedInCustomization(rewardBase.ID);
            }

            RewardProp rewardProp = rewardBase as RewardProp;

            if (rewardProp != null &&
                (rewardProp.Category == "EAR_R" || rewardProp.Category == "EAR_L") &&
                onRewardCategorySelectedInCustomization != null)
            {
                onRewardCategorySelectedInCustomization(rewardProp.Category);
            }
        }
示例#2
0
        /// <summary>
        /// Loads the reward on model.
        /// </summary>
        /// <param name="rewardPackUnlockData">The identifier.</param>
        /// <returns></returns>
        private GameObject LoadRewardPropOnAntura(RewardPack rewardPack)
        {
            RewardProp prop = rewardPack.RewardBase as RewardProp;

            if (prop == null)
            {
                Debug.LogFormat("Prop {0} not found!", rewardPack.BaseId);
                return(null);
            }

            // Check if we already loaded a reward of this category
            LoadedModel loadedModel = LoadedModels.Find(lm => lm.RewardPack.Category == prop.Category);

            if (loadedModel != null)
            {
                Destroy(loadedModel.GO);
                LoadedModels.Remove(loadedModel);
            }

            // Load Model
            string     boneParent  = prop.BoneAttach;
            GameObject rewardModel = null;

            switch (boneParent)
            {
            case "dog_head":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_head);
                break;

            case "dog_spine01":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_spine01);
                break;

            case "dog_jaw":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_jaw);
                break;

            case "dog_Tail4":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_Tail3);
                break;

            case "dog_R_ear04":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_R_ear04);
                break;

            case "dog_L_ear04":
                rewardModel = ModelsManager.MountModel(prop.ID, Dog_L_ear04);
                break;
            }

            // Set materials
            ModelsManager.SwitchMaterial(rewardModel, rewardPack.GetMaterialPair());

            // Save on LoadedModel List
            LoadedModels.Add(new LoadedModel()
            {
                RewardPack = rewardPack, GO = rewardModel
            });
            return(rewardModel);
        }
示例#3
0
 /// <summary>
 /// Loads the reward on dog.
 /// </summary>
 /// <param name="_name">The name.</param>
 void LoadRewardOnDog(string _name)
 {
     actualReward = null;
     //actualReward = RewardSystemManager.GetConfig().Rewards.Find(r => r.RewardName == _name);
     //actualRewardGO = AnturaModelManager.Instance.LoadRewardOnAntura(actualReward.ID);
     //foreach (var color in actualRewardGO.GetComponentsInChildren<MeshRenderer>()) {
     //    if (color.name == "color_1") {
     //        color.materials = new Material[] { MaterialManager.LoadMaterial(material1, (PaletteType)Enum.Parse(typeof(PaletteType), actualReward.Material1)) };
     //    } else if (color.name == "color_2") {
     //        color.materials = new Material[] { MaterialManager.LoadMaterial(material2, (PaletteType)Enum.Parse(typeof(PaletteType), actualReward.Material2)) };
     //    }
     //}
 }
示例#4
0
        void LoadRewardsList(string _position = "")
        {
            ClearList();
            IEnumerable <RewardBase> rewardBases;
            var allPropBases = AppManager.I.RewardSystemManager.GetRewardBasesOfType(RewardBaseType.Prop);

            if (_position != "")
            {
                rewardBases = allPropBases.Where(r => (r as RewardProp).BoneAttach == _position);
            }
            else
            {
                rewardBases = allPropBases;
            }

            foreach (RewardBase rewardBase in rewardBases)
            {
                RewardProp rewardProp = rewardBase as RewardProp;
                Button     b          = Instantiate <Button>(ElementPrefab.GetComponent <Button>());
                b.transform.SetParent(ElementContainer.transform);
                b.GetComponentInChildren <Text>().text = rewardProp.RewardName;
                b.onClick.AddListener(delegate { OnClickButton(b.GetComponentInChildren <Text>().text); });
            }
        }