Beispiel #1
0
    //private GameObject CurCardObj = null;
    public void PutFishModelInScene(MagicCardConfig mcc, bool RecordToPlayerPrefs = true)
    {
        /*CurCardObj = CardObj;
         * MyTools.DestroyChildNodes(CardRoot4CR);
         * GameObject NewCurCardObj = GameObject.Instantiate(CurCardObj);
         * NewCurCardObj.transform.parent = CardRoot4CR;
         * NewCurCardObj.transform.localPosition = Vector3.zero;
         * NewCurCardObj.transform.localScale = Vector3.one;
         *
         * TweenAlpha.Begin(ConfirmationRoot, 0.2f, 1).from = 0;*/

        if (mcc != null)
        {
            if (FishModelObjLst.ContainsKey(mcc.CardID))
            {
                GameApp.Instance.CommonHintDlg.OpenHintBox(StringBuilderTool.ToString(mcc.Name, "已在水塘中!"));
                return;
            }

            int FishIndex = mcc.CardID - Const.FishCardFirshID;

            GameObject FishModeParent = new GameObject();
            FishModeParent.name                       = StringBuilderTool.ToString("FishModeParent_", mcc.CardID);
            FishModeParent.transform.parent           = FishModelRoot;
            FishModeParent.transform.localPosition    = Vector3.zero;
            FishModeParent.transform.localEulerAngles = new Vector3(0, 90, 0);
            FishModeParent.transform.localScale       = Vector3.one * 2.5f;
            BoxCollider bc = FishModeParent.AddComponent <BoxCollider>();
            bc.size = Vector3.one * 0.5f;

            GameObject ModelObj_Original = Resources.Load <GameObject>("Prefabs/Actor/" + mcc.ModelName);
            if (ModelObj_Original != null)
            {
                GameObject FishMode_Original = GameObject.Instantiate(ModelObj_Original);
                FishMode_Original.name                       = StringBuilderTool.ToString(mcc.ModelName, "_Original");
                FishMode_Original.transform.parent           = FishModeParent.transform;
                FishMode_Original.transform.localPosition    = Vector3.zero;
                FishMode_Original.transform.localEulerAngles = new Vector3(0, 90, 0);
                //FishMode_Original.transform.localScale = FishMode_Original.transform.localScale * 1.5f;
                FishMode_Original.SetActive(!SwitchToggle.value);
            }

            GameObject ModelObj_Coloring = Resources.Load <GameObject>("Prefabs/Actor/" + mcc.ColoringModelName);
            if (ModelObj_Coloring != null)
            {
                GameObject FishMode_Coloring = GameObject.Instantiate(ModelObj_Coloring);
                FishMode_Coloring.name                       = StringBuilderTool.ToString(mcc.ModelName, "_Coloring");
                FishMode_Coloring.transform.parent           = FishModeParent.transform;
                FishMode_Coloring.transform.localPosition    = Vector3.zero;
                FishMode_Coloring.transform.localEulerAngles = new Vector3(0, 90, 0);
                //FishMode_Coloring.transform.localScale = FishMode_Coloring.transform.localScale * 1.5f;
                FishMode_Coloring.SetActive(SwitchToggle.value);

                StartCoroutine(ReadColoringTexture(FishIndex, FishMode_Coloring));
            }

            SimplePath sp        = FishModeParent.AddComponent <SimplePath>();
            int[]      RandomLst = MyTools.GetRandomNumArray4Barring(5, AlternativePathsPos.Count, -1);
            sp.paths = new Transform[6];
            for (int i = 0; i < RandomLst.Length; i++)
            {
                sp.paths[i] = AlternativePathsPos[RandomLst[i]];
            }
            sp.paths[5]       = AlternativePathsPos[RandomLst[0]];
            sp.speed          = 1.5f;
            sp.IsOrientToPath = true;
            sp.Run();

            FishModelObjLst.Add(mcc.CardID, FishModeParent);

            if (RecordToPlayerPrefs)
            {
                DisplayedFishRecord += StringBuilderTool.ToString(DisplayedFishRecord.Length > 0 ? "_" : "", FishIndex);
            }
        }
    }