void OnTriggerEnter2D(Collider2D other) { //Va chạm với Coin if (other.gameObject.tag == "Coin") { gameLogic.EatCoin(); other.gameObject.GetComponent <CoinLogic>().Eat(); } //Va chạm với Gem if (other.gameObject.tag == "gem") { GemLogic gem = other.gameObject.GetComponent <GemLogic>(); gem.Eat(); GemType type = gem.type; switch (type) { //RED: bất tử 5s case GemType.RED: { StopAllCoroutines(); StartCoroutine(InvincibleTime(5f, 0.2f)); break; } //GREEN: thêm mạng case GemType.GREEN: { if (hearts < 3) { HeartsIndicator.transform.GetChild(hearts).gameObject.SetActive(true); hearts++; } else { gameLogic.EatGem(); } break; } //YELLOW: thêm điểm case GemType.YELLOW: { gameLogic.EatGem(); break; } } } }
void ChooseTabButton(CONTENT_TYPE eContent) { if (m_NewPlayerGuide_Step == 0) { //直接到第二步宝石孔 NewPlayerGuide(2); } if (m_NewPlayerGuide_Step == 6) { if (GemLogic.Instance() != null) { NewPlayerGuide(5); } } // m_TabButtonList[(int)eContent].normalSprite = "TopPagePush"; // m_TabButtonList[(int)eContent].hoverSprite = "TopPagePush"; // m_TabButtonList[(int)eContent].pressedSprite = "TopPagePush"; // m_TabButtonList[(int)eContent].disabledSprite = "TopPageGrey"; // m_TabButtonList[(int)eContent].target.spriteName = "TopPagePush"; // m_TabButtonList[(int)eContent].target.MakePixelPerfect(); // for (int i = 0; i < m_TabButtonList.Count; i++) // { // if (i != (int)eContent) // { // m_TabButtonList[i].normalSprite = "TopPageNormal"; // m_TabButtonList[i].hoverSprite = "TopPageNormal"; // m_TabButtonList[i].pressedSprite = "TopPagePush"; // m_TabButtonList[i].disabledSprite = "TopPageGrey"; // m_TabButtonList[i].target.spriteName = "TopPageNormal"; // m_TabButtonList[i].target.MakePixelPerfect(); // } // } ClearAllSlotChoose(); //查看切换到其他非属性界面 如果模型被隐藏了则把预览模型打开 if (eContent != CONTENT_TYPE.CONTENT_TYPE_ATTR && GameManager.gameManager.ActiveScene.FakeObjRoot.activeInHierarchy == false) { //打开预览模型 GameManager.gameManager.ActiveScene.ShowFakeObj(); //播放站立动作 if (m_PlayerFakeObj != null) { m_PlayerFakeObj.PlayAnim(0); } } }
private void Awake() { PoolingObject <Ball> .Init(BallPrefab, MapTransform, GameConstants.BallsPoolSize); PoolingObject <Tile> .Init(TilePrefab, MapTransform, GameConstants.TilesPoolSize); PoolingObject <Gem> .Init(GemPrefab, MapTransform, GameConstants.GemsPoolSize); _tiles = new List <Tile>(); _gems = new List <Gem>(); _hashes = new HashSet <uint>(); _gemLogic = new GemLogic(); NewGame(); }
public uint Execute(PacketDistributed ipacket) { GC_ASK_COMMONFLAG_RET packet = (GC_ASK_COMMONFLAG_RET )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic GameManager.gameManager.PlayerDataPool.CommonData.HandlePacket(packet); if (null != AwardLogic.Instance()) { AwardLogic.Instance().UpdateTip(); } if (null != FunctionButtonLogic.Instance()) { FunctionButtonLogic.Instance().UpdateButtonAwardTips(); } if (null != PlayerFrameLogic.Instance()) { PlayerFrameLogic.Instance().UpdateRemainNum(); } if (null != MenuBarLogic.Instance()) { MenuBarLogic.Instance().UpdateSystemCountTip(); MenuBarLogic.Instance().UpdateRoleCountTip(); } if (null != SystemAndAutoFightLogic.Instance()) { SystemAndAutoFightLogic.Instance().updateRemindPoint(); } if (null != AutoFightLogic.Instance()) { AutoFightLogic.Instance().updateRemindPoint(); } if (null != RoleViewLogic.Instance()) { RoleViewLogic.Instance().updateGemRemindPoint(); } if (null != GemLogic.Instance()) { GemLogic.Instance().updateGemRemindPoint(); } return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
public uint Execute(PacketDistributed ipacket) { GC_RET_EQUIPBACK_GEM_COMBINE packet = (GC_RET_EQUIPBACK_GEM_COMBINE )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } if (GemLogic.Instance() != null) { GemLogic.Instance().UpdateGemSlot(); } if (EquipStrengthenLogic.Instance() != null) { EquipStrengthenLogic.Instance().RefreshGemsInEquips(); } //enter your logic return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
void OnDisable() { m_Instance = null; m_NewPlayerGuide_Step = -1; //关闭界面时 如果有延迟发包 则直接发包 if (m_Delay_Time > 0) { CG_PUT_GEM gemPacket = (CG_PUT_GEM)PacketDistributed.CreatePacket(MessageID.PACKET_CG_PUT_GEM); gemPacket.SetEquipslot(m_Delay_CurEquipSlot); gemPacket.SetIndex(m_Delay_CurGemSlot); gemPacket.SetItemguid(m_Delay_GemGuid); gemPacket.SendPacket(); m_Delay_CurEquipSlot = 0; m_Delay_CurGemSlot = 0; m_Delay_GemGuid = 0; } //关闭界面时 如果有UI特效播放 则关闭特效 if (BackCamerControll.Instance()) { BackCamerControll.Instance().StopSceneEffect(133, true); } CancelInvoke("SlowUpdate"); if (m_RuneAbsorb != null) { m_RuneAbsorb.SetActive(false); } if (EquipStrengthenLogic.Instance() != null) { EquipStrengthenLogic.Instance().ClearGemsInEquips(); } if (EquipStrengthenLogic.Instance() != null) { EquipStrengthenLogic.Instance().ReSelectEquip(); } }
void OnAfterStartGemView() { if (RoleViewLogic.Instance() != null) { //RoleViewLogic.Instance().GemBtClick(); RoleViewLogic.Instance().OnClick_Equip(m_EquipSlotIndex); if (GemLogic.Instance() != null) { if (m_GemClickSlot == "GemSlot1") { GemLogic.Instance().OnClickGemSlot1(); } else if (m_GemClickSlot == "GemSlot2") { GemLogic.Instance().OnClickGemSlot2(); } else if (m_GemClickSlot == "GemSlot3") { GemLogic.Instance().OnClickGemSlot3(); } } } }
void OnEnable() { m_Instance = this; /*deleOnClickGems[0] = OnClickGemItem1; * deleOnClickGems[1] = OnClickGemItem2; * deleOnClickGems[2] = OnClickGemItem3; * deleOnClickGems[3] = OnClickGemItem4; * deleOnClickGems[4] = OnClickGemItem5; * deleOnClickGems[5] = OnClickGemItem6; * deleOnClickGems[6] = OnClickGemItem7; * deleOnClickGems[7] = OnClickGemItem8;*/ InvokeRepeating("SlowUpdate", 0f, 0.3f); InitEmpty(); updateGemRemindPoint(); if (EquipStrengthenLogic.Instance() != null) { if (EquipStrengthenLogic.Instance().NewPlayerGuideFlag_Step == 15) { NewPlayerGuide(0); EquipStrengthenLogic.Instance().NewPlayerGuideFlag_Step = -1; } } }
public uint Execute(PacketDistributed ipacket) { GC_SYN_ATTR packet = (GC_SYN_ATTR)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic //判断是MainPlayer还是其他Obj Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer; PlayerData playerDataPool = GameManager.gameManager.PlayerDataPool; //血量 bool isHpChange = false; if (packet.HasCurHp) { playerDataPool.MainPlayerBaseAttr.HP = packet.CurHp; isHpChange = true; } if (packet.HasMaxHP) { playerDataPool.MainPlayerBaseAttr.MaxHP = packet.MaxHP; #if UNITY_ANDROID // 台湾安卓渠道特有,提交血量排行榜数据 if (PlatformHelper.IsChannelTW()) { PlatformHelper.SubmitRankScore(Games.GlobeDefine.GameDefine_Globe.GOOGLEPLAY_RANK_TYPE.HP, playerDataPool.MainPlayerBaseAttr.MaxHP); } #endif isHpChange = true; } if (isHpChange && _mainPlayer != null) { _mainPlayer.OptHPChange(); } //法力 bool isMpChange = false; if (packet.HasCurMp) { playerDataPool.MainPlayerBaseAttr.MP = packet.CurMp; isMpChange = true; } if (packet.HasMaxMP) { playerDataPool.MainPlayerBaseAttr.MaxMP = packet.MaxMP; isMpChange = true; } if (isMpChange && _mainPlayer != null) { _mainPlayer.OptMPChange(); } //怒气 bool isXpChange = false; if (packet.HasCurXp) { playerDataPool.MainPlayerBaseAttr.XP = packet.CurXp; isXpChange = true; } if (packet.HasMaxXP) { playerDataPool.MainPlayerBaseAttr.MaxXP = packet.MaxXP; isXpChange = true; } if (isXpChange && _mainPlayer != null) { _mainPlayer.OptXPChange(); } //等级 if (packet.HasCurLev) { // 更新配置文件 playerDataPool.MainPlayerBaseAttr.Level = packet.CurLev; if (_mainPlayer) { for (int i = 0; i < LoginData.loginRoleList.Count; i++) { if (LoginData.loginRoleList[i].guid == _mainPlayer.GUID) { LoginData.loginRoleList[i].level = packet.CurLev; UserConfigData.AddRoleInfo(); break; } } _mainPlayer.OptLevelChange(); if (LivingSkillLogic.Instance() != null) { LivingSkillLogic.Instance().UpdatePlayerStamina(); } _mainPlayer.UpdateSelectDrug(); } } // 经验 if (packet.HasCurExp) { playerDataPool.MainPlayerBaseAttr.Exp = packet.CurExp; if (_mainPlayer) { _mainPlayer.OnExpChange(); } //神器强化界面 if (EquipShenQiStrength.Instance() != null) { EquipShenQiStrength.Instance().UpdateExpShow(); } } if (packet.HasOffLineExp) { playerDataPool.MainPlayerBaseAttr.OffLineExp = packet.OffLineExp; if (null != _mainPlayer) { _mainPlayer.OnOffLineExpChange(); } } //体能 if (packet.HasCurStamina) { playerDataPool.MainPlayerBaseAttr.CurStamina = packet.CurStamina; if (LivingSkillLogic.Instance() != null) { LivingSkillLogic.Instance().UpdatePlayerStamina(); } } //金钱 if (packet.HasCurMoney) { playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_COIN, packet.CurMoney); #if UNITY_ANDROID // 台湾安卓渠道特有,提交金币排行榜数据 if (PlatformHelper.IsChannelTW()) { PlatformHelper.SubmitRankScore(Games.GlobeDefine.GameDefine_Globe.GOOGLEPLAY_RANK_TYPE.GOLD_COINS, packet.CurMoney); } #endif if (BackPackLogic.Instance()) { BackPackLogic.Instance().UpdateMoneyInfo(); } if (FlyWingRoot.Instance()) { FlyWingRoot.Instance().UpdateMoneyInfo(); } // if (SwordsManController.Instance() != null) // { // SwordsManController.Instance().UpdateCoin(); // } if (CangKuLogic.Instance()) { CangKuLogic.Instance().UpdateBackPack_Money(); } //神器强化界面 if (EquipShenQiStrength.Instance() != null) { EquipShenQiStrength.Instance().UpdateMoneyShow(); } if (GemLogic.Instance() != null) { GemLogic.Instance().UpdateMoneyInfo(); } if (null != GUIData.delMoneyChanged) { GUIData.delMoneyChanged(); } if (RestaurantController.Instance() != null) { RestaurantController.Instance().UpdateMoneyInfo(); } if (EquipStrengthenLogic.Instance() != null) { EquipStrengthenLogic.Instance().UpdateMoneyInfo(); } if (SkillLevelUpRoot.Instance() != null) { SkillLevelUpRoot.Instance().UpdateSkillInfo(); } } //元宝 if (packet.HasCurYuanBao) { playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_YUANBAO, packet.CurYuanBao); if (BackPackLogic.Instance()) { BackPackLogic.Instance().UpdateMoneyInfo(); } if (YuanBaoShopLogic.Instance()) { YuanBaoShopLogic.Instance().UpdateYuanBaoInfo(); } if (DailyLuckyDrawLogic.Instance()) { DailyLuckyDrawLogic.Instance().UpdateMoney(); } if (CangKuLogic.Instance()) { CangKuLogic.Instance().UpdateBackPack_Money(); } //神器强化界面 if (EquipShenQiStrength.Instance() != null) { EquipShenQiStrength.Instance().UpdateMoneyShow(); } if (null != GUIData.delMoneyChanged) { GUIData.delMoneyChanged(); } } //绑定元宝 if (packet.HasCurBDYuanBao) { playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_YUANBAO_BIND, packet.CurBDYuanBao); if (FashionLogic.Instance() != null) { FashionLogic.Instance().UpdateRuby(); } if (BackPackLogic.Instance()) { BackPackLogic.Instance().UpdateMoneyInfo(); } if (YuanBaoShopLogic.Instance()) { YuanBaoShopLogic.Instance().UpdateYuanBaoInfo(); } if (DailyLuckyDrawLogic.Instance()) { DailyLuckyDrawLogic.Instance().UpdateMoney(); } if (CangKuLogic.Instance()) { CangKuLogic.Instance().UpdateBackPack_Money(); } if (RestaurantController.Instance() != null) { RestaurantController.Instance().UpdateMoneyInfo(); } if (null != GUIData.delMoneyChanged) { GUIData.delMoneyChanged(); } } // if (packet.HasSwordsManScore) // { // playerDataPool.SwordsManScore = packet.SwordsManScore; // if (SwordsManController.Instance() != null) // { // SwordsManController.Instance().UpdateSwordsManScore(); // } // } if (packet.HasReputation) { playerDataPool.Reputation = packet.Reputation; } //是否在战斗状态 if (packet.HasIsInCombat && _mainPlayer != null) { bool oldCombat = _mainPlayer.InCombat; _mainPlayer.InCombat = (packet.IsInCombat == 1 ? true:false); if (!_mainPlayer.InCombat && oldCombat) { _mainPlayer.LastLeaveCombatTime = Time.time; } else if (_mainPlayer.InCombat && !oldCombat) { _mainPlayer.LastLeaveCombatTime = 0.0f; } } //经验 血 蓝 变化时 更新主角属性界面 if (packet.HasCurHp || packet.HasCurMp || packet.HasCurExp) { if (RoleViewLogic.Instance() != null) { RoleViewLogic.Instance().UpdateCurAttr(); } } if (packet.HasGuildDKP) { playerDataPool.GuildDKP = packet.GuildDKP; if (GuildShopLogic.Instance() != null) { GuildShopLogic.Instance().UpdateGuildDKP(); } } return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
public uint Execute(PacketDistributed ipacket) { GC_UPDATEITEM packet = (GC_UPDATEITEM)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } int packtype = packet.Packtype; int packindex = packet.Packindex; GameItemContainer.Type containertype = (GameItemContainer.Type)packtype; //取得物品容器 GameItemContainer Container = GameManager.gameManager.PlayerDataPool.GetItemContainer(containertype); if (Container != null) { //取得物品 GameItem item = Container.GetItem(packindex); if (item != null) { int nRawId = item.DataID; UInt64 RawGuidID = item.Guid; //ID item.DataID = packet.Dataid; //GUID item.Guid = packet.Guid; //绑定 if (packet.HasBindflag) { if (packet.Bindflag == 1) { item.BindFlag = true; } else { item.BindFlag = false; } } else { item.BindFlag = false; } //叠加数量 if (packet.HasStackcount) { item.StackCount = packet.Stackcount; } else { item.StackCount = 1; } //创建时间 item.CreateTime = packet.Createtime; //强化等级 if (packet.HasEnchancelevel) { item.EnchanceLevel = packet.Enchancelevel; } else { item.EnchanceLevel = 0; } //强化经验 if (packet.HasEnchanceexp) { item.EnchanceExp = packet.Enchanceexp; } else { item.EnchanceExp = 0; } //强化总经验 if (packet.HasEnctotaltexp) { item.EnchanceTotalExp = packet.Enctotaltexp; } else { item.EnchanceTotalExp = 0; } //打星等级 if (packet.HasStarlevel) { item.StarLevel = packet.Starlevel; } else { item.StarLevel = 0; } //打星次数 if (packet.HasStartimes) { item.StarTimes = packet.Startimes; } else { item.StarTimes = 0; } //动态参数 if (packet.HasDynamicdata1) { item.DynamicData[0] = packet.Dynamicdata1; } else { item.DynamicData[0] = 0; } if (packet.HasDynamicdata2) { item.DynamicData[1] = packet.Dynamicdata2; } else { item.DynamicData[1] = 0; } if (packet.HasDynamicdata3) { item.DynamicData[2] = packet.Dynamicdata3; } else { item.DynamicData[2] = 0; } if (packet.HasDynamicdata4) { item.DynamicData[3] = packet.Dynamicdata4; } else { item.DynamicData[3] = 0; } if (packet.HasDynamicdata5) { item.DynamicData[4] = packet.Dynamicdata5; } else { item.DynamicData[4] = 0; } if (packet.HasDynamicdata6) { item.DynamicData[5] = packet.Dynamicdata6; } else { item.DynamicData[5] = 0; } if (packet.HasDynamicdata7) { item.DynamicData[6] = packet.Dynamicdata7; } else { item.DynamicData[6] = 0; } if (packet.HasDynamicdata8) { item.DynamicData[7] = packet.Dynamicdata8; } else { item.DynamicData[7] = 0; } //装备属性浮动参数 if (packet.HasAttrfactor) { item.AttrFactor = packet.Attrfactor; } else { item.AttrFactor = GlobeVar.INVALID_ID; } //更新界面 switch (containertype) { //物品背包 case GameItemContainer.Type.TYPE_BACKPACK: { if (BackPackLogic.Instance() != null) { BackPackLogic.Instance().UpdateBackPack(); } //美人提示 BelleData.UpdateBelleItemTip(item.DataID, item.StackCount); BelleData.UpdateBelleEvoCountTip(item.DataID, item.StackCount); //宝石界面 if (GemLogic.Instance() != null) { GemLogic.Instance().UpdateGemItemList(); } //自动选择药 if (Singleton <ObjManager> .GetInstance().MainPlayer) { Singleton <ObjManager> .GetInstance().MainPlayer.UpdateSelectDrug(); //更新头顶图标信息 if (PlayerFrameLogic.Instance()) { PlayerFrameLogic.Instance().InitAutoFight(); } //自动出售 if (item.DataID != -1) { Singleton <ObjManager> .GetInstance().MainPlayer.UpdateSellItem(packindex); } } // 乾坤袋 if (QianKunDaiLogic.Instance() != null && QianKunDaiLogic.Instance().gameObject.activeSelf) { QianKunDaiLogic.Instance().HandleUpdateItemPacket(); } // 生活技能 if (LivingSkillLogic.Instance() != null) { LivingSkillLogic.Instance().HandleUpdateItem(); } //仓库界面 if (CangKuLogic.Instance() != null) { CangKuLogic.Instance().UpdateBackPack(); } //情人节收到的花 // if (FriendChooseLogic.RoseDataId0 == item.DataID) // { // if (null != Singleton<ObjManager>.Instance.MainPlayer && // Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(item)) // { // Singleton<ObjManager>.Instance.MainPlayer.UseItem(item); // } // // } //魅力道具 // if (FlowerEggWindow.CHARM_ITEM_ID == item.DataID) // { // if (null != Singleton<ObjManager>.Instance.MainPlayer && // Singleton<ObjManager>.Instance.MainPlayer.CheckUseItem(item)) // { // Singleton<ObjManager>.Instance.MainPlayer.UseItem(item); // } // // } // if (FlowerEggWindow.Instance() != null) // { // FlowerEggWindow.Instance().UpdateItemNum(); // } if (GongZhanTianXiaWindow.Instance() != null && GlobeVar.ZHANKUANGPAI_DATAID == item.DataID) { GongZhanTianXiaWindow.Instance().UpdateZhanKuangPaiCount(); } if (GongJiShopLogic.Instance() != null && GongJiShopLogic.ConsumItem_DataID == item.DataID) { GongJiShopLogic.Instance().UpDateGongJi(); } } break; //装备槽位 case GameItemContainer.Type.TYPE_EQUIPPACK: { if (BackPackLogic.Instance() != null) { BackPackLogic.Instance().UpdateEquipPack(); } if (RoleViewLogic.Instance() != null) { RoleViewLogic.Instance().UpdateEquipPack(); } //自动强化装备选择 if (Singleton <ObjManager> .GetInstance().MainPlayer && VipData.GetVipLv() >= GlobeVar.USE_AUTOFIGHT_VIPLEVEL && Singleton <ObjManager> .GetInstance().MainPlayer.BaseAttr.Level >= GlobeVar.MAX_AUTOEQUIT_LIVE) { if (RawGuidID == Singleton <ObjManager> .GetInstance().MainPlayer.AutoEquipGuid) { if (item.IsValid()) { Singleton <ObjManager> .GetInstance().MainPlayer.AutoEquipGuid = item.Guid; } else { Singleton <ObjManager> .GetInstance().MainPlayer.AutoEquipGuid = GlobeVar.INVALID_GUID; Singleton <ObjManager> .GetInstance().MainPlayer.UpdateSelectEquip(); } } } //神器强化界面 if (EquipShenQiStrength.Instance() != null) { EquipShenQiStrength.Instance().UpdateShenQiViewInfo(); } } break; case GameItemContainer.Type.TYPE_BUYBACKPACK: { SysShopController sysShop = UIControllerBase <SysShopController> .Instance(); if (sysShop != null) { sysShop.UpdateBuyBackItems(); } } break; } ; } } //enter your logic return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
public void SwapGems(GemLogic gem1, GemLogic gem2) { Debug.Log("Swapping"); var tmpPos = gem1.GetVectorPos(); gem1.SetPos(gem2.X, gem2.Y); gem2.SetPos((int) tmpPos.x, (int) tmpPos.y); _lastMovedGem1 = gem1; _lastMovedGem2 = gem2; Invoke("CheckReverseTurn", Constants.GemTransitionTime/2); _gameManager.SetAnimationState(Constants.GemTransitionTime); }
/// <summary> /// Пытается подвинуть гем на пустое место. Если клетка занята - вернет false /// </summary> public bool MoveGem(GemLogic gem, int x, int y) { var isMoved = false; if (GetGem(x, y) == null && IsFreeTile(x, y)){ gem.SetPos(x, y); isMoved = true; } return isMoved; }