public void OnSceneGUI() { if (bNoGrid || PrefabHelper.IsPrefab(_target.gameObject)) { return; } if (!_snapFree.boolValue) { int iOddCount = 9; for (int i = 0; i < iOddCount; ++i) { Handles.color = Color.red; Handles.DotHandleCap(i * 3, _target.transform.position + new Vector3((i - (iOddCount - 1) / 2) * _target.GridInterval.x, 0, 0), Quaternion.identity, 0.025f, EventType.Repaint); Handles.color = Color.green; Handles.DotHandleCap(i * 3 + 1, _target.transform.position + new Vector3(0, (i - (iOddCount - 1) / 2) * _target.GridInterval.y, 0), Quaternion.identity, 0.025f, EventType.Repaint); Handles.color = Color.blue; Handles.DotHandleCap(i * 3 + 2, _target.transform.position + new Vector3(0, 0, (i - (iOddCount - 1) / 2) * _target.GridInterval.z), Quaternion.identity, 0.025f, EventType.Repaint); } } }
/// <summary> /// Collects assets of the specified prefab type. /// </summary> /// <typeparam name="TPrefab">The type of the prefab.</typeparam> /// <typeparam name="TAsset">The type of the asset.</typeparam> /// <returns>A sequence of assets of the specified type.</returns> protected static IEnumerable <AssetInfo> CollectPrefabs <TPrefab, TAsset>(Func <PrefabInfo, bool> predicate) where TPrefab : PrefabInfo where TAsset : AssetInfo, new() { return(PrefabHelper.Collect <TPrefab>() .Where(p => predicate(p)) .Select(p => { AssetInfo a = new TAsset(); a.Initialize(p); return a; }) .Where(a => a.Initialized)); }
public void OnSceneGUI() { if (PrefabHelper.IsPrefab(_bulk.gameObject)) { return; } if (_bulkGrid.IsInheritGrid) { return; } int iOddCount = 9; Vector3 _centor = _bulkGrid.transform.position; for (int i = 0; i < iOddCount; ++i) { Handles.color = Color.red; Handles.CircleHandleCap(iOddCount + i * 3, _centor + new Vector3((i - (iOddCount - 1) / 2) * _bulkGrid.GridInterval.x, 0, 0), SceneView.currentDrawingSceneView.camera.transform.rotation, 0.05f, EventType.Repaint); Handles.color = Color.green; Handles.CircleHandleCap(iOddCount + i * 3 + 1, _centor + new Vector3(0, (i - (iOddCount - 1) / 2) * _bulkGrid.GridInterval.y, 0), SceneView.currentDrawingSceneView.camera.transform.rotation, 0.05f, EventType.Repaint); Handles.color = Color.blue; Handles.CircleHandleCap(iOddCount + i * 3 + 2, _centor + new Vector3(0, 0, (i - (iOddCount - 1) / 2) * _bulkGrid.GridInterval.z), SceneView.currentDrawingSceneView.camera.transform.rotation, 0.05f, EventType.Repaint); } }
public void Show(GameObject skillMaskPrefab, params int[] parameters) { var cs = PrefabHelper.InstantiateAndReset <BaseSkillMask>(skillMaskPrefab, RespawnParent); cs.Show(parameters); SkillMasks.Add(cs); }
//[Server] //只在Server执行 public void CreateProjectile(Vector3 displacement) { var ratio = 0.9f; //var go = Network.Instantiate(ArrowPrefab, Vector3.zero, Quaternion.identity, 0); var go = PrefabHelper.InstantiateAndReset(Info.ProjectilePrefab, null); go.transform.position = LaunchPoint.position; go.transform.forward = displacement; var rigid = go.GetComponent <Rigidbody>(); var projectile = go.GetComponent <Projectile>(); if (Info.IsSpeedFixed) { rigid.velocity = Info.InitialSpeed * displacement.normalized; } else { var actualDisplacement = displacement.normalized * (displacement.magnitude - LaunchPoint.localPosition.z); const float tanTheta = 1; var vx = Mathf.Sqrt(actualDisplacement.magnitude * projectile.Gravity / 2 / tanTheta); var vy = vx * tanTheta; rigid.velocity = vx * actualDisplacement.normalized + vy * Vector3.up; } projectile.Launcher = Caster; NetworkServer.Spawn(go); }
void OnEnable() { if (bPrefab = PrefabHelper.IsPrefab((target as Iso2DObject).gameObject)) { return; } }
public void CreateAddEnergyFloatingLabel(Vector2 localPos, long addEnergy) { var fl = PrefabHelper.InstantiateAndReset <FloatingLabel>(AddEnergyLabelPrefab, transform); fl.Reset(string.Format("{0}蓄力", addEnergy), 1f); fl.transform.localPosition = localPos; }
public static void CreateExplodeEffect(Vector2 pos) { var go = PrefabHelper.InstantiateAndReset(Instance.ExplodeEffectPrefab, GameManager.Container); go.transform.localPosition = pos; Destroy(go, 1); }
public void Refresh() { if (_slotList == null) { _slotList = new VegetableSlot[CommonData.MyVegetableList.Count]; } else if (_slotList.Length != CommonData.MyVegetableList.Count) { foreach (var slot in _slotList.Where(slot => slot != null)) { Destroy(slot.gameObject); } _slotList = new VegetableSlot[CommonData.MyVegetableList.Count]; } for (int i = 0; i < CommonData.MyVegetableList.Count; i++) { if (_slotList[i] == null) { var slot = PrefabHelper.InstantiateAndReset <VegetableSlot>(SlotTemplate, Grid.transform); slot.gameObject.SetActive(true); _slotList[i] = slot; } _slotList[i].name = i.ToString(); _slotList[i].SetAndRefresh(CommonData.MyVegetableList[i]); } SlotTemplate.SetActive(false); Grid.repositionNow = true; }
private void OnEnable() { if (IsPrefab = PrefabHelper.IsPrefab(targets.Select(r => (r as SubColliderHelper).gameObject).ToArray())) { return; } }
void RefreshList2() { foreach (var friendSlot in _friendSlotList2) { Destroy(friendSlot.gameObject); } _friendSlotList2.Clear(); if (CommonData.FriendData.FriendList != null) { for (int i = 0; i < CommonData.FriendData.FriendList.Count; i++) { var friendInfo = CommonData.FriendData.FriendList[i]; var go = PrefabHelper.InstantiateAndReset(FriendSlotTemplate, Grid2.transform); go.name = i.ToString(CultureInfo.InvariantCulture); go.SetActive(true); var cs = go.GetComponent <FriendSlot>(); cs.SetAndRefresh(friendInfo, OnSelectFriend2, null); cs.ToggleSelected(false); _friendSlotList2.Add(cs); go.GetComponent <UIDragPanelContents>().draggablePanel = DraggablePanel2; } } Grid2.repositionNow = true; FriendSlotTemplate.SetActive(false); }
void RefreshList1() { foreach (var friendSlot in _friendSlotList1) { Destroy(friendSlot.gameObject); } _friendSlotList1.Clear(); if (GameData.RandomTeamMemberList != null) { for (int i = 0; i < GameData.RandomTeamMemberList.Count; i++) { var friendInfo = GameData.RandomTeamMemberList[i]; var go = PrefabHelper.InstantiateAndReset(Reinforce1SlotTemplate, Grid1.transform); go.name = i.ToString(CultureInfo.InvariantCulture); go.SetActive(true); var cs = go.GetComponent <Reinforce1Slot>(); cs.SetAndRefresh(friendInfo, OnSelectFriend1, null); cs.ToggleSelected(false); _friendSlotList1.Add(cs); go.GetComponent <UIDragPanelContents>().draggablePanel = DraggablePanel1; } } Grid1.repositionNow = true; Reinforce1SlotTemplate.SetActive(false); }
public void Preload(int count = 20) { while (CandyPoolQueue.Count < count) { Enqueue(PrefabHelper.InstantiateAndReset(Instance.CandyPrefab, Instance.transform)); } }
public void Refresh(List <Mail> mailList) { if (CommonData.MailList == null) { foreach (var mailSlot in _mailSlots) { mailSlot.gameObject.SetActive(false); } } else { while (_mailSlots.Count < mailList.Count) { var mailSlot = PrefabHelper.InstantiateAndReset <MailSlot>(MailSlotTemplate, Grid.transform); mailSlot.name = "Slot" + _mailSlots.Count; _mailSlots.Add(mailSlot); } for (int i = 0; i < _mailSlots.Count; i++) { if (i < mailList.Count) { _mailSlots[i].gameObject.SetActive(true); _mailSlots[i].SetAndRefresh(mailList[i]); } else { _mailSlots[i].gameObject.SetActive(false); } } } Grid.repositionNow = true; MailSlotTemplate.SetActive(false); }
public void CreateAddComboLabel(Vector2 localPos, int multiple) { var fl = PrefabHelper.InstantiateAndReset <FloatingLabel>(ComboLabelPrefab, transform); fl.Reset(string.Format("Combo\n蓄力×{0}", multiple), 1f); fl.transform.localPosition = localPos; }
void SetAndRefresh(Communication.Proto.Leaderboard leaderboard) { _leaderboard = leaderboard; for (int i = 0; i < Count; i++) { if (i < _leaderboard.ItemList.Count) { if (_leaderboardSlots[i] == null) { var go = PrefabHelper.InstantiateAndReset(MySlot.gameObject, Grid.transform); go.name = "Slot " + i; _leaderboardSlots[i] = go.GetComponent <LeaderboardSlot>(); } if (_leaderboardSlots[i] != null) { _leaderboardSlots[i].gameObject.SetActive(true); _leaderboardSlots[i].SetAndRefresh(_leaderboard.ItemList[i]); } } else { if (_leaderboardSlots[i] != null) { _leaderboardSlots[i].gameObject.SetActive(false); } } } Grid.repositionNow = true; MySlot.SetAndRefresh(_leaderboard.MyItem); }
public void CreatePraiseLabel(int multiple) { var fl = PrefabHelper.InstantiateAndReset <FloatingLabel>(PraiseLabelPrefab, transform); string text; switch (multiple) { case 2: text = "Good\n×2"; break; case 3: text = "Awesome\n×3"; break; case 4: text = "Perfect\n×4"; break; default: text = "Holy Shit!!!\n×" + multiple; break; } fl.Reset(text, 0.5f); }
void OnEnable() { if (target == null || Selection.activeGameObject == null) { return; } if (bPrefab = PrefabHelper.IsPrefab(targets.Select(r => (r as IsoTile).gameObject).ToArray())) { return; } update_InspectorTile(); if (screenInfoFontStyle == null) { screenInfoFontStyle = new GUIStyle(); screenInfoFontStyle.normal.textColor = Color.green; screenInfoFontStyle.fontStyle = FontStyle.Bold; screenInfoFontStyle.fontSize = 15; } if (SceneView.lastActiveSceneView != null && bFrameSelected) { SceneView.lastActiveSceneView.FrameSelected(false); } }
public void StripeHSpecialPopEffect(IntVector2 ij, int genre) { var go = PrefabHelper.InstantiateAndReset(HEffectPrefab, transform); go.transform.localPosition = GameManager.Instance.MyGrid.GetCellPosition(ij); Destroy(go, 3); }
public void Refresh() { var skillConfig = ConfigManager.GetConfig(ConfigManager.ConfigType.SkillConfig) as SkillConfig; if (skillConfig != null) { if (_slotList == null) { _slotList = new SkillSlot[skillConfig.SkillList.Count]; } else if (_slotList.Length != skillConfig.SkillList.Count) { foreach (var slot in _slotList.Where(slot => slot != null)) { Destroy(slot.gameObject); } _slotList = new SkillSlot[skillConfig.SkillList.Count]; } for (var i = 0; i < skillConfig.SkillList.Count; i++) { if (_slotList[i] == null) { var slot = PrefabHelper.InstantiateAndReset <SkillSlot>(SlotTemplate, Grid.transform); _slotList[i] = slot; } _slotList[i].name = i.ToString(CultureInfo.InvariantCulture); _slotList[i].SetAndRefresh(skillConfig.SkillList[i]); } } SlotTemplate.SetActive(false); }
public void SetAndRefresh(int majorId, SubLevelUnlockInfo subLevelUnlockInfo, SubLevelData subLevelData) { _majorId = majorId; _subLevelUnlockInfo = subLevelUnlockInfo; _subLevelData = subLevelData; LblNum.text = _subLevelData.SubLevelId.ToString(); var unlocked = _subLevelUnlockInfo != null && _subLevelUnlockInfo.Unlocked; var starCount = _subLevelUnlockInfo != null ? _subLevelUnlockInfo.CurrentStar : 0; SprPoint.color = unlocked ? Color.white : Color.gray; for (int i = 0; i < 3; i++) { Stars[i].SetActive(i < starCount); } if (unlocked && starCount == 0) { if (!_standOnArrow) { _standOnArrow = PrefabHelper.InstantiateAndReset(StandOnArrowPrefab, transform); } } else { Destroy(_standOnArrow); } }
public static void CreateVCContextMenu(ref GenericMenu menu, string assetPath, Object instance = null) { if (VCUtility.ValidAssetPath(assetPath)) { bool ready = VCCommands.Instance.Ready; if (ready) { if (instance && ObjectUtilities.ChangesStoredInScene(instance)) { assetPath = SceneManagerUtilities.GetCurrentScenePath(); } var validActions = GetValidActions(assetPath, instance); if (validActions.showDiff) { menu.AddItem(new GUIContent(Terminology.diff), false, () => VCUtility.DiffWithBase(assetPath)); } if (validActions.showAdd) { menu.AddItem(new GUIContent(Terminology.add), false, () => VCCommands.Instance.Add(new[] { assetPath })); } if (validActions.showOpen) { menu.AddItem(new GUIContent(Terminology.getlock), false, () => GetLock(assetPath, instance)); } if (validActions.showOpenLocal) { menu.AddItem(new GUIContent(Terminology.allowLocalEdit), false, () => AllowLocalEdit(assetPath, instance)); } if (validActions.showForceOpen) { menu.AddItem(new GUIContent("Force " + Terminology.getlock), false, () => GetLock(assetPath, instance, OperationMode.Force)); } if (validActions.showCommit) { menu.AddItem(new GUIContent(Terminology.commit), false, () => Commit(assetPath, instance)); } if (validActions.showUnlock) { menu.AddItem(new GUIContent(Terminology.unlock), false, () => VCCommands.Instance.ReleaseLock(new[] { assetPath })); } if (validActions.showDisconnect) { menu.AddItem(new GUIContent("Disconnect"), false, () => PrefabHelper.DisconnectPrefab(instance as GameObject)); } if (validActions.showDelete) { menu.AddItem(new GUIContent(Terminology.delete), false, () => VCCommands.Instance.Delete(new[] { assetPath })); } if (validActions.showRevert) { menu.AddItem(new GUIContent(Terminology.revert), false, () => Revert(assetPath, instance)); } } else { menu.AddDisabledItem(new GUIContent("..Busy..")); } } }
public void Preload(int count = 20) { while (PopParticleSysPoolList.Count < count) { Enqueue(PrefabHelper.InstantiateAndReset(Instance.PopParticleSysPrefab, Instance.transform)); } }
public void RpcPlayPointEffect(Vector3 location)//TODO:和Destroy同时故无法在客户端生效 { var go = PrefabHelper.InstantiateAndReset(ExplodePrefab, null); go.transform.position = location; Destroy(go, 10); }
public override ISyncScenarioItem Apply(CastContext castContext, int abilityLevel) { var linesCollider = PrefabHelper.Intantiate(_linesColliderPrefab, Game.Instance.gameObject); linesCollider.transform.position = castContext.Caster.Position; linesCollider.transform.localScale = Vector3.one; linesCollider.OnTrigger += (unit) => { if (unit.PlayerId != castContext.Caster.PlayerId) { DamageSystem.ApplyDamage(castContext.Caster, _damage.GetValue(abilityLevel), unit); } }; var renderers = linesCollider.GetComponentsInChildren <Renderer>(); return(new SyncScenario( new List <ISyncScenarioItem> { new ActionScenarioItem(() => { FMODUnity.RuntimeManager.PlayOneShot("event:/Explosion"); }), new AlphaTween(renderers, 0), new AlphaTween(renderers, 1, 0.1f, EaseType.QuadIn), new AlphaTween(renderers, 0, 0.3f, EaseType.QuadOut) }, (s, interrupted) => Object.Destroy(linesCollider.gameObject) ).PlayRegisterAndReturnSelf()); }
public void Refresh() { _challengeLevelConfig = ConfigManager.GetConfig(ConfigManager.ConfigType.ChallengeLevelConfig) as ChallengeLevelConfig; if (_challengeLevelConfig == null) { Debug.LogError("没有ChallengeLevelConfig,玩个毛"); return; } while (MajorLevelSectorList.Count < _challengeLevelConfig.MajorLevelList.Count) { MajorLevelSectorList.Add(null); } for (int i = 0; i < _challengeLevelConfig.MajorLevelList.Count; i++) { if (MajorLevelSectorList[i] == null) { MajorLevelSectorList[i] = PrefabHelper.InstantiateAndReset(MajorLevelSectorTemplate, transform); MajorLevelSectorList[i].name = "MajorLevelSector " + i; MajorLevelSectorList[i].SetActive(true); MajorLevelSectorList[i].transform.localEulerAngles = new Vector3(0, 0, -i * OffsetAngle); } var majorLevelId = _challengeLevelConfig.MajorLevelList[i].MajorLevelId; var cui = CommonData.ChallengeUnlockInfoList.Find( x => x.MajorLevelId == majorLevelId); MajorLevelSectorList[i].GetComponentInChildren <Island>() .SetAndRefresh(PushLevelUI, majorLevelId, cui, _challengeLevelConfig.MajorLevelList[i]); } //LastNotOpenSign.name = "MajorLevelButton " + CommonData.ChallengeUnlockInfoList.Count; MajorLevelSectorTemplate.SetActive(false); }
public override ISyncScenarioItem Apply(CastContext castContext, int abilityLevel) { var effect = PrefabHelper.Intantiate(_explosionEffectPrefab, Game.Instance.gameObject); effect.transform.position = castContext.Caster.Position; effect.transform.localScale = Vector3.zero; var radius = _radius.GetValue(abilityLevel); var targets = MapController.Instance.GetEnemiesInArea(castContext.Caster.Position, radius, castContext.Caster.PlayerId); for (int i = 0; i < targets.Count; i++) { DamageSystem.ApplyDamage(castContext.Caster, _damage.GetValue(abilityLevel), targets[i]); } return(new SyncScenario( new List <ISyncScenarioItem> { new ActionScenarioItem(() => { FMODUnity.RuntimeManager.PlayOneShot("event:/Explosion"); }), new AlphaTween(effect, 1), new ScaleTween(effect, 10 * radius * Vector3.one, 0.5f, EaseType.QuadIn), new AlphaTween(effect, 0, 0.3f, EaseType.QuadOut) }, (s, interrupted) => Object.Destroy(effect.gameObject) ).PlayRegisterAndReturnSelf()); }
void Refresh(List <LeaderboardItem> leaderboardItems, LeaderboardItem myItem) { if (leaderboardItems != null) { var count = Mathf.Min(10, leaderboardItems.Count); SlotTemplate.SetActive(false); for (int i = 0; i < count; i++) { var go = PrefabHelper.InstantiateAndReset(SlotTemplate, Grid.transform); go.SetActive(true); go.name = SlotTemplate.name + i.ToString("000"); var slot = go.GetComponent <LeaderboardSlot>(); SlotList.Add(slot); var item = leaderboardItems[i]; slot.Refresh(item.Rank, item.Nickname, item.Score); } } Grid.repositionNow = true; if (myItem != null) { MySlot.Refresh(myItem.Rank, myItem.Nickname, myItem.Score); var nickname = "";// ForeverDataHolder.Nickname; if (string.IsNullOrEmpty(nickname)) { GrpNoNickname.SetActive(true); MySlot.LblNickname.text = "请输入昵称"; } else { GrpNoNickname.SetActive(false); MySlot.LblNickname.text = nickname; } } }
//创建本地玩家 private void CreateLocalUnit(M2C_InViewUnits message) { var localUnit = MongoHelper.FromBson <Unit>(message.SelfUnit.bytes); Unit.LocalUnit = localUnit; Log.Debug($"localUnit.Position {localUnit.Position} "); Log.Debug($"localUnit.Position {localUnit.Components.Count} "); //Log.Debug($"localUnit.Position {localUnit.GetComponent<TransformComponent>()}"); var go = UnityEngine.Object.Instantiate(PrefabHelper.GetUnitPrefab("LocalUnit")); go.transform.position = localUnit.Position; GameObject.DontDestroyOnLoad(go); foreach (var item in localUnit.Components.Values) { Log.Debug($"{item.GetType().Name}"); ETModel.Game.EventSystem.RegisterSystem(item); item.Parent = localUnit; } //var unit = ETModel.EntityFactory.CreateWithId<Unit>(ETModel.Game.Scene, localUnit.Id); ETModel.Game.EventSystem.Awake(localUnit); localUnit.Awake(go); UnitComponent.Instance.Add(localUnit); //go.transform.GetChild(2).parent = null; //go.transform.GetChild(1).parent = null; localUnit.Position = localUnit.Position; Game.Scene.AddComponent <OperaComponent>(); }
public static async ETTask <ETModel.Entity> OnEnterView(EntiyInfo entityInfo) { try { Log.Debug($"{EntityDefine.GetType(entityInfo.Type).Name}"); if (entityInfo.Type == EntityDefine.GetTypeId <Unit>()) { var remoteUnit = MongoHelper.FromBson <Unit>(entityInfo.BsonBytes.bytes); foreach (var item in remoteUnit.Components) { Log.Debug($"remoteUnit {item.GetType().Name}"); } //remoteUnit.Domain = ETModel.Game.Scene; //Unit unit = UnitFactory.Create(ETModel.Game.Scene, remoteUnit.Id); var go = UnityEngine.Object.Instantiate(PrefabHelper.GetUnitPrefab("RemoteUnit")); go.transform.position = remoteUnit.Position; GameObject.DontDestroyOnLoad(go); //var unit = EntityFactory.CreateWithId<Unit>(domain, id); ETModel.Game.EventSystem.RegisterSystem(remoteUnit); ETModel.Game.EventSystem.Awake(remoteUnit); remoteUnit.Awake(go); UnitComponent.Instance.Add(remoteUnit); remoteUnit.Position = remoteUnit.Position; //remoteUnit.Dispose(); return(remoteUnit); } if (entityInfo.Type == EntityDefine.GetTypeId <Bullet>()) { var remoteBullet = MongoHelper.FromBson <Bullet>(entityInfo.BsonBytes.bytes); //Log.Debug($"{remoteBullet}"); //var bullet = ETModel.EntityFactory.CreateWithId<Bullet>(ETModel.Game.Scene, remoteBullet.Id); Log.Debug($"{remoteBullet.Components.Count}"); ETModel.Game.EventSystem.RegisterSystem(remoteBullet); ETModel.Game.EventSystem.Awake(remoteBullet); BulletComponent.Instance.Add(remoteBullet); //remoteBullet.Dispose(); return(remoteBullet); } if (entityInfo.Type == EntityDefine.GetTypeId <Monster>()) { var remote = MongoHelper.FromBson <Monster>(entityInfo.BsonBytes.bytes); Log.Debug($"HealthComponent HP{remote.GetComponent<HealthComponent>().HP}"); remote.Awake(); remote.Domain = ETModel.Game.Scene; remote.BodyView = GameObject.Instantiate(PrefabHelper.GetUnitPrefab("Monster")); GameObject.DontDestroyOnLoad(remote.BodyView); //var monster = MonsterFactory.Create(ETModel.Game.Scene, remote.Id); MonsterComponent.Instance.Add(remote); //remote.Position = remote.Position; //remote.Dispose(); return(remote); } } catch (System.Exception e) { Log.Error(e); } return(null); }