コード例 #1
0
    // ----------------------------------------------------------------
    //  Gizmos
    // ----------------------------------------------------------------
    //	private void OnDrawGizmos() {
    //		if (myButtons==null) { return; }
    //		Gizmos.color = Color.Lerp(Color.white, bodyColor, 0.5f);
    //		foreach (GateButton button in myButtons) {
    //			if (button==null) { continue; }
    //			Gizmos.DrawLine(this.transform.position, button.transform.position);
    //		}
    //	}


    // ----------------------------------------------------------------
    //  Initialize
    // ----------------------------------------------------------------
    public void Initialize(Room _myRoom, GateData data)
    {
        base.BaseGroundInitialize(_myRoom, data);

        channelID = data.channelID;
        bodyColor = MyChannel.Color;
        SetIsOn(!MyChannel.IsUnlocked);
    }
コード例 #2
0
 public void Add(int MapIdx, GateData _Gate)
 {
     if (!this.m_dGateList.ContainsKey(MapIdx))
     {
         this.m_dGateList.Add(MapIdx, new List <GateData>());
     }
     this.m_dGateList[MapIdx].Add(_Gate);
 }
コード例 #3
0
    // ----------------------------------------------------------------
    //  Serializing
    // ----------------------------------------------------------------
    override public PropData ToData()
    {
        GateData data = new GateData {
            pos             = pos,
            size            = Size(),
            mayPlayerEat    = MayPlayerEatHere,
            isPlayerRespawn = IsPlayerRespawn,
            channelID       = channelID,
            travelMind      = new TravelMindData(travelMind),
        };

        return(data);
    }
コード例 #4
0
ファイル: Gate.cs プロジェクト: eugenelepekhin/LogicCircuit
        // Constructor
        public GateSet(CircuitProject store)
        {
            ITableSnapshot table = store.Table("Gate");

            if (table != null)
            {
                Debug.Assert(store.IsFrozen, "The store should be frozen");
                this.Table = (TableSnapshot <GateData>)table;
            }
            else
            {
                Debug.Assert(!store.IsFrozen, "In order to create table, the store should not be frozen");
                this.Table = GateData.CreateTable(store);
            }
            this.InitializeGateSet();
        }
コード例 #5
0
ファイル: NrMapLinker.cs プロジェクト: parikharsh/GLOH_Source
    public void MakeMapLink()
    {
        ICollection mapInfo_Col = NrTSingleton <NrBaseTableManager> .Instance.GetMapInfo_Col();

        foreach (MAP_INFO mAP_INFO in mapInfo_Col)
        {
            Map        map    = new Map();
            Map.Record record = new Map.Record(mAP_INFO.MAP_INDEX);
            map.SetRecord(record);
            GATE_INFO[] gateInfo = mAP_INFO.GetGateInfo();
            GATE_INFO[] array    = gateInfo;
            for (int i = 0; i < array.Length; i++)
            {
                GATE_INFO gATE_INFO = array[i];
                map.InsertLinkMapUnique(gATE_INFO.DST_MAP_IDX);
                GateData gate = new GateData(gATE_INFO.DST_MAP_IDX, new Vector2(gATE_INFO.SRC_POSX, gATE_INFO.SRC_POSZ));
                this.m_kGateMgr.Add(mAP_INFO.MAP_INDEX, gate);
            }
            this.AddMap(map);
        }
    }
コード例 #6
0
ファイル: Gate.cs プロジェクト: eugenelepekhin/LogicCircuit
        // Creates Gate wrapper
        private Gate CreateItem(
            // Fields of Gate table
            Guid GateId
            // Fields of Circuit table

            )
        {
            TableSnapshot <CircuitData> tableCircuit = (TableSnapshot <CircuitData>) this.CircuitProject.Table("Circuit");
            CircuitData dataCircuit = new CircuitData()
            {
                CircuitId = GateId
            };
            RowId rowIdCircuit = tableCircuit.Insert(ref dataCircuit);

            GateData dataGate = new GateData()
            {
                GateId = GateId,
            };

            return(this.Create(this.Table.Insert(ref dataGate), rowIdCircuit));
        }
コード例 #7
0
 private static void ValidateGateData(GateData data)
 {
     Assert.Equal(90f, MathF.RadToDeg(data.AngleMax));
     Assert.Equal(0f, MathF.RadToDeg(data.AngleMin));
     Assert.Equal(769f, data.Center.X);
     Assert.Equal(1019f, data.Center.Y);
     Assert.Equal(0.92958f, data.Damping);
     Assert.Equal(0.1348f, data.Elasticity);
     Assert.Equal(0.1983f, data.Friction);
     Assert.Equal(GateType.GatePlate, data.GateType);
     Assert.Equal(0.2198f, data.GravityFactor);
     Assert.Equal(123.42f, data.Height);
     Assert.Equal(true, data.IsCollidable);
     Assert.Equal(true, data.IsReflectionEnabled);
     Assert.Equal(true, data.IsVisible);
     Assert.Equal(40.12f, data.Length);
     Assert.Equal("Red", data.Material);
     Assert.Equal(-72.212f, data.Rotation);
     Assert.Equal(true, data.ShowBracket);
     Assert.Equal("", data.Surface);
     Assert.Equal(true, data.TwoWay);
 }
コード例 #8
0
    public void Show(Transform parentTransform = null)
    {
        CPDataEntityCollection cPDataEntityCollection = Service.Get <CPDataEntityCollection>();

        if (!cPDataEntityCollection.TryGetComponent(cPDataEntityCollection.LocalPlayerHandle, out gateData))
        {
            gateData            = cPDataEntityCollection.AddComponent <GateData>(cPDataEntityCollection.LocalPlayerHandle);
            gateData.GateStatus = new Dictionary <Type, bool>();
        }
        bool value = false;

        gateData.GateStatus.TryGetValue(GetType(), out value);
        this.parentTransform = parentTransform;
        if (value)
        {
            Continue();
        }
        else
        {
            initializePopup(GateContentKey);
        }
    }
コード例 #9
0
 private static void ValidateGateData(GateData data)
 {
     MathF.RadToDeg(data.AngleMax).Should().Be(90f);
     MathF.RadToDeg(data.AngleMin).Should().Be(0f);
     data.Center.X.Should().Be(769f);
     data.Center.Y.Should().Be(1019f);
     data.Damping.Should().Be(0.92958f);
     data.Elasticity.Should().Be(0.1348f);
     data.Friction.Should().Be(0.1983f);
     data.GateType.Should().Be(GateType.GatePlate);
     data.GravityFactor.Should().Be(0.2198f);
     data.Height.Should().Be(123.42f);
     data.IsCollidable.Should().Be(true);
     data.IsReflectionEnabled.Should().Be(true);
     data.IsVisible.Should().Be(true);
     data.Length.Should().Be(40.12f);
     data.Material.Should().Be("Red");
     data.Rotation.Should().Be(-72.212f);
     data.ShowBracket.Should().Be(true);
     data.Surface.Should().Be("");
     data.TwoWay.Should().Be(true);
 }
コード例 #10
0
        protected void OnBroadcastEntryGateNumOfPlayerData(Message msg)
        {
            //这里其实可以不需要消息内容,只需要和PlayerData中维护的入口数据同步即可
            entryNum = playerData.playerZoo.numEntryGate;
            var entryGateLists = playerData.GetEntryDateDataIDIndexOfDataIdx().entryGateList;

            for (int i = 0; i < entryGateLists.Count; i++)
            {
                GateData  entryGateData = entryGateLists[i];
                EntryGate entryGate     = null;
                if (!entryGates.TryGetValue(entryGateData.entryID, out entryGate))
                {
                    var cell         = Config.ticketConfig.getInstace().getCell(entryGateData.entryID);
                    int checkInCDVal = GetCheckinCDValMs(entryGateData.entryID, 1);
                    entryGate = new EntryGate(entryGateData.entryID, 1, checkInCDVal, cell.touristwalkinto, cell.maxnumofperqueue, playerData.playerZoo.currSceneID);
                    this.entryGates.Add(entryGateData.entryID, entryGate);
                }
            }
            // 需要 设置对应的售票口的显隐
            var _msg      = msg as SetValueOfPlayerData;
            int subscript = GetPresentSceneTicketCell(_msg.deltaVal);

            HideEntryGateForbidGameObject(subscript);
        }
コード例 #11
0
        /// <summary>
        /// 根据用户数据获取任务进度
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        public int ResolveTaskProgress(int taskId)
        {
            Config.missionCell missionCell = GetTaskCell(taskId);
            if (missionCell == null)
            {
                return(0);
            }
            TaskType taskType = missionCell.ParseTaskType();

            if (taskType == TaskType.AdWatch || taskType == TaskType.LittleZooVisit)
            {
                return(0);
            }

            if (taskType == TaskType.LittleZooLevelup)
            {
                int litzooId = missionCell.GetLittleZooId();
                LittleZooModuleDataMSS litzooData = null;
                try { litzooData = playerData.GetLittleZooModuleData(litzooId); }
                catch (Exception e) { string.Format("动物栏[{0}]还未开启", litzooId); }

                if (litzooData != null)
                {
                    LittleZooProperty zooProp = missionCell.ParseLittleZooProperty();
                    if (zooProp == LittleZooProperty.TicketPrice)
                    {
                        return(litzooData.littleZooTicketsLevel);
                    }
                    else if (zooProp == LittleZooProperty.Capacity)
                    {
                        return(litzooData.littleZooVisitorSeatLevel);
                    }
                    else if (zooProp == LittleZooProperty.VisitSpeed)
                    {
                        return(litzooData.littleZooEnterVisitorSpawnLevel);
                    }
                }
                return(0);
            }
            else if (taskType == TaskType.ParkingLevelup)
            {
                ParkingProperty parkProp = missionCell.ParseParkingProperty();
                if (parkProp == ParkingProperty.Revenue)
                {
                    return(playerData.GetParkingCenterDataIDIndexOfDataIdx().parkingProfitLevel);
                }
                else if (parkProp == ParkingProperty.Capacity)
                {
                    return(playerData.GetParkingCenterDataIDIndexOfDataIdx().parkingSpaceLevel);
                }
                else if (parkProp == ParkingProperty.VisitorFlowSpeed)
                {
                    return(playerData.GetParkingCenterDataIDIndexOfDataIdx().parkingEnterCarSpawnLevel);
                }
            }
            else if (taskType == TaskType.EntryGateLevelup)
            {
                EntryGateProperty entryProp = missionCell.ParseEntryGateProperty();
                if (entryProp == EntryGateProperty.TicketPrice)
                {
                    return(playerData.GetEntryDateDataIDIndexOfDataIdx().entryTicketsLevel);
                }
                else if (entryProp == EntryGateProperty.Entrance)
                {
                    GateData entryData = null;
                    int      entryId   = missionCell.GetEntryGateId();
                    try { entryData = playerData.GetEntryGateIDIndexOfDataIdx(entryId); }
                    catch (Exception e) { string.Format("售票口[{0}]还未开启", entryId); }

                    return(entryData != null ? entryData.level : 0);
                }
            }
            return(0);
        }
        /// <summary>
        /// 设置入口数量
        /// </summary>
        /// <param name="msg"></param>
        protected void OnSetEntryGateNumOfPlayerData(Message msg)
        {
            var _msg = msg as SetValueOfPlayerData;

            //var sortGateIDs = GlobalDataManager.GetInstance().playerData.playerZoo.GetSortTicketConfigGateIDs();
            //int sceneID = GlobalDataManager.GetInstance().playerData.playerZoo.currSceneID;
            var entryGateList   = playerData.GetEntryDateDataIDIndexOfDataIdx().entryGateList;
            int number          = entryGateList.Count - 1;
            int currLastEntryID = entryGateList[number].entryID;
            int idx             = sortGateIDs.IndexOf(currLastEntryID);

#if UNITY_EDITOR
            if (idx < 0)
            {
                //string e = string.Format("设置入口开启异常! 原来{0} 增加 {1}", playerData.playerZoo.numEntryGate, _msg.deltaVal);
                //throw new System.Exception(e);
            }
#endif
            //已经开完了。
            if (idx == sortGateIDs.Count - 1)
            {
                return;
            }
            int entryID = 0;
            for (int i = idx + 1; i < idx + 1 + _msg.deltaVal; i++)
            {
                int subscript     = this.playerData.GetSceneIDGoToEntryDataListSubscript();
                var entryGateData = new GateData
                {
                    entryID = sortGateIDs[i],
                    level   = 1
                };
                entryID = sortGateIDs[i];

                this.playerData.playerZoo.entryGateList_MS[subscript].entryGateList.Add(entryGateData);
            }

            this.playerData.playerZoo.numEntryGate += _msg.deltaVal;


            //开启扣钱
            var        parce    = Config.ticketConfig.getInstace().getCell(idx).number;
            BigInteger bigDelta = BigInteger.Parse(parce);
            //bool retCode = VaryDataCoin(bigDelta);
            //if (!retCode)
            //{
            //    string e = string.Format("售票口开启扣钱失败");
            //    throw new System.Exception(e);
            //    return;
            //}
            ////广播金钱变化
            //BroadcastValueOfPlayerData.Send((int)GameMessageDefine.BroadcastCoinOfPlayerData,
            //0, 0, BigInteger.Parse(GlobalDataManager.GetInstance().playerData.playerZoo.coin), bigDelta);

            if (!playerData.playerZoo.playerCoin.WarpAddCoin(playerData, -bigDelta))
            {
                return;
            }

            //广播新开启了几个入口
            SetValueOfPlayerData.Send((int)GameMessageDefine.BroadcastEntryGateNumOfPlayerData, entryID, 0, _msg.channelID);
        }
コード例 #13
0
        /// <summary>
        /// Creates the data for the specified row.
        /// </summary>
        /// <param name="Row">The row.</param>
        internal Data Create(Row Row)
        {
            Data Data;

            switch (this.Index)
            {
            case 1:
            {
                Data = new LocaleData(Row, this);
                break;
            }

            case 2:
            {
                Data = new GlobalData(Row, this);
                break;
            }

            case 3:
            {
                Data = new BillingPackageData(Row, this);
                break;
            }

            case 4:
            {
                Data = new AchievementData(Row, this);
                break;
            }

            case 5:
            {
                Data = new Data(Row, this);
                break;
            }

            case 6:
            {
                Data = new SoundData(Row, this);
                break;
            }

            case 7:
            {
                Data = new EffectData(Row, this);
                break;
            }

            case 8:
            {
                Data = new ParticleEmitterData(Row, this);
                break;
            }

            case 9:
            {
                Data = new ResourceData(Row, this);
                break;
            }

            case 10:
            {
                Data = new PuzzleData(Row, this);
                break;
            }

            case 11:
            {
                Data = new BlockData(Row, this);
                break;
            }

            case 12:
            {
                Data = new MonsterData(Row, this);
                break;
            }

            case 14:
            {
                Data = new LevelData(Row, this);
                break;
            }

            case 15:
            {
                Data = new TutorialData(Row, this);
                break;
            }

            case 16:
            {
                Data = new HeroData(Row, this);
                break;
            }

            case 17:
            {
                Data = new BoostData(Row, this);
                break;
            }

            case 18:
            {
                Data = new AttackTypeData(Row, this);
                break;
            }

            case 19:
            {
                Data = new SpecialMoveData(Row, this);
                break;
            }

            case 20:
            {
                Data = new PlaylistData(Row, this);
                break;
            }

            case 21:
            {
                Data = new ProjectileData(Row, this);
                break;
            }

            case 22:
            {
                Data = new MatchPatternData(Row, this);
                break;
            }

            case 23:
            {
                Data = new FacebookErrorData(Row, this);
                break;
            }

            case 24:
            {
                Data = new GateData(Row, this);
                break;
            }

            default:
            {
                Data = new Data(Row, this);
                break;
            }
            }

            return(Data);
        }
コード例 #14
0
 // ----------------------------------------------------------------
 //  Initialize
 // ----------------------------------------------------------------
 public void Initialize(Level myLevel, GateData data)
 {
     BaseInitialize(myLevel, data);
     Size      = data.size;
     channelID = data.channelID;
 }
コード例 #15
0
//	// ----------------------------------------------------------------
//	//  Gizmos
//	// ----------------------------------------------------------------
//	private void OnDrawGizmos() {
//		if (myButtons==null) { return; }
////		Gizmos.color = Color.Lerp(Color.white, BodyColor, 0.5f);
//		foreach (GateButton button in myButtons) {
//			if (button==null) { continue; }
//			Gizmos.DrawLine(this.transform.position, button.transform.position);
//		}
//	}



    // ----------------------------------------------------------------
    //  Serialize
    // ----------------------------------------------------------------
    new public GateData SerializeAsData()
    {
        GateData data = new GateData(pos, Size, channelID);

        return(data);
    }