public static void IniBestiary() { MonsterList = new Monster [Enum.GetValues(typeof(MonsterName) ).Length]; _PrefabManager = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<PrefabManager>(); IniMonsterList(); }
void Awake() { mInstance = this; testEnemyPool = new GameObjectPool(testEnemy, 1); projectilePool = new GameObjectPool(projectile, 10); }
void Start() { Instance = this; prefabDict = new Dictionary<string, GameObject>(); for (int i = 0, len = keyList.Count; i < len; i++) { string key = keyList[i]; GameObject prefab = prefabList[i]; prefabDict[key] = prefab; } }
private void GameQuit() { DG.Tweening.DOTween.isQuitting = true; SaveUnityTXTLog(); InputManager.Clear(); EntityFactory.Instance.Clear(); UTopNameManager.Instance.Clear(); USpeedUI.Blood.UBloodManager.Instance.Clear(); SoundManager.Clear(); SkinManager.Clear(); PrefabManager.Clear(); ImageSetting.Clear(); if (AnimationEffectFactory.Instance) { AnimationEffectFactory.Instance.UnLoadAnimEffectData(); } if (LightingEffectFactory.Instance) { LightingEffectFactory.Instance.ClearCache(); LightingEffectFactory.Instance.ClearWhenGameEnd(); } if (Application.isEditor) { Shader.globalMaximumLOD = int.MaxValue; } ImageEffectManager.API_GameEnd(); SafeZoneEffectManager.Clear(); //清除资源 AssetBundleManager.Clear(); SceneResInfoManager.ClearOnAppQuit(); Resources.UnloadUnusedAssets(); //GC.Collect(); }
public static void PrefabHierachyOptions(PrefabHierarchyTreeView treeView, ref string name, ref bool replace) { Elements.MiniBoldLabel(ToolTips.hierachyOptionsLabel); Elements.BeginToolbarHorizontal(); name = Elements.ToolbarTextField(name); Elements.EndToolbarHorizontal(); Elements.BeginToolbarHorizontal(); if (Elements.ToolbarButton(ToolTips.hierachyCategoryRename)) { name = String.IsNullOrEmpty(name) ? "" : name; PrefabManager.RenamePrefabCategories(PrefabHierarchyTreeView.PrefabDataFromSelection(treeView), name); ReloadTreeViews(); } Elements.EndToolbarHorizontal(); Elements.BeginToolbarHorizontal(); replace = Elements.ToolbarToggle(ToolTips.hierachyReplace, replace); if (Elements.ToolbarButton(ToolTips.hierachyIDRename)) { if (uint.TryParse(name, out uint result)) { PrefabManager.RenamePrefabIDs(PrefabHierarchyTreeView.PrefabDataFromSelection(treeView), result, replace); ReloadTreeViews(); } } Elements.EndToolbarHorizontal(); Elements.BeginToolbarHorizontal(); if (Elements.ToolbarButton(ToolTips.hierachyDelete)) { PrefabManager.DeletePrefabs(PrefabHierarchyTreeView.PrefabDataFromSelection(treeView)); } Elements.EndToolbarHorizontal(); }
// Use this for initialization void Start() { StarSystem = GetComponent <StarSystem>(); PrefabManager = GetComponent <PrefabManager>(); BattlePrefab = PrefabManager.GetPrefab("Battle"); }
// Start is called before the first frame update void Start() { gameManager = GameObject.FindWithTag("GameManager").GetComponent <GameManager>(); prefabManager = GameObject.FindWithTag("PrefabManager").GetComponent <PrefabManager>(); }
public void StartGame() { Debug.Log("Starting gamelogic..."); PrefabManager.Instantiate("Portraits", transform.position); Invoke("RealStart", 5f); }
void Start() { Manager = GameObject.FindGameObjectWithTag("RespawnManager").GetComponent<PrefabManager>(); }
private void Awake() { instance = this; }
private void Spawn(AssetItem item, SceneGraphNode hit, ref Vector3 hitLocation) { switch (item.ItemDomain) { case ContentDomain.Material: { if (hit is StaticModelNode.EntryNode meshNode) { var material = FlaxEngine.Content.LoadAsync <MaterialBase>(item.ID); using (new UndoBlock(Undo, meshNode.Model, "Change material")) meshNode.Entry.Material = material; } else if (hit is BoxBrushNode.SideLinkNode brushSurfaceNode) { var material = FlaxEngine.Content.LoadAsync <MaterialBase>(item.ID); using (new UndoBlock(Undo, brushSurfaceNode.Brush, "Change material")) brushSurfaceNode.Surface.Material = material; } break; } case ContentDomain.Model: { if (item.TypeName == typeof(SkinnedModel).FullName) { var model = FlaxEngine.Content.LoadAsync <SkinnedModel>(item.ID); var actor = AnimatedModel.New(); actor.Name = item.ShortName; actor.SkinnedModel = model; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Editor.Instance.SceneEditing.Spawn(actor); } else { var model = FlaxEngine.Content.LoadAsync <Model>(item.ID); var actor = StaticModel.New(); actor.Name = item.ShortName; actor.Model = model; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Editor.Instance.SceneEditing.Spawn(actor); } break; } case ContentDomain.Audio: { var clip = FlaxEngine.Content.LoadAsync <AudioClip>(item.ID); var actor = AudioSource.New(); actor.Name = item.ShortName; actor.Clip = clip; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Editor.Instance.SceneEditing.Spawn(actor); break; } case ContentDomain.Prefab: { var prefab = FlaxEngine.Content.LoadAsync <Prefab>(item.ID); var actor = PrefabManager.SpawnPrefab(prefab, null); actor.Name = item.ShortName; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Editor.Instance.SceneEditing.Spawn(actor); break; } case ContentDomain.Scene: { Editor.Instance.Scene.OpenScene(item.ID, true); break; } default: throw new ArgumentOutOfRangeException(); } }
public static PrefabManager Get() { if (m_Instance == null) m_Instance = (PrefabManager)FindObjectOfType(typeof(PrefabManager)); return m_Instance; }
public LoginResultHandler() { prefab_manager = GameObject.Find ("Prefab Manager").GetComponent<PrefabManager> (); }
void Awake() { mInstance = this; testEnemyPool = new GameObjectPool(testEnemy, 1); }
public static PrefabManager Instance() { if (_instance == null) { _instance = new PrefabManager(); } return _instance; }
public void Construct(DiContainer container, PrefabManager prefabManager, GameManager gameManager) { _container = container; _prefabManager = prefabManager; _gameManager = gameManager; }
// Use this for initialization public override void Start() { if (prefabManager == null) { DontDestroyOnLoad(gameObject); prefabManager = this; } else if (prefabManager != this) { Destroy(gameObject); } GeneratePrefabLists(); SetIDs(); }
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); } }
//Awake void Awake() { mgPrefab = GetComponent <PrefabManager>(); }
private void Spawn(AssetItem item, SceneGraphNode hit, ref Vector2 location, ref Vector3 hitLocation) { if (item is BinaryAssetItem binaryAssetItem) { if (binaryAssetItem.Type == typeof(ParticleSystem)) { var particleSystem = FlaxEngine.Content.LoadAsync <ParticleSystem>(item.ID); var actor = new ParticleEffect { Name = item.ShortName, ParticleSystem = particleSystem }; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Spawn(actor); return; } if (typeof(MaterialBase).IsAssignableFrom(binaryAssetItem.Type)) { if (hit is StaticModelNode staticModelNode) { var staticModel = (StaticModel)staticModelNode.Actor; var ray = ConvertMouseToRay(ref location); if (staticModel.IntersectsEntry(ref ray, out _, out _, out var entryIndex)) { var material = FlaxEngine.Content.LoadAsync <MaterialBase>(item.ID); using (new UndoBlock(Undo, staticModel, "Change material")) staticModel.SetMaterial(entryIndex, material); } } return; } if (typeof(SkinnedModel).IsAssignableFrom(binaryAssetItem.Type)) { var model = FlaxEngine.Content.LoadAsync <SkinnedModel>(item.ID); var actor = new AnimatedModel { Name = item.ShortName, SkinnedModel = model }; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Spawn(actor); return; } if (typeof(Model).IsAssignableFrom(binaryAssetItem.Type)) { var model = FlaxEngine.Content.LoadAsync <Model>(item.ID); var actor = new StaticModel { Name = item.ShortName, Model = model }; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Spawn(actor); return; } if (typeof(AudioClip).IsAssignableFrom(binaryAssetItem.Type)) { var clip = FlaxEngine.Content.LoadAsync <AudioClip>(item.ID); var actor = new AudioSource { Name = item.ShortName, Clip = clip }; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Spawn(actor); return; } if (typeof(Prefab).IsAssignableFrom(binaryAssetItem.Type)) { var prefab = FlaxEngine.Content.LoadAsync <Prefab>(item.ID); var actor = PrefabManager.SpawnPrefab(prefab, null); actor.Name = item.ShortName; actor.Position = PostProcessSpawnedActorLocation(actor, ref hitLocation); Spawn(actor); return; } } }
void Awake() { scriptManager = ScriptManager.instance; prefabManager = PrefabManager.instance; }
PrefabManager() { _singleton = this; }
public void Construct(ServiceProvider provider, PrefabManager prefabManager, DiContainer container) { _netDiscovery = provider.networkDiscovery; _prefabManager = prefabManager; _container = container; }
void SpawnLevel() { PrefabManager.Instantiate("Level"); }
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); }
public void Setup() { if (Rules != null) { Settings s = new Settings(); s.Rules = Rules; s.PrefabRules = PrefabRules; s.MainMaterial = MainMaterial; s.MainMaterialXTiling = MainMaterialXTiling; s.MainMaterialYTiling = MainMaterialYTiling; s.MainMaterialRotation = MainMaterialRotation; s.TopMaterial = TopMaterial; s.TopMaterialXTiling = TopMaterialXTiling; s.TopMaterialYTiling = TopMaterialYTiling; s.TopMaterialRotation = TopMaterialRotation; s.DrawTopMeshCollider = DrawTopMeshCollider; s.DrawTopMeshRenderer = DrawTopMeshRenderer; s.DetailMaterial = DetailMaterial; s.DetailMaterialXTiling = DetailMaterialXTiling; s.DetailMaterialYTiling = DetailMaterialYTiling; s.DetailMaterialRotation = DetailMaterialRotation; s.DrawDetailMeshRenderer = DrawDetailMeshRenderer; s.MainPlaneHeight = MainPlaneHeight; s.TopPlaneHeight = TopPlaneHeight; s.DetailPlaneHeight = DetailPlaneHeight; s.CornerMeshWidth = CornerMeshWidth; s.OriginalStartPoint = this.transform.position; s.DetailPlaneOffset = new Vector3(0,.1f,-.2f); s.MainPlaneFollowTerrainCurve = MainPlaneFollowTerrainCurve; s.DetailPlaneFollowTerrainCurve = DetailPlaneFollowTerrainCurve; s.ParentGameObjectName = this.name; s.terrainDisplayer = this; TerrainManager = new TerrainManager(s); PrefabManager = new PrefabManager(s); Cleanup(); } }
void AddPrefabCreators(string dir, ShapeCreatorTreeNode parent) { EditorProject project = EditorApp.Project; int iIcon = EditorManager.GUI.ShapeTreeImages.AddBitmap(Path.Combine(EditorManager.AppDataDir, @"bitmaps\Shapes\lock_ok.png"), Color.Magenta); int iCategoryIcon = EditorManager.GUI.ShapeTreeImages.AddBitmap(Path.Combine(EditorManager.AppDataDir, @"bitmaps\Shapes\folder_new.png"), Color.Magenta); // Create the prefab category, if still missing ShapeCreatorTreeNode catParent = null; if (parent == null) { catParent = this.AddCategory(null, "Prefabs", iCategoryIcon); } else { catParent = this.AddCategory(parent, dir.Substring(dir.LastIndexOf('\\')), iCategoryIcon); } // Iterate all subdirectories string[] directories = Directory.GetDirectories(dir); foreach (string directory in directories) { AddPrefabCreators(directory, catParent); } // Iterate all files string[] files = Directory.GetFiles(dir, "*.prefab"); Array.Sort(files, new NaturalFileNameComparer()); foreach (string filename in files) { string relname = project.MakeRelative(filename); PrefabDesc desc = PrefabManager.CreatePrefab(relname); if (!desc.Loaded) { continue; } // Get the name of the prefab string _name = desc.Name; if (_name == null || _name == "") { _name = relname; } // Apply the search filter if (!searchPanel.MatchesFilter(_name)) { continue; } // Add the category path to the tree ShapeCreatorTreeNode cat = catParent; string catName = desc.Category; if (catName != null && catName != "") { cat = AddCategoryPath(catParent, catName, "\\", -1); } AddCreator(cat, desc, _name, iIcon); } // Check whether any prefab creators has been added if (catParent.Nodes.Count == 0) { catParent.Remove(); } }
/// <inheritdoc /> protected override DragDropEffect OnDragDropHeader(DragData data) { var result = DragDropEffect.None; Actor myActor = Actor; Actor newParent; int newOrder = -1; // Check if has no actor (only for Root Actor) if (myActor == null) { // Append to the last scene var scenes = Level.Scenes; if (scenes == null || scenes.Length == 0) { throw new InvalidOperationException("No scene loaded."); } newParent = scenes[scenes.Length - 1]; } else { newParent = myActor; // Use drag positioning to change target parent and index if (DragOverMode == DragItemPositioning.Above) { if (myActor.HasParent) { newParent = myActor.Parent; newOrder = myActor.OrderInParent; } } else if (DragOverMode == DragItemPositioning.Below) { if (myActor.HasParent) { newParent = myActor.Parent; newOrder = myActor.OrderInParent + 1; } } } if (newParent == null) { throw new InvalidOperationException("Missing parent actor."); } // Drag actors if (_dragActors != null && _dragActors.HasValidDrag) { bool worldPositionLock = Root.GetKey(KeyboardKeys.Control) == false; var singleObject = _dragActors.Objects.Count == 1; if (singleObject) { var targetActor = _dragActors.Objects[0].Actor; var customAction = targetActor.HasPrefabLink ? new ReparentAction(targetActor) : null; using (new UndoBlock(ActorNode.Root.Undo, targetActor, "Change actor parent", customAction)) { targetActor.SetParent(newParent, worldPositionLock); targetActor.OrderInParent = newOrder; } } else { var targetActors = _dragActors.Objects.ConvertAll(x => x.Actor); var customAction = targetActors.Any(x => x.HasPrefabLink) ? new ReparentAction(targetActors) : null; using (new UndoMultiBlock(ActorNode.Root.Undo, targetActors, "Change actors parent", customAction)) { for (int i = 0; i < targetActors.Count; i++) { var targetActor = targetActors[i]; targetActor.SetParent(newParent, worldPositionLock); targetActor.OrderInParent = newOrder; } } } result = DragDropEffect.Move; } // Drag assets else if (_dragAssets != null && _dragAssets.HasValidDrag) { for (int i = 0; i < _dragAssets.Objects.Count; i++) { var assetItem = _dragAssets.Objects[i]; if (assetItem.IsOfType <SkinnedModel>()) { // Create actor var model = FlaxEngine.Content.LoadAsync <SkinnedModel>(assetItem.ID); var actor = new AnimatedModel(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.SkinnedModel = model; actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem.IsOfType <Model>()) { // Create actor var model = FlaxEngine.Content.LoadAsync <Model>(assetItem.ID); var actor = new StaticModel(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.Model = model; actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem.IsOfType <CollisionData>()) { // Create actor var actor = new MeshCollider(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.CollisionData = FlaxEngine.Content.LoadAsync <CollisionData>(assetItem.ID); actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem.IsOfType <ParticleSystem>()) { // Create actor var actor = new ParticleEffect(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.ParticleSystem = FlaxEngine.Content.LoadAsync <ParticleSystem>(assetItem.ID); actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem.IsOfType <SceneAnimation>()) { // Create actor var actor = new SceneAnimationPlayer(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.Animation = FlaxEngine.Content.LoadAsync <SceneAnimation>(assetItem.ID); actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem.IsOfType <AudioClip>()) { // Create actor var actor = new AudioSource(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.Clip = FlaxEngine.Content.LoadAsync <AudioClip>(assetItem.ID); actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); break; } else if (assetItem.IsOfType <Prefab>()) { // Create prefab instance var prefab = FlaxEngine.Content.LoadAsync <Prefab>(assetItem.ID); var actor = PrefabManager.SpawnPrefab(prefab, null); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } else if (assetItem is VisualScriptItem visualScriptItem && new ScriptType(typeof(Actor)).IsAssignableFrom(visualScriptItem.ScriptType) && visualScriptItem.ScriptType.CanCreateInstance) { // Create actor var actor = (Actor)visualScriptItem.ScriptType.CreateInstance(); actor.StaticFlags = Actor.StaticFlags; actor.Name = assetItem.ShortName; actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } } result = DragDropEffect.Move; } // Drag actor type else if (_dragActorType != null && _dragActorType.HasValidDrag) { for (int i = 0; i < _dragActorType.Objects.Count; i++) { var item = _dragActorType.Objects[i]; // Create actor var actor = item.CreateInstance() as Actor; if (actor == null) { Editor.LogWarning("Failed to spawn actor of type " + item.TypeName); continue; } actor.StaticFlags = Actor.StaticFlags; actor.Name = item.Name; actor.Transform = Actor.Transform; // Spawn ActorNode.Root.Spawn(actor, Actor); } result = DragDropEffect.Move; } // Clear cache _dragHandlers.OnDragDrop(null); // Check if scene has been modified if (result != DragDropEffect.None) { var node = SceneGraphFactory.FindNode(newParent.ID) as ActorNode; node?.TreeNode.Expand(); } return(result); }
private void Start() { PrefabManager.GetInstance().CreateGameObjectByPrefab("RedPanel", transform, Vector3.zero, Quaternion.identity); }
private void Start() { Plr = GetComponent <Player>(); HighlightPrefab = PrefabManager.GetPrefab("UI/Highlight"); }
void OnEnable() { this.prefabManager = (PrefabManager)this.target; }
private void Start() { inputManager = ClassManager.instance.inputManager; prefabManager = ClassManager.instance.prefabManager; }
void Start() { prefabManager = GameObject.Find("PrefabManager").GetComponent <PrefabManager>(); }
// Use this for initialization void Start() { _instance = this; }
void Awake() { instance = this; }
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); } } }
public void CreateDungeon(int room_number) { //Construct Spawn Room. InstantiateIRoom(RoomFactory.Build("SpawningRoom", PrefabManager.GetInstance().GetAllRoomTiles(), 5, 5), new Vector3(0, 0, 0), PrefabManager.GetInstance().GetAllRoomTiles()); //TO BE REMOVED! TESTING CODE. allrooms[0].RoomObject.AddComponent <SpawnRoomScript>(); allrooms[0].RoomObject.AddComponent <BoxCollider>(); //Create new collider for the room. allrooms[0].RoomObject.GetComponent <BoxCollider>().size = new Vector3(allrooms[0].Tiles_number_x * Tile.X_length - 2, 5, allrooms[0].Tiles_number_z * Tile.Z_length - 2); //Set the size of the collider to cover all the room. allrooms[0].RoomObject.GetComponent <BoxCollider>().isTrigger = true; //Set collider to trigger. //TO BE REMOVED! bool foundcorridor, foundroom; while (true) { int openroomindex = -1; foundcorridor = false; foundroom = false; //Used to find corridor with available sides. for (int i = 0; i < allrooms.Count; i++) { if (allrooms[i].Available_Sides.Count > 0) { if (allrooms[i].Category == "Corridor") { foundcorridor = true; openroomindex = i; break; } } } //Gives priority to available corridors. //Used to find available room. if (!foundcorridor) { for (int i = 0; i < allrooms.Count; i++) { if (allrooms[i].Available_Sides.Count > 0) { if (allrooms[i].Category == "Room") { foundroom = true; openroomindex = i; break; } } } } //Something went wrong and there is no available side to none of the rooms. if (!foundcorridor && !foundroom) { Debug.LogError("Finished dungeon generator without reaching the room goal."); break; } (IRoom newroom, Vector3 newroomloc) = allrooms[openroomindex].CreateAdjacentRoom(); if (newroom != null) { if (allrooms[openroomindex].Category == "Room") { InstantiateIRoom(newroom, newroomloc, PrefabManager.GetInstance().GetAllRoomTiles()); if (newroom.Category == "Room") { roomsPlaced++; } } else if (allrooms[openroomindex].Category == "Corridor") { InstantiateIRoom(newroom, newroomloc, PrefabManager.GetInstance().GetAllRoomTiles()); if (newroom.Category == "Room") { roomsPlaced++; } } if (roomsPlaced >= RoomNumber) { break; } } } }
void Awake() { Character.IniCharacter(); Bestiary.IniBestiary(); Inventory.IniInventory(); ItemInventory.IniItemInventory(); _Player = GameObject.FindGameObjectWithTag("Player"); _PlayerCam = GameObject.FindGameObjectWithTag("MainCamera").camera; _PlayerMaster = GameObject.FindGameObjectWithTag("PlayerMaster"); _PlayerHUD = _PlayerMaster.GetComponent<PlayerHUD>(); DungeonLevelPool.IniDungeonLevelPool(); _PrefabManager = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<PrefabManager>(); }
public UIKeyValueSpawner(PrefabManager mgPrefab, DialogManager mgDialog, GameObject layout) { this.mgPrefab = mgPrefab; this.mgDialog = mgDialog; this.layout = layout; }
private void Awake() { _instance = this; }
// Init private void Start() { dataHolder = ClassManager.instance.dataHolder; prefabManager = ClassManager.instance.prefabManager; characterUiManager = ClassManager.instance.characterUiManager; }
void Start() { //最开始取得角色工厂引用 _prefabManager = PrefabManager.instance; DontDestroyOnLoad(gameObject); }
// Use this for initialization void Start() { _PrefabManager = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<PrefabManager>(); _GameManager = GameObject.FindGameObjectWithTag("GameMaster").GetComponent<GameManager>(); // Name of GameObject used for NGUI _UIRoot2DName = "UI Root (2D)"; _panelTaskName = _UIRoot2DName + "/Camera/Window/Anchor/PanelTask"; _panelSkillName = _UIRoot2DName + "/Camera/Window/Anchor/PanelSkill"; _panelBuildingName = _UIRoot2DName + "/Camera/Window/Anchor/PanelBuilding"; // Find the GameObjects used for NGUI _UI_Root2D = transform.FindChild(_UIRoot2DName).gameObject; _panelTask = transform.FindChild(_panelTaskName).gameObject; _panelSkill = transform.FindChild(_panelSkillName).gameObject; _panelBuilding = transform.FindChild(_panelBuildingName).gameObject; _BuildingTable = _panelBuilding.transform.FindChild("Building List/SubPanelBuilding/BuildingTable").gameObject; if(_BuildingTable == null){Debug.LogWarning ("[NGUI_HUD.UpdateBuildList() - BuildingTable not found");} _BuildingTypeLabel = _panelBuilding.transform.FindChild("Building Type/Label - BuildingType").gameObject; if(_BuildingTypeLabel == null){Debug.LogWarning ("[NGUI_HUD.UpdateBuildList() - BuildingType not found");} _BuildingInfoName = _panelBuilding.transform.FindChild("Building Info/Label (Building Name)").gameObject; if(_BuildingInfoName == null){Debug.LogWarning ("[NGUI_HUD.BuildingType_Choose() - _BuildingInfoName not found");} _BuildingInfoRecipe = _panelBuilding.transform.FindChild("Building Info/Label (Recipe)").gameObject; if(_BuildingInfoRecipe == null){Debug.LogWarning ("[NGUI_HUD.BuildingType_Choose() - _BuildingInfoName not found");} _BuildingToTween = transform.FindChild("BuildingToTween/BuildingMesh").gameObject; if(_BuildingInfoRecipe == null){Debug.LogWarning ("[NGUI_HUD.DisplayBuildingTween() - _BuildingToTween not found");} // Initialize NGUI UpdateAll(); CloseAll (); }