Beispiel #1
0
        public DefaultStage(StageId stageId)
        {
            StageId = stageId;
            var stageInfo = StageInfo.FromStageId(stageId);

            if (stageInfo.MultiplayerStartPositions != null)
            {
                /* For Rose and Chaotix copy 1P and 2P spawns. */
                _startPositionsSingleInMultiplayer = new PinnedManagedObject <PositionStart[]>(new[]
                {
                    stageInfo.MultiplayerStartPositions->Player1Start,
                    stageInfo.MultiplayerStartPositions->Player2Start,
                    stageInfo.MultiplayerStartPositions->Player1Start,
                    stageInfo.MultiplayerStartPositions->Player2Start
                });
                StartPositions = (PositionStart *)_startPositionsSingleInMultiplayer.ObjectPtr;
            }
            else
            {
                if (stageInfo.StartPositions != null)
                {
                    StartPositions = &stageInfo.StartPositions->SonicStart;
                }
            }

            if (stageInfo.MultiplayerBragPositions != null)
            {
                BragPositions = &stageInfo.EndPositions->SonicEnd;
            }

            if (stageInfo.EndPositions != null)
            {
                EndPositions = &stageInfo.EndPositions->SonicEnd;
            }

            /* Replace any nulls with defaults. */
            if (StartPositions == null)
            {
                StartPositions = _defaultStartPositions.AsPointer <PositionStart>();
            }

            if (EndPositions == null)
            {
                EndPositions = _defaultEndPositions.AsPointer <PositionEnd>();
            }

            if (BragPositions == null)
            {
                BragPositions = _defaultEndPositions.AsPointer <PositionEnd>();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Obtains the pointers for a specific stage's start/ending/bragging positions for the given stage.
        /// </summary>
        public static StageInfo FromStageId(StageId stageId)
        {
            // Categorize the individual stage and decide if to take 1P or 2P path.
            StageTags.StageTag stageTags = StageTags.CategorizeStage((int)stageId);
            StageInfo          stageInfo = new StageInfo();

            // Check if 2 player to perform or 1 player.
            if (stageTags.HasFlag(StageTags.StageTag.TwoPlayer))
            {
                for (int x = 0; x < Pointers.MultiPlayerStartPointer.Count; x++)
                {
                    if (Pointers.MultiPlayerStartPointer[x].StageId == stageId)
                    {
                        stageInfo.MultiplayerStartPositions = (MultiplayerStart *)Pointers.MultiPlayerStartPointer.GetPointerToElement(x);
                        break;
                    }
                }

                for (int x = 0; x < Pointers.MultiPlayerBragPointer.Count; x++)
                {
                    if (Pointers.MultiPlayerBragPointer[x].StageId == stageId)
                    {
                        stageInfo.MultiplayerBragPositions = (MultiplayerBrag *)Pointers.MultiPlayerBragPointer.GetPointerToElement(x);
                        break;
                    }
                }
            }
            else
            {
                for (int x = 0; x < Pointers.SinglePlayerStartPointer.Count; x++)
                {
                    if (Pointers.SinglePlayerStartPointer[x].StageId == stageId)
                    {
                        stageInfo.StartPositions = (SingleplayerStart *)Pointers.SinglePlayerStartPointer.GetPointerToElement(x);
                        break;
                    }
                }
            }

            for (int x = 0; x < Pointers.BothPlayerEndPointer.Count; x++)
            {
                if (Pointers.BothPlayerEndPointer[x].StageId == stageId)
                {
                    stageInfo.EndPositions = (SingleplayerEnd *)Pointers.BothPlayerEndPointer.GetPointerToElement(x);
                    break;
                }
            }

            return(stageInfo);
        }
Beispiel #3
0
        void Start()
        {
            EnemyData = GetComponent <EnemyState> ();
            EnemyData.CurrentHealth = FullHealth;

            FlyAway = GetComponent <FlyAwayMoving> ();
            if (FlyAway == null)
            {
                FlyAway = gameObject.AddComponent <FlyAwayMoving> ();
            }

            if (transform.parent == null)
            {
                transform.parent = GameController.WorldRootObject.transform;
            }

            CurrentStage = StageId.JustCreated;
        }
    public override int GetHashCode()
    {
        int hash = 1;

        if (ParticipantId != 0L)
        {
            hash ^= ParticipantId.GetHashCode();
        }
        if (StageId != 0L)
        {
            hash ^= StageId.GetHashCode();
        }
        if (Score != 0D)
        {
            hash ^= Score.GetHashCode();
        }
        return(hash);
    }
Beispiel #5
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(base.ToString());

            Append(sb, "Type", Type, 1);
            Append(sb, "Stage Id", StageId.ToString(), 1);
            Append(sb, "Rank", Rank.ToString(), 1);
            Append(sb, "Rank After", RankAfter.ToString(), 1);

            Append(sb, "Features", "", 1);

            foreach (var feature in Features)
            {
                Append(sb, feature.Name, feature.EstimatedRankContribution().ToString(), 2);
            }

            return(sb.ToString());
        }
Beispiel #6
0
        void SwitchStage(StageId newstage)
        {
            switch (newstage)
            {
            case StageId.FlyAway:
                CurrentStage = newstage;
                FlyAway.Restart(transform);
                break;

            case StageId.TargetSelection:
                CurrentStage = newstage;
                StartCoroutine(FindPlayerToAttack());
                break;

            case StageId.Attack:
                CurrentStage = newstage;
                StartCoroutine(AttackTimer());
                break;
            }
        }
        public void BindData(BindType bindType)
        {
            var queryArgument = new QueryArgument(UserContext.DataBaseInfo)
            {
                Key       = StageId.ToString(),
                filter1   = Type,
                filter4   = bindType == BindType.List ? Constants.RetriveList : Constants.RetriveForm,
                FilterKey = Constants.TableWFComponents
            };
            var stageMasters = _controlPanel.GetStages(queryArgument);

            if (stageMasters != null)
            {
                if (bindType == BindType.Form)
                {
                    var firstOrDefault = stageMasters.FirstOrDefault();
                    if (firstOrDefault == null)
                    {
                        return;
                    }
                    StageId        = firstOrDefault.Id;
                    StageName      = firstOrDefault.Stage;
                    Link           = firstOrDefault.ActionLink;
                    Teams          = WebControls.SetCheckboxListSelectedItem(Teams, firstOrDefault.Relation1.SplitTo <string>(new string[] { Constants.DelimeterSinglePipe }).ToList());
                    ReferencesData = firstOrDefault.Referances.FirstOrDefault().WFCDesp == null ? new WFComponentSubs() : firstOrDefault.Referances;
                    SubLink        = firstOrDefault.Relation2;
                    uplForm.Update();
                }
                else
                {
                    GridViewTable.DataSource = stageMasters;
                    if (_newPageIndex >= 0)
                    {
                        GridViewTable.PageIndex = _newPageIndex;
                    }
                    GridViewTable.DataSource = stageMasters;
                    GridViewTable.DataBind();
                    UplView.Update();
                }
            }
        }
 public static void TransferToBattleWithUserBattleDef(StageId stage)
 {
     TransferToBattle(UserUtil.MakeBattleDef(stage));
 }
 public static Battle.BattleDef MakeBattleDef(StageId stage)
 {
     return new Battle.BattleDef(stage, Party._.MakeDef());
 }
Beispiel #10
0
 public override int GetHashCode()
 {
     return(StageId.GetHashCode());
 }
Beispiel #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string currentDateString = DateTime.Now.ToString("MM/dd/yyyy");

            CreatedDate.Value = currentDateString;
            UpdatedDate.Value = currentDateString;

            List <Branch>   branches     = IBranchService.GetData(0, 0, false);
            List <ListItem> branchesList = new List <ListItem>();

            branches.ForEach(obj => {
                branchesList.Add(new ListItem()
                {
                    Text  = obj.Code + " - " + obj.Name,
                    Value = obj.Id.ToString()
                });
            });

            BranchId.DataSource     = branchesList;
            BranchId.DataTextField  = "Text";
            BranchId.DataValueField = "Value";
            BranchId.DataBind();

            List <Department> departments     = IDepartmentService.GetData(0, 0, false);
            List <ListItem>   departmentsList = new List <ListItem>();

            departments.ForEach(obj => {
                departmentsList.Add(new ListItem()
                {
                    Text  = obj.Code + " - " + obj.Name,
                    Value = obj.Id.ToString()
                });
            });

            DepartmentId.DataSource     = departmentsList;
            DepartmentId.DataTextField  = "Text";
            DepartmentId.DataValueField = "Value";
            DepartmentId.DataBind();

            List <Stage>    stages     = IStageService.GetData(0, 0, false);
            List <ListItem> stagesList = new List <ListItem>();

            stages.ForEach(obj => {
                stagesList.Add(new ListItem()
                {
                    Text  = obj.Code + " - " + obj.Name,
                    Value = obj.Id.ToString()
                });
            });

            StageId.DataSource     = stagesList;
            StageId.DataTextField  = "Text";
            StageId.DataValueField = "Value";
            StageId.DataBind();
            Status.Value = "1";
            string idString = Request.QueryString["id"];

            if (idString != null && idString != "")
            {
                int   id  = Convert.ToInt32(idString);
                Batch obj = IBatchService.GetSingle(id);
                Id.Value          = obj.Id.ToString();
                BranchId.Value    = obj.BranchId.ToString();
                StageId.Value     = obj.StageId.ToString();
                BatchKey.Value    = obj.BatchKey;
                BatchNo.Value     = obj.BatchNo;
                BatchCount.Value  = obj.BatchCount.Value.ToString();
                BatchStatus.Value = obj.BatchStatus.ToString();
                Status.Value      = obj.Status.ToString();
            }
        }