void CreateBlood(Vector3 pos) { GameObject blood = prefabManager.GetPrefab("BloodEffect"); GameObject bloodEffect = Instantiate(blood, pos, new Quaternion(0, 0, 0, 0)); Destroy(bloodEffect, 3f); }
IEnumerator Init() { for (long i = 0; i < 200; i++) { CardList.Add(i); } var menu = PrefabManager.InstantiateOn(PrefabModel.Path.Menu, MainSequence.Instance.Canvas.transform).GetComponent <EndlessGrid>(); var select = false; menu.InitOnStart = false; menu.ViewItemCount = 15; menu.ItemPrefab = PrefabManager.GetPrefab(PrefabModel.Path.Button); menu.OnUpdateElement.AddListener((go, index) => { go.GetComponent <AsyncButtonUI>().StartLoadingAndSetText($"id:{CardList[index]}"); go.GetComponent <AsyncButtonUI>().Button.onClick.RemoveAllListeners(); go.GetComponent <AsyncButtonUI>().Button.onClick.AddListener(() => { select = true; }); }); menu.AllItemCount = CardList.Count; menu.Initialize(); yield return(null); }
private IEnumerator DelayedPlayerStart() { yield return(new WaitForSeconds(1f)); _playerPiece = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.PlayerPiece), Vector3.zero, Quaternion.identity) .GetComponent <PlayerPieceController>(); if (GridLevel == 2) { _playerPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Destroy); } else if (GridLevel == 3) { _playerPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Mirror); _playerMirrorPiece = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.PlayerPiece), Vector3.zero, Quaternion.identity) .GetComponent <PlayerPieceController>(); _playerMirrorPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Mirror); _playerMirrorPiece.PlaceOnTop(ActiveGrid.Pieces[4, 4]); } _playerPiece.PlaceOnTop(ActiveGrid.Pieces[0, 0]); }
// Use this for initialization void Start() { PingLocation = Vector3Int.zero; TextObj = PrefabManager.GetPrefab("LogItem"); Application.logMessageReceived += Application_logMessageReceived; }
void Destroy() { Vector2 pos = gameObject.transform.position; Instantiate(prefabManager.GetPrefab("explosion"), new Vector2(pos.x, pos.y - 0.2f), Quaternion.identity); Destroy(gameObject); }
private void PlaceCivsOnPiece(PieceController pieceController) { _currentCiv = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.PlayerCivs_Three)); _currentCiv.transform.position = pieceController.transform.position + _currentCiv.transform.GetChild(0).localScale.x *Vector3.up; _currentCiv.transform.position += Vector3.up * 0.9f + Vector3.back * 0.6f + Vector3.left * 0.2f; }
internal void eraserAttach() { eraser = GameObject.Instantiate(PrefabManager.GetPrefab("Eraser2Prefab")).GetComponent <eraserBehave>(); eraser.transform.position = palmAttachment.position; eraser.transform.localPosition = new Vector3(0, 1, 0); eraser.transform.parent = palmAttachment; eraser.follow(palmAttachment); eraser.hideMesh(); }
private PieceController CreatePieceOnGrid(Vector2Int position) { PieceController testPiece = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.FloorPiece), Vector3.zero, Quaternion.identity) .GetComponent <PieceController>(); testPiece.PlaceOnTop(ActiveGrid.Pieces[position.x, position.y]); return(testPiece); }
/// <summary> /// Initiliazes the cursor. /// </summary> public void InitCursor(Vector3 location) { Cursor = PrefabManager.GetPrefab("Cursor"); var cur = Instantiate(Cursor, location, Cursor.transform.rotation); var controller = cur.GetComponent <CursorController>(); controller.StarSystem = this; controller.Camera = Camera; MenuManager.Cursor = controller; }
void Start() { currentHealth = startHealth; currentMoveSpeed = startMoveSpeed; currentDamage = startDamage; currentEXP = startEXP; currentFund = startFund; prefabManager = PrefabManager.GetInstance(); enemies.Add(prefabManager.GetPrefab("Zombie")); }
private IEnumerator FirstLevelStart() { yield return(new WaitForSeconds(0.5f)); FirstLevelPlayer.SetActive(true); ThisIsYouArrow.SetActive(true); ThisIsYouText.SetActive(true); yield return(new WaitForSeconds(1.5f)); FirstLevelPlayer.GetComponent <PieceController>().Obliviate(); ThisIsYouArrow.GetComponent <Animator>().SetTrigger("Switch"); ThisIsYouText.GetComponent <Animator>().SetTrigger("Switch"); yield return(new WaitForSeconds(0.5f)); ThisIsYouArrow.SetActive(false); ThisIsYouText.SetActive(false); yield return(new WaitForSeconds(0.8f)); YourHomeArrow.SetActive(true); YourHomeText.SetActive(true); List <PieceController> solutionPieces = new List <PieceController>(); ActiveGrid = _gridGenerator.GenerateGrid(3, 3); solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 2)))); solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 2)))); solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(1, 2)))); solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 1)))); ActiveGrid.GSolution = new GridGenerator.GridSolution(solutionPieces); PlaceCivsOnPiece(ActiveGrid.Pieces[1, 1]); yield return(new WaitForSeconds(1f)); YourHomeArrow.GetComponent <Animator>().SetTrigger("Switch"); YourHomeText.GetComponent <Animator>().SetTrigger("Switch"); yield return(new WaitForSeconds(0.5f)); YourHomeArrow.SetActive(false); YourHomeText.SetActive(false); _meteor = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.Meteor)).GetComponent <MeteorController>(); StartCoroutine(MeteorPause()); }
void CreateBlood(Vector3 pos, Vector3 normal) { GameObject blood = prefabManager.GetPrefab("BloodEffect"); GameObject bloodEffect = Instantiate(blood, pos, Quaternion.LookRotation(normal)); Destroy(bloodEffect, 0.5f); }
void Start() { currentHealth = startHealth; currentMoveSpeed = startMoveSpeed; currentDamage = startDamage; currentEXP = startEXP; currentFund = startFund; prefabManager = PrefabManager.GetInstance(); enemies.Add(prefabManager.GetPrefab("Zombie")); gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); }
public Grid GenerateGrid(int width, int height) { PieceController[,] pieces = new PieceController[width, height]; for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { pieces[i, j] = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.FloorPiece) , Vector3.right * (i * _pieceOffset.x) + Vector3.forward * (j * _pieceOffset.z) , Quaternion.identity).GetComponent <PieceController>(); } } return(new Grid(pieces)); }
IEnumerator NestTest() { yield return(DialogSingleton.OpenModal(new Dialog.InputData <DialogMessageAndButton>() { SetContentsPrefab = PrefabManager.GetPrefab(PrefabModel.Path.DialogNormal) .GetComponent <DialogMessageAndButton>(), SetContentsInit = dialog => { dialog.Init(new List <MessageSet>() { new MessageSet() { Name = "Test", Message = "ネストで開くことも可能です。キャンセルするまで無限に開きます。", Button = new Dictionary <string, Func <bool> >() { { "Next", () => { dialog.DoNext(); return false; } }, { "Cancel", () => true }, }, }, new MessageSet() { Name = "Test", Message = "", AsyncAction = NestTest(), Action = DialogSingleton.Close } }); } })); }
/// <summary> /// Spawns in a new entity with the chosen AI. /// </summary> /// <param name="AI"></param> /// <param name="location"></param> /// <param name="animatorLayers"></param> /// <returns></returns> IEnumerator SpawnEntity(string AI, Vector3 location, bool?ismale = null, Dictionary <string, string> animatorLayers = null) { var prefab = PrefabManager.GetPrefab("Entity"); var newEnt = Instantiate(prefab, location, prefab.transform.rotation); yield return(null); if (!ismale.HasValue) { ismale = Helper.RandomBool(); } var playerAnimator = newEnt.GetComponent <EntityAnimationController>(); if (animatorLayers == null) { playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("body", ismale.Value)); playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("hair", ismale.Value), Helper.RandomColor()); playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("chest", ismale.Value)); playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("legs", ismale.Value), Helper.RandomColor()); } else { if (animatorLayers.ContainsKey("body")) { playerAnimator.SetAnimation(AnimationManager.GetAnimation(animatorLayers["body"])); } else { playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("body", ismale.Value)); } if (animatorLayers.ContainsKey("hair")) { playerAnimator.SetAnimation(AnimationManager.GetAnimation(animatorLayers["hair"])); } else { playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("hair", ismale.Value), Helper.RandomColor()); } if (animatorLayers.ContainsKey("chest")) { playerAnimator.SetAnimation(AnimationManager.GetAnimation(animatorLayers["chest"])); } else { playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("chest", ismale.Value)); } if (animatorLayers.ContainsKey("legs")) { playerAnimator.SetAnimation(AnimationManager.GetAnimation(animatorLayers["legs"])); } else { playerAnimator.SetAnimation(AnimationManager.GetRandomElementForLayer("legs", ismale.Value)); } } switch (AI) { case "player": newEnt.AddComponent <Player>(); break; case "civilian": newEnt.AddComponent <Civilian>(); break; } }
public static IntersectionPolygon Constructor() { GameObject go = GameObject.Instantiate(PrefabManager.GetPrefab("IntersectionPolygon")); return(go.GetComponent <IntersectionPolygon>()); }
private IEnumerator MeteorPause() { if (GridLevel != 1) { yield return(new WaitForSeconds(3f)); _meteor = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.Meteor)).GetComponent <MeteorController>(); } yield return(new WaitForSeconds(0.9f)); GameObject manualPivot = new GameObject("ManualPivot"); if (_firstPlay) { manualPivot.transform.position = CameraController.Instance.Pivot; CameraController.Instance.ManualPivot = manualPivot.transform; _meteor.PauseMeteor(); MeteorArrow.SetActive(true); MeteorText.SetActive(true); for (int i = 0; i < Instance._currentCiv.transform.childCount; i++) { Instance._currentCiv.transform.GetChild(i).GetComponent <PlayerCivController>().Pause = true; } while (Vector3.Distance(manualPivot.transform.position, _meteor.transform.position) > 0.1f) { manualPivot.transform.position = Vector3.MoveTowards(manualPivot.transform.position, _meteor.transform.position, 0.5f); yield return(null); } } yield return(new WaitForSeconds(0.5f)); if (GridLevel == 2) { CreatePieceOnGrid(new Vector2Int(2, 2)).ConvertPieceType(PieceController.PieceType.MeteorResidue); } yield return(new WaitForSeconds(1f)); if (_firstPlay) { MeteorArrow.GetComponent <Animator>().SetTrigger("Switch"); MeteorText.GetComponent <Animator>().SetTrigger("Switch"); yield return(new WaitForSeconds(0.5f)); MeteorArrow.SetActive(false); MeteorText.SetActive(false); _meteor.ResumeMeteor(); Vector3 targetPosition = ActiveGrid.CenterPosition + Vector3.up * 0.8f; while (Vector3.Distance(manualPivot.transform.position, targetPosition) > 0.1f) { manualPivot.transform.position = Vector3.MoveTowards(manualPivot.transform.position, targetPosition, 0.5f); yield return(null); } Destroy(manualPivot); } if (_firstPlay) { RebuildText.SetActive(true); yield return(new WaitForSeconds(0.9f)); } _gameStarted = true; _firstPlay = false; yield return(new WaitForSeconds(2f)); if (_firstPlay) { RebuildText.GetComponent <Animator>().SetTrigger("Switch"); } else { Destroy(manualPivot); } yield return(new WaitForSeconds(0.5f)); if (_firstPlay) { RebuildText.SetActive(false); } }
void Start() { tooltip_prefab = PrefabManager.GetPrefab("UI/Inventory/Tooltip"); canvas = GameObject.Find("Canvas").transform; }
private void Update() { int x = (int)Input.GetAxisRaw("Horizontal"); int z = (int)Input.GetAxisRaw("Vertical"); if (Input.GetKeyDown(KeyCode.G)) { if (_meteor == null) { _meteor = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.Meteor)).GetComponent <MeteorController>(); StartCoroutine(MeteorPause()); _gameStarted = false; } return; } if (Input.GetKeyDown(KeyCode.R)) { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); } if (!_gameStarted) { return; } if (Input.anyKeyDown) { if (_playerMoving) { return; } if (Mathf.Abs(x) > 0f || Mathf.Abs(z) > 0f) { if (_playerPiece.PPieceType == PlayerPieceController.PlayerPieceType.Mirror) { PieceController nextPiece = ActiveGrid.ProcessInput(_playerPiece.GridPosition, new Vector2Int(x, z)); if (nextPiece != null) { StartCoroutine(AnimatePlayerMovement(_playerPiece, nextPiece)); } nextPiece = ActiveGrid.ProcessInput(_playerMirrorPiece.GridPosition, new Vector2Int(x * -1, z * -1)); if (nextPiece != null) { StartCoroutine(AnimatePlayerMovement(_playerMirrorPiece, nextPiece)); } } else { PieceController nextPiece = ActiveGrid.ProcessInput(_playerPiece.GridPosition, new Vector2Int(x, z)); if (nextPiece != null) { StartCoroutine(AnimatePlayerMovement(_playerPiece, nextPiece)); } } } if (Input.GetKeyDown(KeyCode.Space)) { if (_playerPiece.PPieceType == PlayerPieceController.PlayerPieceType.Destroy) { PieceController destroyedPiece = _playerPiece.DestroyAction(); if (destroyedPiece != null) { ActiveGrid.PlayingPieces.Remove(destroyedPiece); } } else if (_playerPiece.PPieceType == PlayerPieceController.PlayerPieceType.Normal) { _playerPiece.ConvertPieceType(PieceController.PieceType.Normal); ActiveGrid.AddPlayingPiece(_playerPiece); } else if (_playerPiece.PPieceType == PlayerPieceController.PlayerPieceType.Mirror) { _playerPiece.ConvertPieceType(PieceController.PieceType.Normal); ActiveGrid.AddPlayingPiece(_playerPiece); _playerMirrorPiece.ConvertPieceType(PieceController.PieceType.Normal); ActiveGrid.AddPlayingPiece(_playerMirrorPiece); } _cubesUsed++; if (ActiveGrid.CheckComplete()) { PlaceCivsOnPiece(ActiveGrid.Pieces[1, 1]); StartCoroutine(SceneTransition()); _gameStarted = false; } else { _playerPiece = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.PlayerPiece), Vector3.zero, Quaternion.identity) .GetComponent <PlayerPieceController>(); if (GridLevel == 3) { if (_cubesUsed == 1) { _playerPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Destroy); } } _playerPiece.PlaceOnTop(ActiveGrid.Pieces[0, 0]); } //_playerPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Destroy); } } }
IEnumerator Execute() { //ステートマシン上で動作するダイアログです。 // yield return(DialogSingleton.OpenModal(new Dialog.InputData <DialogMessageAndButton>() { SetContentsPrefab = PrefabManager.GetPrefab(PrefabModel.Path.DialogNormal).GetComponent <DialogMessageAndButton>(), SetContentsInit = dialog => { dialog.Init(new List <MessageSet>() { new MessageSet() { Name = "Test", Message = "非処理同期に対応したダイアログです。\nダイアログが閉じるまで処理を待ちます。", Button = new Dictionary <string, Func <bool> >() { { "Next", () => { dialog.DoNext(); return false; } } } }, new MessageSet() { Name = "Test", Message = "ボタン数やメッセージ速度など細かく設定できます。", Button = new Dictionary <string, Func <bool> >() { { "Next", () => { dialog.DoNext(); return false; } }, { "Cancel", () => true }, } } , new MessageSet() { Name = "Test", Message = "カスタマイズ次第では画像を載せたり、通信を待ったりできます。", Button = new Dictionary <string, Func <bool> >() { { "Ok", () => { dialog.DoNext(); return false; } }, }, AsyncAction = NestTest() } }); } })); yield return(null); _statemachine.Next(State.End); }
private void Start() { Plr = GetComponent <Player>(); HighlightPrefab = PrefabManager.GetPrefab("UI/Highlight"); }
// Use this for initialization void Start() { StarSystem = GetComponent <StarSystem>(); PrefabManager = GetComponent <PrefabManager>(); BattlePrefab = PrefabManager.GetPrefab("Battle"); }
void InitPlayer() { player = Instantiate(prefabManager.GetPrefab("ship"), startPosition, Quaternion.identity); playerAnim = player.GetComponent <Animator>(); }
private static GameObject entry_loadEntry(EntityView objev) { ENTITY_ID id = objev.ID; //已经被卸载了. if (EntityFactory.Instance.m_entityContainer.Get(id) == null) { return(null); } EntityViewItem evItem = objev.createinfo; ENTITY_TYPE entityType = (ENTITY_TYPE)evItem.EntityType; UnityEngine.Object objPrefab = PrefabManager.GetPrefab(entityType); if (null == objPrefab) { Trace.LogError("找不到对应的类型的prefab,请检查PrefabManager中的Init函数,是否忘记加载? " + entityType.ToString()); return(null); } GameObject entity = null; entity = objPrefab as GameObject; if (entity == null) { Trace.LogError("实例预设体对象失败! " + entityType.ToString()); return(null); } entity.name += "-" + id.ToString(); if (entity.transform.childCount > 0) { Trace.LogWarning("EntityView GameObject 有子节点!" + entity.transform.GetChild(0).name); } // 设置游戏对象 objev.SetGameObject(entity); // 设置创建数据 if (!objev.InitBuildeData(evItem)) { Trace.LogError("初始化实体对象数据失败! id=" + id.ToString()); return(null); } //如果是队友,则加入队友列表, if (objev.Type == ENTITY_TYPE.TYPE_PLAYER_ROLE && objev.CampFlag == CampFlag.CampFlag_Friend) { if (!m_friendPlayerList.Contains((uint)objev.ID)) { m_friendPlayerList.Add((uint)objev.ID); } } //string entityname = "UnKnow"; //Skin sk = SkinManager.GetSkin(objev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_SKIN)); //if (sk != null) //{ // entityname = sk.ResSkinObj.AssetName; //} //entity.name = entityname; //entity.name += "(entity" + evItem.EntityID.ToString() + ")"; if (id == MainHeroID) { entity.transform.parent = null; MainHeroView = objev; if (CreateMainHeroEntityEvent != null) { CreateMainHeroEntityEventArgs e = new CreateMainHeroEntityEventArgs(); e.MainHeroID = evItem.nHeroID; e.MainHeroUID = MainHeroID; e.nMatchTypeID = GameLogicAPI.getCurRoomMatchType(); CreateMainHeroEntityEvent(e); LogicDataCenter.playerSystemDataManager.Reset(); } ViewEventHelper.Instance.SendCommand(GameLogicDef.GVIEWCMD_MASTER_VIEW_LOADED); Trace.Log("Load Hero Entry:" + entity.name); } else { entity.transform.parent = Instance.transform; } objPrefab = null; if (ENTITY_TYPE.TYPE_PLAYER_ROLE == entityType) { // 发送人物加载完指令到逻辑层 EntityEventHelper.Instance.SendCommand(id, EntityLogicDef.ENTITY_CMD_LOAD_COMPLETED); } BaseStateMachine bs = entity.GetComponent <BaseStateMachine>(); //已经有位置信息,创建模型时立即同步瞬移过去,之后的同步消息是走过去 if (objev.data.nActorID == evItem.EntityID) { Vector3 pos; pos.x = objev.data.fPosition_x; pos.y = objev.data.fPosition_y; pos.z = objev.data.fPosition_z; Vector3 rot; rot.x = objev.data.fRotation_x; rot.y = objev.data.fRotation_y; rot.z = objev.data.fRotation_z; //怪物要走传送,不能直接设置位置 if (entityType == ENTITY_TYPE.TYPE_MONSTER) { if (bs) { cmd_creature_transport data = new cmd_creature_transport(); data.fPosition_x = pos.x; data.fPosition_y = pos.y; data.fPosition_z = pos.z; data.fRotation_x = rot.x; data.fRotation_y = rot.y; data.fRotation_z = rot.z; data.bUseAngle = 1; bs.Transport(data); } } else { entity.transform.SetPosition(pos); entity.transform.eulerAngles = rot; } } CheckEntityMaskToRangeSearch(objev); //执行延迟处理的消息 EntityViewCommandHandler.onCommandsDelay(objev); return(entity); }