public void ShootBall() { if (MoveState == ePlayerState.Move) { return; } _instArrow.transform.localScale = new Vector3(0, 0, 0); isClickOn = false; Vector2 direction = _instArrow.transform.rotation * new Vector2(1, 0.0f) * _powerSize; BasketBallGame.BasketBall ball = _ballFactory.Get() as BasketBallGame.BasketBall; ball.ShotToTarget(direction); ball.Activate(transform.position, BasketBallGame.EBallOwner.LeftPlayer, "Ball"); ball.destroyed += OnBallDestroyed; if (!NetworkManager.Instance.IsSinglePlay()) { NetworkManager.Instance.SendRequestFireBall(_powerSize, direction.x, direction.y); } _powerSize = 0.0f; }
public static IVariablePool GetVariablePool(string sessionID, string keyID) { IVariablePool rVP = null; PoolFactory.Get(sessionID, keyID, out rVP); return(rVP); }
public static void Spawn(EffectId id, Transform target, float durationTime, params object[] values) { var key = id.Id2key(); var entity = PoolFactory.Get <Effect>(key, Vector3.zero, Quaternion.identity); entity.OnReturn = Return; entity.Spawn(key, target, durationTime, values); }
public void ShootBall() { Vector2 direction = directionArrow.transform.rotation * new Vector2(aiFireSpeed, 0.0f) * _powerSize; _powerSize = 0.0f; BasketBall ball = _ballFactory.Get() as BasketBall; ball.Activate(transform.position, EBallOwner.RightPlayer, "AIBall"); ball.ShotToTarget(direction); ball.destroyed += OnBallDestroyed; }
public virtual void ShotMissile(int cubeSeq, int monsterSeq) { var cube = cubes.Find(x => x.gameCube.CubeSeq == cubeSeq); var monster = monsters.Find(x => x.seq == monsterSeq); if (cube == null || monster == null) { return; } var missile = PoolFactory.Get <Missile>("Missile", cube.transform.position, Quaternion.identity, transform); missile.OnHit = OnHit; missile.Spawn(cube, monster); missiles.Add(missile); cube.Shot(missile); }
public virtual Monster CreateMonster() { var paths = zone.paths; var startPosition = zone.paths.FirstOrDefault().transform.position; var position = new Vector3(startPosition.x, startPosition.y, 0f); var monster = PoolFactory.Get <Monster>("Monster", position, Quaternion.identity, transform); monster.OnDie = OnDie; monster.OnEscape = OnEscape; monster.Spawn(user.MonsterSeq); monster.Move(paths); monsters.Add(monster); user.MonsterSeq++; return(monster); }
public virtual Cube CreateCube(GameCube gameCube) { var position = Server2Local(new Vector3(gameCube.PositionX, gameCube.PositionY, 0f)); var gameSlot = user.Slots.Find(x => x.CubeId == gameCube.CubeId); var cube = PoolFactory.Get <Cube>("Cube", position, Quaternion.identity, transform); cube.OnMove = OnMove; cube.OnCombineMove = OnCombineMove; cube.OnCombine = OnCombine; cube.OnShot = OnShot; cube.Spawn(user.Id, gameCube, gameSlot); cubes.Add(cube); user.Cubes.Add(gameCube); if (gameCube.CombineLv == 1) { user.SP -= ServerDefine.CubeSeq2NeedSP(user.CubeSeq); } user.CubeSeq++; return(cube); }