public override void CreateDeafaultModel() { AvatarModelData data = AvatarModelData.dataMap[999]; GameObject gameObject = AssetCacheMgr.GetLocalInstance(data.prefabName) as GameObject; ActorPlayer actor = gameObject.AddComponent <ActorPlayer>(); motor = gameObject.AddComponent <MogoMotorServer>(); animator = gameObject.GetComponent <Animator>(); sfxHandler = gameObject.AddComponent <SfxHandler>(); // GearEffectListener作用已经交由ActorMyself处理,不需要增加这个脚本了 // gameObject.AddComponent<GearEffectListener>(); //actor.mogoMotor = motor; actor.theEntity = this; GameObject = gameObject; Transform = gameObject.transform; Debug.LogError(GameObject.name + " " + ID + " Player CreateDeafaultModel: " + Transform.position); this.Actor = actor; Transform.localScale = scale; Transform.tag = "OtherPlayer"; UpdatePosition(); base.CreateModel(); }
public Actor AddActor(int id, EActorType type, EBattleCamp camp, XTransform param, bool isMainPlayer = false) { Actor pActor = null; if (isMainPlayer) { pActor = new ActorMainPlayer(id, 100, EActorType.PLAYER, camp); pActor.Load(param); object[] args = new object[] { pActor.CacheTransform.transform }; CameraEffectBase effect = MainCamera.GetComponent <CameraFollow>(); effect.Init(0, MainCamera, null, args); } else { pActor = new ActorPlayer(id, 100, type, camp); pActor.Load(param); } if (pActor.CacheTransform != null) { Debug.LogError("添加人物" + pActor.ActorType); //pActor.CacheTransform.parent = GetHolder(EMapHolder.Role).transform; AllActors.Add(pActor); //LevelData.CampActors[camp].Add(pActor); } return(pActor); }
public void Start() { _playerBody = GetComponent <ActorPlayer>(); lineRenderer = GetComponent <LineRenderer>(); hookSpring.enabled = false; }
void OnTriggerStay2D(Collider2D other) { if (damageCountdown > 0) { switch (other.tag) { case "Player": PlayerHealth playerHealth = other.GetComponent <PlayerHealth>(); ActorPlayer otherActorPlayer = other.GetComponent <ActorPlayer>(); VibrateJoystick otherJoystick = other.GetComponent <VibrateJoystick>(); //Debug.Log("Hurt Player" + actorPlayer.input.facingDirection); playerHealth.Hurt(0, new Vector2(actorPlayer.inpt.facingDirection * 15 * DirectionalPush.x, input.AxisY() * DirectionalPush.y)); otherJoystick.SetVibrating(true); otherActorPlayer.isStunned = true; jet.SmallRefill(); break; case "Enemy": EnemyHealth enemyHealth = other.GetComponent <EnemyHealth>(); if (enemyHealth != null) { //Debug.Log("Hurt Enemy" + actorPlayer.input.facingDirection); enemyHealth.Hurt(damage, actorPlayer.input.facingDirection); } break; } } }
//SpriteRenderer r; // Use this for initialization void Awake() { ap = GetComponentInParent <ActorPlayer>(); pos = transform.localPosition; scale = transform.localScale; //r = GetComponent<SpriteRenderer>(); }
public override void Tick() { if (votedCommands.Count > 0) { NextCommand = votedCommands.Keys.OrderByDescending(x => votedCommands[x]).First(); votedCommands.Clear(); } else { if (GameManager.playerDictionary.Count > 0) { ActorPlayer desiredPlayer = BoardMethod.GetClosestPlayer(currentPosition); if (desiredPlayer != null) { NextCommand = BoardMethod.GetCommandTowardsTile(currentPosition, desiredPlayer.currentPosition); } } else { NextCommand = (Commands)Random.Range(0, 5); } } base.Tick(); }
public override void Collect() { base.Collect(); Player player = GameObject.FindGameObjectWithTag("player_parent").GetComponent <Player>(); switch (modify) { case Modify.Essence: player.essence += (int)value; break; case Modify.Coins: player.coins += (int)value; break; case Modify.Health: ActorPlayer actor = GameObject.FindGameObjectWithTag("player").GetComponent <ActorPlayer>(); actor.health.Increment(value); actor.healthDisplay.UpdateHealth(actor.health.value); break; } player.UpdateUI(); anim.Play("collect"); }
/// <summary> /// Spawn player for the desired username using ObjectPool pooling system. /// Find a random empty spot on the board and move the newly spawned player there. /// </summary> /// <param name="username">desired username for player</param> /// <returns>Spawned Player Prefab.</returns> public Actor SpawnPlayer(string username) { //If there is already a player with that username don't spawn it. if (playerDictionary.ContainsKey(username)) { return(null); } //Spawn Player Object. ActorPlayer spawnedPlayer = playerPrefab.Spawn(); //Set position. spawnedPlayer.currentPosition = BoardMethod.GetRandomTile(); Tile emptyTile = BoardMethod.GetTile(spawnedPlayer.currentPosition); spawnedPlayer.transform.position = emptyTile.transform.position; spawnedPlayer.spriteRenderer.color = Color.white; //Set username. spawnedPlayer.actorName = username; //Add to dictionary so we can reference it later by username. playerDictionary.Add(username, spawnedPlayer); return(spawnedPlayer); }
public void BoostStats() { ActorPlayer player = GetComponentInParent <ActorPlayer>(); foreach (StatChange effect in effects) { switch (effect.stat) { case StatChange.StatToChange.health: Apply(player.health, effect.modify, effect.modifier); UI_Health_Display.instance.UpdateHealth(player.health.value); break; case StatChange.StatToChange.damage: Apply(player.damageModifier, effect.modify, effect.modifier); break; case StatChange.StatToChange.speed: Apply(player.speed, effect.modify, effect.modifier); break; case StatChange.StatToChange.luck: Apply(player.luck, effect.modify, effect.modifier); break; } } }
private void Awake() { _actorPlayer = GetComponent <ActorPlayer>(); _shipMovement = GetComponent <MovementKrister>(); _weapon = GetComponent <Weapon>(); _grappleHookShooter = GetComponent <GrappleHookShooter>(); SetPlayerControls(); }
protected void SetPlayerActor(ActorPlayer actorPlayer, Action logicCallback) { AvatarModel avatarModel = DataReader <AvatarModel> .Get(this.FixModelID); base.Actor = actorPlayer; actorPlayer.theEntity = this; base.Actor.FixGameObject.set_name(base.ID.ToString()); base.Actor.FixGameObject.SetActive(true); base.Actor.InitActionPriorityTable(); base.Actor.CanAnimatorApplyMotion = false; base.Actor.DataLayerState = ((avatarModel.collideOff <= 0) ? 0 : 1); base.Actor.DefaultModelHeight = avatarModel.defaultModelHeight; base.Actor.ModelHeight = avatarModel.defaultModelHeight; base.Actor.IsLockModelDir = (avatarModel.lockDirection == 1); base.Actor.RotateSpeed = avatarModel.RotateSpeed; base.Actor.RotateInterval = (float)avatarModel.rotateInterval; base.Actor.StartRotateAngle = (float)avatarModel.startAngle; base.Actor.FinishRotateAngle = (float)avatarModel.finishAngle; base.Actor.FloatRate = avatarModel.floatProba; ShadowController.ShowShadow(base.ID, base.Actor, false, this.FixModelID); ShaderEffectUtils.InitShaderRenderers(base.Actor.FixTransform, this.shaderRenderers, ref this.shadowRenderer, ref this.shadowSlicePlane); ShaderEffectUtils.InitHitEffects(this.shaderRenderers, this.hitControls); ShaderEffectUtils.InitTransparencys(this.shaderRenderers, this.alphaControls); ShaderEffectUtils.SetFadeRightNow(this.alphaControls, false); ShaderEffectUtils.SetOutlineStatus(base.Actor.FixTransform, LuminousOutline.Status.Normal); if (avatarModel.curve == 1) { ShaderEffectUtils.SetMeshRenderToLayerFXDistortion(base.Actor.FixTransform); } this.InitBillboard((float)avatarModel.height_HP, avatarModel.bloodBar); WaveBloodManager.Instance.AddWaveBloodControl(base.Actor.FixTransform, (float)avatarModel.height_Damage, base.ID); if (this.IsInBattle) { if (this.IsDead) { CommandCenter.ExecuteCommand(base.Actor.FixTransform, new PlayActionCmd { actName = "die", jumpToPlay = true, percent = 1f }); } else { base.Actor.CastAction("born", true, 1f, 0, 0, string.Empty); } } else { base.Actor.CastAction("idle", true, 1f, 0, 0, string.Empty); } if (logicCallback != null) { logicCallback.Invoke(); } this.InitActorState(); }
public override void Showing() { // create our player sprites = Parent.Content.Load<Texture2D>("sprites"); player = ActorPlayer.Create(Parent.GraphicsDevice.Viewport.Bounds); ActorRock.RemoveAllRocks(); ActorBullet.RemoveAllBullets(); ActorEnemy.RemoveAllEnemies(); }
void Start() { input = GetComponent <InputListener>(); jetpack = GetComponent <Jetpack>(); jetpackDustInitPos = jetpackDust.transform.localPosition; anim = sprite.GetComponent <Animator>(); playerScript = GetComponent <ActorPlayer>(); CC = GetComponent <CharacterController2D>(); myHealth = GetComponent <PlayerHealth>(); }
void Start() { input = GetComponentInParent <InputListener>(); r = GetComponent <SpriteRenderer>(); actorPlayer = GetComponentInParent <ActorPlayer>(); anim = GetComponent <Animator>(); cooldownCountdown = cooldown; damageCountdown = 0; jet = GetComponentInParent <Jetpack>(); //CC.GetComponentInParent<CharacterController2D>(); }
public new ActorPlayer clone() { ActorPlayer result = new ActorPlayer(); result.row = this.row; result.col = this.col; result.type = this.type; result.currentTile = this.currentTile; return(result); }
/// <summary> /// 毎フレーム呼ばれる処理 /// </summary> /// <param name="arg_player">Argument player.</param> public void OnUpdate(ActorPlayer arg_player) { arg_player.transform.position = new Vector2(arg_player.colPlayerOBject.transform.position.x, arg_player.transform.position.y); //パイプから離れたら通常に戻る if (arg_player.ExitCollider) { arg_player.StateTransion(new PlayerIdle()); } }
private void Awake() { _actor = GetComponent <ActorPlayer>(); _transform = transform; weaponSocket = _transform.Find(weaponSocketName); weaponParticleSystem = GetComponentInChildren <ParticleSystem>(); _timeBetweenShots = 60f / roundsPerMinute; // Move this to Input script later. //fireWeapon.performed += ctx => StartShooting(); //fireWeapon.canceled += ctx => StopShooting(); }
/// <summary> /// 毎フレーム呼ばれる処理 /// </summary> /// <param name="arg_player"></param> public void OnUpdate(ActorPlayer arg_player) { //フリックでボールショット if (arg_player.m_touchZone.flicking) { arg_player.ballObject.StateTransion(new BallShot()); } //入力が無ければ通常へ戻る if (!arg_player.m_touchZone.pressing) { arg_player.StateTransion(new PlayerIdle()); } }
protected virtual void UpdateActor(Action logicCallback = null) { this.DestoryOldPlayerActor(); if (this.IsClientDominate) { base.AsyncLoadID = EntityWorld.Instance.GetPlayerActorAsync(this.FixModelID, delegate(ActorPlayer newActor) { this.SetPlayerActor(newActor, logicCallback); }); } else { ActorPlayer playerActor = EntityWorld.Instance.GetPlayerActor(this.FixModelID); this.SetPlayerActor(playerActor, logicCallback); } }
public void GenetareActionPlayer(List <PlayerRecord> playerRecords) { for (int i = 0; i < playerRecords.Count; i++) { PlayerRecord temp = playerRecords[i]; ActorPlayer player = Instantiate(PlayerPrefabHolder.instance.m_ActorPlayerPrefab, m_ActorPlayerTransform); player.playerIndex = temp.id; player.gameObject.name = temp.id.ToString(); player.SetPivot(temp.scenarionActorPivotType); player.SetPivot(); player.SetPlayerModel(); player.SetPlayerValue(temp, null); m_ActorPlayers.Add(player); m_DicActorPlayers.Add(temp.id, player); } }
private void MakeStaticInstance() { if (isPersistentDontDestroyOnLoad) { DontDestroyOnLoad(this); } if (Instance != null && Instance != this) { Destroy(gameObject); } else { Instance = this; } }
public static ActorPlayer GetClosestPlayer(TilePosition current) { Dictionary <TilePosition, int> ProcessedTiles = GetTileStepsDictionary(current, current); ActorPlayer closestPlayer = null; int closestDistance = 99999; foreach (ActorPlayer _player in GameManager.playerDictionary.Values) { if (ProcessedTiles.ContainsKey(_player.currentPosition) && ProcessedTiles[_player.currentPosition] < closestDistance) { closestDistance = ProcessedTiles[_player.currentPosition]; closestPlayer = _player; } } return(closestPlayer); }
public Actor AddActor(int id, EActorType type, EBattleCamp camp, XTransform param, List <Vector3> PatrolGroups, bool isMainPlayer = false) { int guid = GetGUID(); Actor pActor = null; switch (type) { case EActorType.PLAYER: { if (isMainPlayer) { pActor = new ActorMainPlayer(id, guid, EActorType.PLAYER, camp, null); } else { pActor = new ActorPlayer(id, guid, EActorType.PLAYER, camp, null); } } break; case EActorType.MONSTER: pActor = new Actor(id, guid, type, camp, PatrolGroups); break; } if (pActor != null) { param.Position = GTTools.NavSamplePosition(param.Position); pActor.Load(param); if (pActor.CacheTransform != null) { pActor.CacheTransform.parent = GetHolder(EMapHolder.Role).transform; LevelData.AllActors.Add(pActor); LevelData.CampActors[camp].Add(pActor); } } return(pActor); }
/// <summary> /// 毎フレーム呼ばれる処理 /// </summary> /// <param name="arg_player">Argument player.</param> public void OnUpdate(ActorPlayer arg_player) { //落下状態は例外として最優先する if (arg_player.colPlayerOBject) { if (arg_player.colPlayerOBject.tag == "Paipu") { arg_player.StateTransion(new PlayerFall()); } } //入力が無い場合は else if (!arg_player.m_touchZone.pressing && !arg_player.m_touchZone.longpressing) { arg_player.StateTransion(new PlayerIdle()); } //プレスのみの場合は通常移動 else if (arg_player.m_touchZone.pressing) { arg_player.StateTransion(new PlayerRun()); }//入力が何もない場合デフォルト状態 }
private void Recover() { Diglbug.Log("Beginning Recovery...", PrintStream.RECOVERY); // RecoverSignature (); runningRecovery = false; ShowUnderway(); if (ShowMode.Instance.Mode.ModeName == ModeName.GUIDE) { RecoverSignature(); BLE.Instance.ClearPreviousSignalsFound(); BLE.Instance.Manager.RecoverySendPreviousSignal(GetPreviousSignal()); Diglbug.Log("Guide recovery complete"); } else if (ShowMode.Instance.Mode.ModeName == ModeName.ACTOR) { BLE.Instance.ClearPreviousSignalsFound(); ActorPlayer player = FindObjectOfType <ActorPlayer> (); if (player != null) { player.ClearPreviousSignals(); player.SetActor((Actor)PlayerPrefs.GetInt(lastActorKey, 0)); } else { Diglbug.Log("Unexpected lack of ActorPlayer object during Actor Recovery."); } RecoverFromMostRecentSignal(); Diglbug.Log("Actor recovery complete, waiting for signals"); } else { RecoverFromMostRecentSignal(); Diglbug.Log("Recovery complete - waiting to pick up signals"); } }
public MountEntityData(int entityId, int typeId, ActorType actorType, BattleCampType campType, ActorPlayer host) : base(entityId, typeId, actorType, campType) { Host = host; }
public MoveHistory(ActorPlayer p, Tile t) { this.player = p; this.tile = t; }
/// <summary> /// ステート終了時の処理 /// </summary> /// <param name="arg_player">Argument player.</param> public void OnExit(ActorPlayer arg_player) { }
/// <summary> /// ステート終了時の処理 /// </summary> /// <param name="arg_player">Argument player.</param> public void OnExit(ActorPlayer arg_player) { arg_player.colPlayerOBject = null; arg_player.ExitCollider = false; }
//Build the indicated level public void loadLevel(int level) { //Hide the play area loadingScreen.enabled = true; //Destroy any previous existing game objects for (int i = 0; i < boardObj.Count; i++) { for (int j = 0; j < boardObj[i].Count; j++) { Destroy(boardObj[i][j]); Destroy(boardTiles[i][j]); } } //Reset the references to the objects board = new List <List <Tile> >(); boardObj = new List <List <GameObject> >(); boardTiles = new List <List <GameObject> >(); //Read the level file to find out what the level needs string assetText; using (var streamReader = new StreamReader("Assets/Levels/" + level.ToString() + ".txt", Encoding.UTF8)) { assetText = streamReader.ReadToEnd(); } var lines = assetText.Split('\n'); width = lines[0].Split('~').Length; height = lines.Length; //Go through each row for (int i = 0; i < height; i++) { var singleTiles = lines[i].Split('~'); List <Tile> row = new List <Tile>(width); List <GameObject> tileRow = new List <GameObject>(width); //Go through each individual tile and create it for (int j = 0; j < width; j++) { Tile tile = TileFactoryMethods.TileFactory((TileType)Int32.Parse(singleTiles[j])); tile.setPos(i, j); row.Add(tile); //Create the object and store the returned reference //tileRow.Add(Instantiate(GameGraphics.BackGroundTile, new Vector3(i, j, .01f), Quaternion.identity)); } board.Add(row); boardTiles.Add(tileRow); } //Reset the player player = new ActorPlayer(); player.currentTile = board[0][0]; //Reset the history stack history = new Stack <MoveHistory>(); //Draw Screen for (int col = width - 1; col >= 0; col--) { List <GameObject> objRow = new List <GameObject>(); for (int row = 0; row < height; row++) { //GameObject obj = Instantiate(GameGraphics.MudTile, new Vector3(row, col, 0), Quaternion.identity); //objRow.Add(obj); } boardObj.Add(objRow); } //Reset the camera //This works for even numbered grids Vector3 newCamPos = new Vector3(width / 2 - 0.5f, height / 2, -7.5f); if (width % 2 == 1) { newCamPos.x += 0.5f; } if (height % 2 == 1) { newCamPos.y += 0.5f; } Camera.main.transform.position = (newCamPos); //Loading has finished so release the play area loadingScreen.enabled = false; }
/// <summary> /// ステート開始時の処理 /// </summary> /// <param name="arg_player">Argument player.</param> public void OnEnter(ActorPlayer arg_player) { }