public CrossGate() { Player = new Role(this); SpeedFight = new SpeedFight(this); SpeedUp = new SpeedUp(this); Movement = new Movement(this); Bag = new Bag(this); Calls = new Calls(this); AutoFight = new AutoFight(this); FuntionThread = new FuntionThread(this); Pet = new Pet[5] { new Pet(this, 0), new Pet(this, 1), new Pet(this, 2), new Pet(this, 3), new Pet(this, 4) }; Scripts = new Scripts(this); }
public PowerUp getPowerUp(PowerUpList chosenPowerUpID) { PowerUp chosenPowerUp = null; switch (chosenPowerUpID) { case PowerUpList.SlowDown: chosenPowerUp = new SlowDown(10); break; case PowerUpList.SpeedUp: chosenPowerUp = new SpeedUp(10); break; case PowerUpList.Warp: chosenPowerUp = new Warp(10); break; case PowerUpList.IceyPlayer: chosenPowerUp = new IceyPlayer(10); break; case PowerUpList.ObjectSpawnPowerUp: chosenPowerUp = new ObjectSpawnPowerUp(10); break; case PowerUpList.Pull: chosenPowerUp = new Pull(10); break; case PowerUpList.Push: chosenPowerUp = new Push(10); break; case PowerUpList.Bigger: chosenPowerUp = new Bigger(10); break; case PowerUpList.Smaller: chosenPowerUp = new Smaller(10); break; case PowerUpList.OrbitingShield: chosenPowerUp = new OrbitingShield(10); break; } return chosenPowerUp; }
public void generateBonus() { if (bonus.Count < maxBonus) { if (random.Next(0, 80 + (int)(distance / 1000 * 0.05f * 80)) == 10) { Bonus newBonus; int rand = random.Next(0, 11); if (rand < 3) { newBonus = new MediKit(size_window, this); } else if(rand < 6) { newBonus = new Invulnerability(size_window, this); } else if (rand < 8) { newBonus = new SpeedDown(size_window, this); } else if (rand < 10) { newBonus = new SpeedUp(size_window, this); } else { newBonus = new GameJam(size_window, this); } newBonus.LoadContent(content); Vector2 pos = new Vector2((int)size_window.X, random.Next(70, (int)(size_window.Y - newBonus.texture.Height - 70))); newBonus.position = pos; bonus.Add(newBonus); } } }
//public override Item getItemObject(Player player) { // SpeedUp.print("generate SpeedUp Item"); // Item item = new SpeedUpItem(player); // return item; //} public override string getItemObject() { SpeedUp.print("generate SpeedUp Item"); return("SpeedUpItem"); }
void Awake() { _instance = this; }
// Use this for initialization void Start() { bGameStart = false; // 最初は処理しない bKami = false; CameraChangeFlg = false; // スクリプトの取得 PuzzleMain_cs = GameObject.Find("PuzzleMain").GetComponent <PuzzleMain>(); Playerspown_cs = GameObject.Find("Playerspown").GetComponent <playerspown>(); switch (StageNumber) { case 1: Enemyspown_1_cs = GameObject.Find("EnemySpown").GetComponent <EnemySpown_S1>(); EnemyCnt = 5; break; case 2: Enemyspown_2_cs = GameObject.Find("EnemySpown").GetComponent <EnemySpown_S2>(); EnemyCnt = 6; break; case 3: Enemyspown_3_cs = GameObject.Find("EnemySpown").GetComponent <EnemySpown_S3>(); EnemyCnt = 10; break; case 4: Enemyspown_4_cs = GameObject.Find("EnemySpown").GetComponent <EnemySpown_S4>(); EnemyCnt = 3; break; case 5: Enemyspown_5_cs = GameObject.Find("EnemySpown").GetComponent <EnemySpown_S5>(); EnemyCnt = 6; break; } Pause_cs = GameObject.Find("Pause").GetComponent <Pause> (); SpeedUp_cs = GameObject.Find("SpeedUp").GetComponent <SpeedUp> (); // リスト作成 Player_csList = new List <Player>(); Enemy_csList = new List <Enemy>(); //音のロード Sound.LoadSe("SE_Mis", "Mis_SE"); Sound.LoadSe("SE_Hit", "Hit_SE"); Sound.LoadSe("loose", "SE_Lose"); Sound.LoadSe("SlideMove", "SE_PuzzleMove"); Sound.LoadBgm("Stage_BGM", "GAME_BGM"); Sound.LoadSe("Clear", "SE_clear"); Sound.LoadSe("Attention", "SE_Attention"); Sound.LoadSe("Signal", "SE_Signal"); Sound.LoadSe("Start", "SE_Start"); Sound.LoadSe("Boko", "SE_Boko"); Sound.LoadSe("tetele", "SE_tetele"); Sound.LoadSe("MeFly", "SE_MeFly"); //Sound.PlaySe ("Fly");] EnemyEndFlg = false; PlayerEndFlg = false; }
void SetupGame(Boolean reset) { // Reset the game if the user goes back to the main menu, else advance to the next level. if (reset) { died = false; won = false; playerObject.Reset(true); if (level < 3) { ghost1.Reset(true); } else if (level < 5) { ghost1.Reset(true); ghost2.Reset(true); ghost2.gameObject.SetActive(false); } else if (level < 7) { ghost1.Reset(true); ghost2.Reset(true); ghost3.Reset(true); ghost2.gameObject.SetActive(false); ghost3.gameObject.SetActive(false); } else { ghost1.Reset(true); ghost2.Reset(true); ghost3.Reset(true); ghost4.Reset(true); ghost2.gameObject.SetActive(false); ghost3.gameObject.SetActive(false); ghost4.gameObject.SetActive(false); } level = 1; } else { level++; won = false; died = false; playerObject.Reset(false); if (level == 3) { ghost2.gameObject.SetActive(true); ghost2.Start(); } else if (level == 5) { ghost3.gameObject.SetActive(true); ghost3.Start(); } else if (level == 7) { ghost4.gameObject.SetActive(true); ghost4.Start(); } if (level < 3) { ghost1.Reset(false); } else if (level < 5) { ghost1.Reset(false); ghost2.Reset(false); } else if (level < 7) { ghost1.Reset(false); ghost2.Reset(false); ghost3.Reset(false); } else { ghost1.Reset(false); ghost2.Reset(false); ghost3.Reset(false); ghost4.Reset(false); } } foreach (var pellet in pellets) { Pellet pelletObject = pellet.GetComponent <Pellet>(); pelletObject.Start(); } foreach (var powerup in powerups) { Powerup powerupObject = powerup.GetComponent <Powerup>(); powerupObject.Start(); } foreach (var speedup in speedups) { SpeedUp speedupObject = speedup.GetComponent <SpeedUp>(); speedupObject.Start(); } foreach (var doublepoint in doublepoints) { DoublePoints doublepointObject = doublepoint.GetComponent <DoublePoints>(); doublepointObject.Start(); } }
void ServerEvent(ClientSyncEvent _event) { //Debug.Log("animId : " + _event.animId + " 送出的 ID : " + _event.connectionId + " MYID : " + MyID + " : " + AllPlayerControl.Count); if (_event.animId == 0) { #region 建立角色 PlayerControl control = null; if (AllPlayerControl.ContainsKey(_event.connectionId)) { control = AllPlayerControl[_event.connectionId]; } else { control = Instantiate <PlayerControl>(PlayerControlPrefab); control.gameObject.name = "PlayerID : " + _event.connectionId; if (_event.connectionId == MyID) { control.InitInput(); } control.ModelType = _event.isLucky ? PlayerControl.PlayerType.Cat : PlayerControl.PlayerType.Ghost; control.InitPoint(_event.mapping); AllPlayerControl.Add(_event.connectionId, control); } //建立 場上還沒出來的角色 GameObject model = null; if (AllPlayer.ContainsKey(_event.connectionId)) { model = AllPlayer[_event.connectionId].gameObject; } else { model = PlayerLoader.Instance.CreatePlayer(_event.catId); } if (model != null && control != null) { control.ConnectionId = _event.connectionId; control.ControlModel = model; control.ModelType = _event.isLucky ? PlayerControl.PlayerType.Cat : PlayerControl.PlayerType.Ghost; control.gameObject.layer = LayerMask.NameToLayer("Ignore Raycast"); model.transform.SetParent(control.transform, false); model.transform.localPosition = Vector3.zero; var player = model.GetComponent <Player>(); control.ModelControl = player; control.NowControlType = PlayerControl.ControlType.Move; if (AllPlayer.ContainsKey(_event.connectionId) == false) { AllPlayer.Add(_event.connectionId, player); } player.ChangeModel(control.ModelType); } #endregion } //每次 Send 都會檢查 if (_event.animId != 0 && AllPlayerControl.ContainsKey(_event.connectionId) && AllPlayer.ContainsKey(_event.connectionId)) { int nowCatID = -1; #region 檢查 交替 //尋找目前場上的貓 foreach (var player in AllPlayerControl) { if (player.Value.ModelType == PlayerControl.PlayerType.Cat) { nowCatID = player.Key; break; } } int newCatID = _event.isLucky ? _event.connectionId : nowCatID; bool isChange = nowCatID != newCatID; //if (isChange) // Debug.Log("目前的貓ID : " + nowCatID + " 新貓ID : " + _event.connectionId + " MYID : " + MyID); if (isChange) { PlayerControl newCatControl = AllPlayerControl[_event.connectionId]; PlayerControl nowCatControl = AllPlayerControl[nowCatID]; { #region 鬼 => 貓 //讓貓繼承 原本的路徑方向 繼續跑 Vector3 catPos = nowCatControl.transform.position; Vector3 catforward = nowCatControl.transform.forward; if (nowCatControl.IsAI && nowCatControl.gameObject.activeInHierarchy) { nowCatControl.gameObject.SetActive(false); AllPlayerControl.Remove(-1); } //讓鬼 接著貓的路徑繼續奔跑 newCatControl.ModelType = PlayerControl.PlayerType.Cat; newCatControl.transform.position = catPos; newCatControl.transform.forward = catforward; newCatControl.ChangeCD = Time.time + 3f; AllPlayer[newCatID].ChangeModel(PlayerControl.PlayerType.Cat); ShowDieEffect.Instance.CatShowDieEffect(newCatControl.transform); #endregion } { #region 貓 => 鬼 if (nowCatControl.IsAI == false) { nowCatControl.transform.position = _event.running; nowCatControl.transform.forward = _event.runningForward; nowCatControl.ModelType = PlayerControl.PlayerType.Ghost; nowCatControl.InitPoint(_event.mapping - 1); nowCatControl.NowControlType = PlayerControl.ControlType.Move; AllPlayer[nowCatID].ChangeModel(PlayerControl.PlayerType.Ghost); } #endregion } #endregion } } if (_event.animId == 1) { if (AllPlayerControl.ContainsKey(_event.connectionId) && AllPlayer.ContainsKey(_event.connectionId)) { AllPlayer[_event.connectionId].Turn(); AllPlayerControl[_event.connectionId].NowControlType = PlayerControl.ControlType.Move; AllPlayerControl[_event.connectionId].Clockwise = _event.mapping == 1; if (_event.runningForward != Vector3.zero) { AllPlayerControl[_event.connectionId].transform.forward = _event.runningForward; } } } if (_event.animId == 2) { if (AllPlayerControl.ContainsKey(_event.connectionId) && AllPlayer.ContainsKey(_event.connectionId)) { AllPlayer[_event.connectionId].Move(); if (_event.connectionId != MyID) { AllPlayerControl[_event.connectionId].NowControlType = PlayerControl.ControlType.Rotate; } } } if (_event.animId == 3) { if (AllPlayerControl.ContainsKey(_event.connectionId) && AllPlayer.ContainsKey(_event.connectionId)) { if (_event.isLucky) { AllPlayerControl[_event.connectionId].transform.position = _event.running; AllPlayerControl[_event.connectionId].transform.forward = _event.runningForward; SpeedUp.Attach(AllPlayerControl[_event.connectionId].gameObject); } else { if (_event.connectionId != MyID) { AllPlayer[_event.connectionId].Attack(); AllPlayerControl[_event.connectionId].OBTimer = _event.fvaule; AllPlayerControl[_event.connectionId].RunFinalPoint = _event.running; AllPlayerControl[_event.connectionId].NowControlType = PlayerControl.ControlType.Run; AllPlayerControl[_event.connectionId].TargetMoveIndex = _event.mapping; } } } } if (_event.animId == 4) { //鬼的判定 if (_event.isLucky == false) { AllPlayerControl[_event.connectionId].NowControlType = PlayerControl.ControlType.ReadyRun; } else { AllPlayerControl[_event.connectionId].NowControlType = PlayerControl.ControlType.Rotate; } AllPlayerControl[_event.connectionId].GhostRotateVal = _event.fvaule; if (_event.running != Vector3.zero) { AllPlayerControl[_event.connectionId].transform.position = _event.running; } if (_event.runningForward != Vector3.zero) { AllPlayerControl[_event.connectionId].transform.forward = _event.runningForward; } AllPlayerControl[_event.connectionId].RandomF = _event.mapping == 1; AllPlayerControl[_event.connectionId].CacheForward = AllPlayerControl[_event.connectionId].transform.forward; AllPlayerControl[_event.connectionId].CacheRight = AllPlayerControl[_event.connectionId].transform.right; } }
/// <param name="win">Окно управления</param> public Controller(Control win) { Form main = win.FindForm(); win.MouseDown += (s, e) => { switch (e.Button) { case MouseButtons.Left: _isLeftMouseDown = true; CurrentMousePosition = new Point(e.X, e.Y); break; case MouseButtons.Right: _isRightMouseDown = true; CurrentMousePosition = new Point(e.X, e.Y); break; case MouseButtons.Middle: _isMiddleMouseDown = true; CurrentMousePosition = new Point(e.X, e.Y); break; } }; win.MouseUp += (s, e) => { switch (e.Button) { case MouseButtons.Left: _isLeftMouseDown = false; break; case MouseButtons.Right: _isRightMouseDown = false; break; case MouseButtons.Middle: _isMiddleMouseDown = false; break; } }; win.MouseMove += (s, e) => { CursorPositionChanged?.Invoke(e.X, e.Y); // определить обработку только одной кнопки мыши if (_isLeftMouseDown) { ShiftByPixel?.Invoke(e.X - CurrentMousePosition.X, e.Y - CurrentMousePosition.Y); CurrentMousePosition = new Point(e.X, e.Y); } else if (_isMiddleMouseDown) { main.Location = new Point(main.Location.X + e.X - CurrentMousePosition.X, main.Location.Y + e.Y - CurrentMousePosition.Y); } }; win.MouseWheel += (s, e) => { if (e.Delta > 0) { ZoomIn?.Invoke(e.X, e.Y); } else { ZoomOut?.Invoke(e.X, e.Y); } }; win.KeyUp += (s, e) => { Console.WriteLine(e.KeyValue); // нажатия на цифру и // ЛКМ - уменьшение параметра // ПКМ - увеличение параметра if (e.KeyValue > 48 && e.KeyValue < 58) { if (_isLeftMouseDown) { ParameterReduced?.Invoke(e.KeyValue - 48); } if (_isRightMouseDown) { ParameterIncreased?.Invoke(e.KeyValue - 48); } } switch ((HotKeys)e.KeyCode) { case HotKeys.SpeedDown: SpeedDown?.Invoke(); break; case HotKeys.SpeedUp: SpeedUp?.Invoke(); break; case HotKeys.StopPlay: StopPlay?.Invoke(); break; case HotKeys.Statistic: StatisticModeChange?.Invoke(); break; case HotKeys.ChangeWindowMode: WindowModeChanged?.Invoke(); break; case HotKeys.FpsUp: case HotKeys.FpsUp2: FpsUp?.Invoke(); break; case HotKeys.FpsDown: case HotKeys.FpsDown2: FpsDown?.Invoke(); break; case HotKeys.SpfUp: StagesByFrameUp?.Invoke(); break; case HotKeys.SpfDown: StagesByFrameDown?.Invoke(); break; case HotKeys.Exit: Exit?.Invoke(); break; } }; }