コード例 #1
0
        public void SetRowCount(int value)
        {
            // set row count range 3 ~ 7
            value = Mathf.Clamp(value, 3, 7);
            //Debug.Log ("SetRowCount "+value.ToString ());
            RowCount = value;

            for (int x = 0; x < Reels.Count; ++x)
            {
                if ((Reels[x] == null) || (Reels[x].gameObject == null))
                {
                    continue;
                }

                for (int y = 0; y < Reels[x].Symbols.Length; ++y)
                {
                    if (Reels[x].Symbols[y] != null)
                    {
                        BEObjectPool.Unspawn(Reels[x].Symbols[y]);
                    }
                }

                Reels[x].Init(this, x);
            }
            RepositionSymbols();
        }
コード例 #2
0
        void UpdateMovement(float deltaTime)
        {
            fAge += deltaTime;

            // if life is over, unspawn
            if (fAge > fLife)
            {
                BEObjectPool.Unspawn(gameObject);
                return;
            }

            // set alpha by life ratio
            float fRatio = fAge / fLife;
            float fAlpha = Mathf.Clamp((1.0f - fRatio) * 3.0f, 0.0f, 1.0f);

            groupRoot.alpha = fAlpha;

            // keep move up
            vOffset += vSpeed * deltaTime;
            Vector3 vWorldPos  = trObject.position + vOffset;
            Vector3 vScreenPos = Camera.main.WorldToScreenPoint(vWorldPos);

            vScreenPos.z = 0;
            tr.position  = vScreenPos;
        }
コード例 #3
0
 public void SetPrefab(GameObject go)
 {
     prfab = go;
     if (go != null)
     {
         BEObjectPool.AddPoolItem(go, 20);
     }
 }
コード例 #4
0
ファイル: UISGReel.cs プロジェクト: pythonmq/SlotGame
        public void SymbolShiftDown(int addedValue)
        {
            SpinCount++;

            if (bWildFCExist && (SymbolFC == null) && (StopOffset == -1))
            {
                Symbol symbolFC = game.GetSymbolByType(SymbolType.WildFC);
                if (symbolFC != null)
                {
                    float yOffset = game.SymbolSizePlusMargin * (float)(game.RowCount - 1) * 0.5f;

                    GameObject go = BEObjectPool.Spawn(symbolFC.prfab);
                    go.transform.SetParent(tr);
                    go.transform.localScale    = Vector3.one;
                    go.transform.localPosition = SymbolPos[3] + new Vector3(0, yOffset, 0);
                    SymbolFC = go;
                    //Debug.Log ("SymbolFC Created Pos:"+SymbolPos[3]);
                }
                else
                {
                    Debug.Log("No Wild-FullColumn found!!!");
                }
            }

            if ((SymbolFC != null) && (SpinCount == game.RowCount))
            {
                BEObjectPool.Unspawn(SymbolFC);
                SymbolFC = null;
            }

            for (int y = 0; y < game.RowCount + 1; ++y)
            {
                if (y == 0)
                {
                    BEObjectPool.Unspawn(Symbols[0]);
                    //Destroy(Symbols[0]);
                }

                if (y == game.RowCount)
                {
                    Symbols[y] = null;
                    SetSymbol(y, addedValue);
                }
                else
                {
                    Symbols[y] = Symbols[y + 1];
                }

                Symbols[y].transform.localPosition = SymbolPos[y];
                Symbols[y].name = "Symbol" + y.ToString();
            }

            if (SymbolFC != null)
            {
                SymbolFC.transform.SetAsLastSibling();
            }
        }
コード例 #5
0
ファイル: UIInGame.cs プロジェクト: Tracydrr/Tracydrr
        public void RemoveInGameUI(Transform trObject)
        {
            int idx = InGameUIs.FindIndex(x => x.trObject == trObject);

            if (idx != -1)
            {
                InGameUI newDU = InGameUIs[idx];
                BEObjectPool.Unspawn(newDU.trUI.gameObject);
                InGameUIs.RemoveAt(idx);
                newDU = null;
            }
        }
コード例 #6
0
ファイル: UIInGame.cs プロジェクト: Tracydrr/Tracydrr
        // add healthbar ui
        public GameObject AddInGameUI(GameObject prefab, Transform trObject, Vector3 vOffset)
        {
            InGameUI newDU = new InGameUI();

            newDU.trObject = trObject;
            newDU.vOffset  = vOffset;
            newDU.trUI     = BEObjectPool.Spawn(prefab, InGameUIRoot, new Vector3(1000, 1000, 1000), Quaternion.identity).transform;
            newDU.depth    = 0;
            InGameUIs.Add(newDU);
            newDU.trUI.localScale = new Vector3(1, 1, 1);

            return(newDU.trUI.gameObject);
        }
コード例 #7
0
ファイル: UISGReel.cs プロジェクト: pythonmq/SlotGame
        public void Init(SlotGame script, int x)
        {
            tr   = transform;
            game = script;            //tr.parent.GetComponent<SlotGame>();
            ID   = x;

            Symbols     = new GameObject[game.RowCount + 1];
            SymbolPos   = new Vector3[game.RowCount + 1];
            FinalValues = new int[game.RowCount];
            for (int y = 0; y < game.RowCount + 1; ++y)
            {
                GameObject go = BEObjectPool.Spawn(game.Symbols[0].prfab);
                go.transform.SetParent(tr);
                go.transform.localPosition = Vector3.zero;
                go.transform.localScale    = Vector3.one;
                go.name    = "Symbol" + y.ToString();
                Symbols[y] = go;
            }
        }
コード例 #8
0
        public void SetReelCount(int value)
        {
            // set reel count range 3 ~ 10
            value = Mathf.Clamp(value, 3, 10);
            //Debug.Log ("SetReelCount "+value.ToString ());
            for (int x = 0; x < Reels.Count; ++x)
            {
                if ((Reels[x] == null) || (Reels[x].gameObject == null))
                {
                    continue;
                }

                for (int y = 0; y < Reels[x].Symbols.Length; ++y)
                {
                    if (Reels[x].Symbols[y] != null)
                    {
                        BEObjectPool.Unspawn(Reels[x].Symbols[y]);
                    }
                }
                DestroyImmediate(Reels[x].gameObject);
            }
            Reels.Clear();

            for (int x = 0; x < value; ++x)
            {
                GameObject go = new GameObject("Reel" + x.ToString());
                go.AddComponent <RectTransform>();
                go.transform.SetParent(transform);
                go.transform.localPosition = Vector3.zero;
                go.transform.localScale    = Vector3.one;

                UISGReel reel = go.AddComponent <UISGReel>();
                reel.Init(this, x);
                Reels.Add(reel);
            }
            RepositionSymbols();
        }
コード例 #9
0
ファイル: UISGReel.cs プロジェクト: pythonmq/SlotGame
        public void SetSymbol(int y, int Value)
        {
            if (Symbols[y] != null)
            {
                BEObjectPool.Unspawn(Symbols[y]);
            }

            //Debug.Log ("SetSymbol y:"+y+" Value:"+Value);
            Symbol newSymbol = game.GetSymbol(Value);

            //Debug.Log ("newSymbol "+newSymbol);
            if (newSymbol.type == SymbolType.WildFC)
            {
                newSymbol = game.GetSymbolByType(SymbolType.Wild);
            }

            GameObject go = BEObjectPool.Spawn(newSymbol.prfab);

            //Debug.Log ("go "+go);
            go.transform.SetParent(tr);
            go.transform.localScale    = Vector3.one;
            go.transform.localPosition = SymbolPos[y];
            Symbols[y] = go;
        }