Exemple #1
0
 public override void Intialize(AIGameManger _aIGameManger)
 {
     proprity     = GentleProprity;
     aIGameManger = _aIGameManger;
     SetObjInfo();
     player                     = GameObject.Find("Player");
     audioController            = Role.GetComponent <AudioController>();
     nav                        = Role.GetComponent <NavMeshAgent>();
     targetPos                  = Role.transform.GetChild(2).GetComponent <CapsuleCollider>();
     targetPos.transform.parent = null;
     ResetTargetPos(targetPos);
     ModelPrefab = Role.transform.GetChild(1).gameObject;
     //m_anim = Role.transform.GetChild(1).GetComponent<Animator>();
     m_anim   = ModelPrefab.GetComponent <Animator>();
     p_health = Role.GetComponent <PlayerHealth>();
     p_health.stateController = this;
     p_health.Proprity        = proprity;
     m_aiState = EnemyAIState.IDLE;
     CanEscape = true;
     SetValue();
     particileControl = Role.GetComponent <ParticileControl>();
     DropProp         = true;
     RenderGamObjs    = ModelPrefab.transform.GetComponentsInChildren <Renderer>();
     //EventManager.StartListening("DeadEnemy", DeadEnemy);
 }
        private void FilterSlots(int indexStruc)
        {
            //Get the cloth slots from the selected body structure
            int idStruc = bodyStrucList [indexStruc].ID;

            bodyStrucSlots = bodyStrucTable.GetClothSlotList(idStruc);

            selectedSlots = new bool[bodyStrucSlots.Count];

            //Get the body subtypes from the selected structure
            modelsList.Clear();

            List <BodySubtypeTable.BodySubtype> tList = bodySubType.GetList();

            BodyStructureTable.BodyStructure tRecord = bodyStrucTable.GetRecord(idStruc);

            for (int i = 0; i < tRecord.IDBodySubtype.Count; i++)
            {
                ModelPrefab toAdd = new ModelPrefab();
                toAdd.IDSubtype   = tRecord.IDBodySubtype [i];
                toAdd.SubtypeName = tList.Find(x => x.ID == tRecord.IDBodySubtype [i]).Name;

                modelsList.Add(toAdd);
            }
        }
        private void FilterSlots(int indexStruc)
        {
            //Get the cloth slots from the selected body structure
            int idStruc = bodyStrucList [indexStruc].ID;

            bodyStrucSlots = bodyStrucTable.GetPropSlotList(idStruc);

            System.Array.Resize(ref propSlotsOptions, bodyStrucSlots.Count);

            for (int i = 0; i < bodyStrucSlots.Count; i++)
            {
                propSlotsOptions [i] = bodyStrucSlots [i].SlotName;
            }
            modelsList.Clear();

            List <BodySubtypeTable.BodySubtype> tList = bodySubType.GetList();

            BodyStructureTable.BodyStructure tRecord = bodyStrucTable.GetRecord(idStruc);

            for (int i = 0; i < tRecord.IDBodySubtype.Count; i++)
            {
                ModelPrefab toAdd = new ModelPrefab();
                toAdd.IDSubtype   = tRecord.IDBodySubtype [i];
                toAdd.SubtypeName = tList.Find(x => x.ID == tRecord.IDBodySubtype [i]).Name;

                modelsList.Add(toAdd);
            }
        }
Exemple #4
0
    public virtual void DefendIntialize(AIGameManger _aIGameManger)
    {
        aIGameManger = _aIGameManger;
        SetObjInfo();
        player                     = GameObject.Find("Player");
        audioController            = Role.GetComponent <AudioController>();
        nav                        = Role.GetComponent <NavMeshAgent>();
        targetPos                  = Role.transform.GetChild(2).GetComponent <CapsuleCollider>();
        targetPos.transform.parent = null;
        ResetTargetPos(targetPos);
        ModelPrefab = Role.transform.GetChild(1).gameObject;
        //m_anim = Role.transform.GetChild(1).GetComponent<Animator>();
        m_anim   = ModelPrefab.GetComponent <Animator>();
        p_health = Role.GetComponent <PlayerHealth>();
        p_health.stateController = this;
        p_health.Proprity        = proprity;
        CanEscape = false;
        SetValue();
        Tower            = GameObject.FindObjectOfType <StageChallange>().gameObject;
        particileControl = Role.GetComponent <ParticileControl>();
        DropProp         = false;
        RenderGamObjs    = ModelPrefab.transform.GetComponentsInChildren <Renderer>();

        EventManager.StartListening("DeadEnemy", DeadEnemy);
    }
        private void SelectRecord(int id)
        {
            selectedRecord = id;

            propRecord = propTable.GetRecord(id);

            bodyStrucSelected = bodyStrucList.FindIndex(x => x.ID == propRecord.IDBodyStructure);

            FilterSlots(bodyStrucSelected);

            selectedSlot = bodyStrucSlots.FindIndex(x => x.IDSlot == propRecord.IDSlot);

            //Update models list
            List <PropTable.PropModels> mList = propTable.GetModelsList(selectedRecord);

            for (int i = 0; i < mList.Count; i++)
            {
                ModelPrefab tRec = modelsList.Find(x => x.IDSubtype == mList [i].IDBodySubtype);
                tRec.PrefabName = mList [i].ModelName;

                //Try to find the object
                GameObject prefabToLoad = (GameObject)Resources.Load(_config.GetPathName(CSConfig.PathTypeEnum.PropPath) + "/" + tRec.PrefabName);
                if (prefabToLoad != null)
                {
                    tRec.Prefab         = prefabToLoad;
                    tRec.PrefabSelected = prefabToLoad;
                }
                else
                {
                    tRec.PrefabError = true;
                }
            }

            flagEdit = 2;
        }
 public override void Intialize(AIGameManger _aIGameManger)
 {
     aIGameManger = _aIGameManger;
     SetObjInfo();
     player          = GameObject.Find("Player");
     audioController = Role.GetComponent <AudioController>();
     nav             = Role.GetComponent <NavMeshAgent>();
     selectable      = Role.GetComponent <Selectable>();
     if (selectable != null)
     {
         selectable.ai = this;
     }
     targetPos = Role.transform.GetChild(2).GetComponent <CapsuleCollider>();
     targetPos.transform.parent = null;
     ResetTargetPos(targetPos);
     ModelPrefab      = Role.transform.GetChild(1).gameObject;
     particileControl = Role.GetComponent <ParticileControl>();
     Debug.Log("ModelName" + ModelPrefab.name);
     m_anim   = ModelPrefab.GetComponent <Animator>();
     p_health = Role.GetComponent <PlayerHealth>();
     p_health.stateController = this;
     p_health.Proprity        = proprity;
     m_aiState = AIState.IDLE;
     SetValue();
     RenderGamObjs = ModelPrefab.transform.GetComponentsInChildren <Renderer>();
 }
Exemple #7
0
    public override void Intialize(AIGameManger _aIGameManger)
    {
        aIGameManger = _aIGameManger;
        SetObjInfo();
        //player = GameObject.Find("Player");
        audioController = Role.GetComponent <AudioController>();
        //nav = Role.GetComponent<NavMeshAgent>();
        //targetPos = Role.transform.GetChild(2).GetComponent<CapsuleCollider>();
        //targetPos.transform.parent = null;
        //ResetTargetPos(targetPos);
        ModelPrefab = Role.transform.GetChild(1).gameObject;
        if (Role.transform.Find("Explosion") != null)
        {
            Explosion = Role.transform.Find("Explosion").gameObject;
        }

        //m_anim = Role.transform.GetChild(1).GetComponent<Animator>();
        m_anim   = ModelPrefab.GetComponent <Animator>();
        m_anim   = null;
        p_health = Role.GetComponent <PlayerHealth>();
        p_health.stateController = this;
        m_aiState = GroupAIState.IDLE;
        SetValue();
        particileControl = Role.GetComponent <ParticileControl>();
        Tower            = GameObject.FindObjectOfType <StageChallange>().gameObject;
        stageChallange   = GameObject.FindObjectOfType <StageChallange>();
    }
    public virtual void ChangeModel()
    {
        IsGroup = true;
        GameObject go = Resources.Load <GameObject>(ChangePfbSln);

        go.name = "CA";
        GameObject.Destroy(ModelPrefab.gameObject);
        ModelPrefab = GameObject.Instantiate(go, Role.transform.position, Role.transform.rotation, Role.transform);
        m_anim      = ModelPrefab.GetComponent <Animator>();
        //Snap = ModelPrefab.transform.GetChild(0).gameObject;
    }
Exemple #9
0
    public virtual void MotionCollapse()
    {
        if (!IsCollapse)
        {
            //if (stageChallange.ChallangeStart && !stageChallange.IsPass)
            //{

            //    aIGameManger.StartCoroutineEvent(Revenge(1f));
            //    if (Explosion != null)
            //    {
            //        particileControl.Play(2, 5, Role.transform.position + new Vector3(0, 2, 0));
            //        ModelPrefab.SetActive(false);
            //        Explosion.SetActive(true);
            //    }
            //}
            //else if (!stageChallange.ChallangeStart && !stageChallange.IsPass)
            //{
            //    if (Explosion != null)
            //    {
            //        particileControl.Play(2, 5, Role.transform.position + new Vector3(0, 2, 0));
            //        ModelPrefab.SetActive(false);
            //        Explosion.SetActive(true);
            //    }
            //}
            //else if (stageChallange.ChallangeStart && stageChallange.IsPass)
            //{
            //    if (Explosion != null)
            //    {
            //        particileControl.Play(2, 5, Role.transform.position + new Vector3(0,2,0));
            //        ModelPrefab.SetActive(false);
            //        Explosion.SetActive(true);
            //    }
            //}
            IsCollapse = true;
            //for (int i = 0; i < CurrentBeeNum; i++)
            //{
            //    int creatnum = Random.Range(0, CreatPos.Length);
            //    Vector3 P = CreatPos[creatnum].position;
            //    BeeMonsterStateController enemyai = new BeeMonsterStateController();
            //    aIGameManger.CreatGroupRoleRevenge(enemyai, "Enemy/" + "BeeM", P, Quaternion.identity, this);
            //}

            aIGameManger.StartCoroutineEvent(Revenge(1f, CurrentBeeNum));
            if (Explosion != null)
            {
                ModelPrefab.SetActive(false);
                Explosion.SetActive(true);
            }
            MotionDead();
        }
    }
Exemple #10
0
        private void SpawnItemModel(Item item)
        {
            if (item.Data == null || item.Data.Model == null)
            {
                return;
            }

            ModelPrefab = Instantiate(item.Data.Model, transform);

            outlineRegister = ModelPrefab.AddComponent <OutlineRegister>();
            var rarityColor = ItemDataCollection.Instance.ItemColorsByRarity[item.Data.Rarity].Color;

            outlineRegister.SetTintColor(rarityColor);
        }
Exemple #11
0
        public override void Start()
        {
            _gridPrefab = new ModelPrefab("Hexa Tile");
            _gridPrefab.Transform.LocalScale = new Vector3(TileScale, 0.5f * TileScale, TileScale);
            _gridPrefab.Transform.Rotation   = new Vector3(0, MathHelper.Pi / 6, 0);
            _gridPrefab.LoadModel("Models/hexagone");
            _gridPrefab.Renderer.Material         = new SimpleMaterial(sceneObject.Scene);
            _gridPrefab.Renderer.Material.Texture = Application.Content.Load <Texture2D>("Models/hexagone_basic");
            _gridPrefab.Enabled = false;
            sceneObject.Scene.Add(_gridPrefab);

            _hexWidth = _gridPrefab.Renderer.BoundingSphere.Radius * 2 * 0.85f * Margin;
            _hexDepth = _gridPrefab.Renderer.BoundingSphere.Radius * 2 * Margin;

            GenerateHexaGrid();
        }
Exemple #12
0
        public ModelPrefab AddModelFromTemp(string assetName)
        {
            var sceneObject = new ModelPrefab(assetName);

            try
            {
                var model = LoadTempModel(assetName);
                sceneObject.SetModel(model);
                _scene.Add(sceneObject);
            }
            catch (Exception ex)
            {
                Debug.Log(ex.Message);
            }

            return(sceneObject);
        }
    public void InstanceCubes()
    {
        cubes   = new List <GameObject>();
        indices = new List <int>();
        //Inicialización
        cuboModel = this;
        //Estado de juego
        play = true;
        //Posicion de la cámara
        camara.position = new Vector3(numerCubos / 2, numerCubos / 2.2f, 8);

        //Instancia los cubos y el número de cubos en el inspector
        for (int i = 1; i < numerCubos; i++)
        {
            for (int j = 0; j < numerCubos; j++)
            {
                cubes.Add(Instantiate(cubo, new Vector3(j, i, 0), Quaternion.identity));
            }
        }
    }
Exemple #14
0
 public override void Intialize(AIGameManger _aIGameManger)
 {
     aIGameManger = _aIGameManger;
     SetObjInfo();
     player                     = GameObject.Find("Player");
     audioController            = Role.GetComponent <AudioController>();
     nav                        = Role.GetComponent <NavMeshAgent>();
     targetPos                  = Role.transform.GetChild(2).GetComponent <CapsuleCollider>();
     targetPos.transform.parent = null;
     ResetTargetPos(targetPos);
     ModelPrefab              = Role.transform.GetChild(1).gameObject;
     initialPosition          = ModelPrefab.transform.position;
     m_anim                   = ModelPrefab.GetComponent <Animator>();
     p_health                 = Role.GetComponent <PlayerHealth>();
     p_health.stateController = this;
     currentState             = MonsterState.STAND;
     SetValue();
     particileControl = Role.GetComponent <ParticileControl>();
     //layersChecked = LayerMask.NameToLayer("Combine");
 }
Exemple #15
0
        /// <summary>
        /// Imports the corresponding asset.
        /// </summary>
        public override void Import()
        {
            var isImporterDirty = false;


            // Instantiate model source and model.
            var model = Model3Json.ToModel(CubismImporter.OnPickMaterial, CubismImporter.OnPickTexture, ShouldImportAsOriginalWorkflow);
            var moc   = model.Moc;


            // Create moc asset.
            if (MocAsset == null)
            {
                AssetDatabase.CreateAsset(moc, AssetPath.Replace(".model3.json", ".asset"));


                MocAsset = moc;


                isImporterDirty = true;
            }


            // Create model prefab.
            if (ModelPrefab == null)
            {
                // Trigger event.
                CubismImporter.SendModelImportEvent(this, model);


                foreach (var texture in Model3Json.Textures)
                {
                    CubismImporter.SendModelTextureImportEvent(this, model, texture);
                }


                // Create prefab and trigger saving of changes.
#if UNITY_2018_3_OR_NEWER
                ModelPrefab = PrefabUtility.SaveAsPrefabAsset(model.gameObject, AssetPath.Replace(".model3.json", ".prefab"));
#else
                ModelPrefab = PrefabUtility.CreatePrefab(AssetPath.Replace(".model3.json", ".prefab"), model.gameObject);
#endif

                isImporterDirty = true;
            }


            // Update model prefab.
            else
            {
                var cubismModel = ModelPrefab.FindCubismModel();
                if (cubismModel.Moc == null)
                {
                    CubismModel.ResetMocReference(cubismModel,
                                                  AssetDatabase.LoadAssetAtPath <CubismMoc>(
                                                      AssetPath.Replace(".model3.json", ".asset")));
                }


                // Copy all user data over from previous model.
                var source = Object.Instantiate(ModelPrefab).FindCubismModel();


                CopyUserData(source, model);
                Object.DestroyImmediate(source.gameObject, true);


                // Trigger events.
                CubismImporter.SendModelImportEvent(this, model);


                foreach (var texture in Model3Json.Textures)
                {
                    CubismImporter.SendModelTextureImportEvent(this, model, texture);
                }


                // Reset moc reference.
                CubismModel.ResetMocReference(model, MocAsset);

                // Replace prefab.
#if UNITY_2018_3_OR_NEWER
                ModelPrefab = PrefabUtility.SaveAsPrefabAsset(model.gameObject, AssetPath.Replace(".model3.json", ".prefab"));
#else
                ModelPrefab = PrefabUtility.ReplacePrefab(model.gameObject, ModelPrefab, ReplacePrefabOptions.ConnectToPrefab);
#endif

                // Log event.
                CubismImporter.LogReimport(AssetPath, AssetDatabase.GUIDToAssetPath(_modelPrefabGuid));
            }


            // Clean up.
            Object.DestroyImmediate(model.gameObject, true);


            // Update moc asset.
            if (MocAsset != null)
            {
                EditorUtility.CopySerialized(moc, MocAsset);


                // Revive by force to make instance using the new Moc.
                CubismMoc.ResetUnmanagedMoc(MocAsset);


                EditorUtility.SetDirty(MocAsset);
            }

            // Save state and assets.
            if (isImporterDirty)
            {
                Save();
            }
            else
            {
                AssetDatabase.SaveAssets();
            }
        }
        /// <summary>
        /// Imports the corresponding asset.
        /// </summary>
        public override void Import()
        {
            var isImporterDirty = false;


            // Instantiate model source and model.
            var model = Model3Json.ToModel(CubismImporter.OnPickMaterial, CubismImporter.OnPickTexture);
            var moc   = model.Moc;


            // Create moc asset.
            if (MocAsset == null)
            {
                AssetDatabase.CreateAsset(moc, AssetPath.Replace(".model3.json", ".asset"));


                MocAsset = moc;


                isImporterDirty = true;
            }

            // Update moc asset.
            else
            {
                EditorUtility.CopySerialized(moc, MocAsset);
                EditorUtility.SetDirty(MocAsset);
            }


            // Create model prefab.
            if (ModelPrefab == null)
            {
                // Trigger event.
                CubismImporter.SendModelImportEvent(this, model);


                foreach (var texture in Model3Json.Textures)
                {
                    CubismImporter.SendModelTextureImportEvent(this, model, texture);
                }


                // Create prefab and trigger saving of changes.
                ModelPrefab = PrefabUtility.CreatePrefab(AssetPath.Replace(".model3.json", ".prefab"), model.gameObject);


                isImporterDirty = true;
            }


            // Update model prefab.
            else
            {
                // Copy all user data over from previous model.
                var source = Object.Instantiate(ModelPrefab).FindCubismModel();


                CopyUserData(source, model);
                Object.DestroyImmediate(source.gameObject, true);


                // Trigger events.
                CubismImporter.SendModelImportEvent(this, model);


                foreach (var texture in Model3Json.Textures)
                {
                    CubismImporter.SendModelTextureImportEvent(this, model, texture);
                }


                // Replace prefab.
                EditorUtility.CopySerialized(model.gameObject, ModelPrefab);
                CopyUserData(model, ModelPrefab.FindCubismModel(), true);
                EditorUtility.SetDirty(ModelPrefab);


                // Log event.
                CubismImporter.LogReimport(AssetPath, AssetDatabase.GUIDToAssetPath(_modelPrefabGuid));
            }


            // Clean up.
            Object.DestroyImmediate(model.gameObject, true);


            // Save state and assets.
            if (isImporterDirty)
            {
                Save();
            }
            else
            {
                AssetDatabase.SaveAssets();
            }
        }
Exemple #17
0
        public override void Initialize()
        {
            base.Initialize();

            // Skybox
            RenderSettings.Skybox.Generate(Application.GraphicsDevice, Application.Content, DemoGame.StarsSkybox);

            // Camera
            var camera = new CameraPrefab("camera");

            camera.Transform.Translate(0, 25, 0);
            camera.AddComponent <DemoBehaviour>();
            camera.AddComponent <PostProcessSwitcher>();
            Add(camera);

            var orbitController = camera.AddComponent <OrbitController>();

            // Light
            var lightPrefab = new LightPrefab("light", LightType.Directional);

            lightPrefab.Transform.Rotation = new Vector3(-1, 1, 0);
            lightPrefab.Light.ShadowGenerator.SetShadowMapSize(Application.GraphicsDevice, 1024);
            lightPrefab.EnableShadows   = true;
            lightPrefab.Light.Intensity = 0.5f;
            lightPrefab.Light.FallOf    = 5.0f;
            Add(lightPrefab);

            // Terrain
            var terrainMaterial = new StandardMaterial(scene);

            terrainMaterial.Texture   = Application.Content.Load <Texture2D>("Textures/Terrain/Rock");
            terrainMaterial.Shininess = 50;
            terrainMaterial.Tiling    = new Vector2(8);

            var terrain = new TerrainPrefab("terrain");

            terrain.Renderer.Geometry.Size = new Vector3(2);
            terrain.Renderer.ReceiveShadow = true;
            terrain.Randomize(4, 15, 0.086, 0.25, true);
            terrain.Renderer.Material = terrainMaterial;
            terrain.Transform.Translate(-terrain.Width >> 1, 0, -terrain.Depth / 2);
            Add(terrain);

            // Lava
            var lava = new LavaPrefab("water");

            Add(lava);

            lava.Generate("Textures/lava_texture", "Textures/lava_bump", new Vector3(terrain.Width * 0.5f));

            var jack = new ModelPrefab("Jack");

            jack.Transform.Rotate(-MathHelper.PiOver2, MathHelper.Pi, 0);
            jack.Transform.Translate(0, 35, 0);
            jack.Transform.LocalScale = new Vector3(4);
            jack.LoadModel("Models/Jack/JackOLantern");
            var jackMaterial = new StandardMaterial(this);

            jackMaterial.EmissiveColor = new Color(0.2f, 0.005f, 0);
            jackMaterial.Texture       = Application.Content.Load <Texture2D>("Models/Jack/PumpkinColor");
            jack.Renderer.Material     = jackMaterial;
            Add(jack);

            orbitController.LookAt(jack.Transform);
            orbitController.Distance = 150.0f;
        }