예제 #1
0
 // Start is called before the first frame update
 void Start()
 {
     BlockComponent        = GetComponent <DataBlockComponent>();
     MovementScript        = gameObject.AddComponent <TileMovingObjectScript>();
     MovementScript.Target = gameObject;
     MovementScript.JumpToTile(BlockComponent.WorldTileX, BlockComponent.WorldTileY);
     MovementScript.TilePositionChanged    += MovementScript_TilePositionChanged;
     TileMovingObjectScript.MoveableMoving += Jetstream_SpongebobPlayerPositionChanging;
     if (BlockComponent.DataBlock.GetParameterByName("CanFloat", out var parameter))
     {
         CanFloat = bool.Parse(parameter.Value);
     }
     if (BlockComponent.DataBlock.GetParameterByName("ExclusiveMode", out parameter))
     {
         ExclusivePushMode = (PlayerEnum)int.Parse(parameter.Value);
     }
     if (BlockComponent.DataBlock.GetParameterByName("CanDestory", out parameter))
     {
         CanDestory = bool.Parse(parameter.Value);
     }
     if (!CanDestory)
     {
         MovementScript.CanMoveOverWorldReservedTiles = false;
     }
 }
예제 #2
0
 // Start is called before the first frame update
 void Start()
 {
     BlockComponent = GetComponent <DataBlockComponent>();
     TileMovingObjectScript.MoveableMoved += Jetstream_SpongebobPlayerPositionChanged;
     soundEffects = GetComponent <SoundLoader>();
     soundEffects.ExclusiveSoundMode = true;
 }
예제 #3
0
 // Start is called before the first frame update
 void Start()
 {
     blockComponent = GetComponent <DataBlockComponent>();
     MessageText    = blockComponent.DataBlock.GetMessageContent(World.Current.Level);
     TileMovingObjectScript.MoveableMoving += PlayerMoving;
     TileMovingObjectScript.MoveableMoved  += PlayerMoved;
 }
예제 #4
0
 // Start is called before the first frame update
 void Start()
 {
     BlockComponent = GetComponent <DataBlockComponent>();
     GooberPrefab   = Resources.Load("Objects/Goober");
     Animations     = GetComponent <AnimationLoader>();
     if (Animations == null)
     {
         Animations = GetComponentInChildren <AnimationLoader>();
     }
 }
예제 #5
0
    // Start is called before the first frame update
    void Start()
    {
        BlockComponent = GetComponent <DataBlockComponent>();
        TileMovingObjectScript.MoveableMoved += Jetstream_SpongebobPlayerPositionChanged;
        var child     = Render = transform.GetChild(0).gameObject;
        var component = child.AddComponent <DataBlockComponent>();

        component.DataBlock = BlockComponent.DataBlock;
        child.AddComponent <TextureLoader>();
        soundEffects = GetComponent <SoundLoader>();
        soundEffects.ExclusiveSoundMode = true;
    }
예제 #6
0
    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent <Animator>();
        //animations = GetComponentInChildren<AnimationLoader>();
        //animations.PlayAnimationSequence("Spike");
        block = GetComponentInParent <DataBlockComponent>();
        TileMovingObjectScript.MoveableMoving += TileMovingObjectScript_MoveableMoving;
        TileMovingObjectScript.MoveableMoved  += TileMovingObjectScript_MoveableMoved;
        var number = block.DataBlock.Name.Last().ToString();

        sproutType = int.Parse(number);
    }
 private void Jetstream_SpongebobPlayerPositionChanged(object sender, MoveEventArgs e)
 {
     BlockComponent = GetComponent <DataBlockComponent>();
     if (e.ToTile.x == BlockComponent.WorldTileX && e.ToTile.y == BlockComponent.WorldTileY)
     {
         if (e.BlockMotion)
         {
             return;
         }
         e.BlockMotion       = !AllowMovement;
         e.BlockMotionSender = gameObject.name;
     }
 }
예제 #8
0
    // Start is called before the first frame update
    void Start()
    {
        BlockComponent = GetComponent <DataBlockComponent>();
        if (BlockComponent.DataBlock.GetParameterByName("Spawnpoint", out var param))
        {
            switch (param.Value.ToLower())
            {
            case "spongebob":
                PlayerName = "Spongebob";
                break;

            case "patrick":
                PlayerName = "Patrick";
                break;
            }
        }
    }
예제 #9
0
 // Start is called before the first frame update
 void Start()
 {
     BlockComponent = GetComponent <DataBlockComponent>();
     TileMovingObjectScript.MoveableMoving += TileMovingObjectScript_MoveableMoving;
     pickupModel    = transform.GetChild(0).gameObject;
     particleObject = transform.GetChild(1).gameObject;
     if (particleObject != default)
     {
         particleSystem = particleObject.GetComponent <ParticleSystem>();
     }
     if (BlockComponent.DataBlock.GetParameterByName("Major Item", out var param))
     {
         pickupName = param.Value;
         CurrentWorld.AddPickup(pickupName);
         CurrentWorld.CollisionMapUpdate(gameObject, true, BlockComponent.WorldTileX, BlockComponent.WorldTileY);
     }
 }
예제 #10
0
 private void Awake()
 {
     if (!TryGetComponent(out TileComponent) && InheritParent && !ForceTemplate)
     {
         TileComponent = GetComponentInParent <DataBlockComponent>();
     }
     // if (TileComponent?.TextureLoaded ?? false && !ForceTemplate)
     //   return;
     Data = TileComponent?.DataBlock;
     if (DefaultMaterial == null)
     {
         DefaultMaterial = (Material)Instantiate(Resources.Load("Materials/Object Material"));
     }
     if (Data == null || ForceTemplate)
     {
         Data = ApplyTileData(); // try to apply templated data
     }
     if (Data == null)
     {
         return;                                       // outright failure
     }
     textures = Data.GetReferences(AssetType.Texture); // get referenced textures
     if (Data.GetParameterByName("FLOOR", out _))      // floors
     {
         CreateFloor();
     }
     else if (Data.GetParameterByName("WALL", out _)) // walls
     {
         CreateWall();
     }
     else if (Data.GetParameterByName("FillTexture", out var parameter)) // generic fill texture parameter info
     {
         ApplyTextureMaterial(GetComponent <Renderer>(), int.Parse(parameter.Value));
     }
     else
     {
         ApplyTextureMaterial(GetComponentInChildren <Renderer>(), 0);
     }
     if (TileComponent != null)
     {
         TileComponent.TextureLoaded = true;
     }
     Loaded = true;
 }
예제 #11
0
    // Start is called before the first frame update
    void Start()
    {
        if (!TryGetComponent(out BlockComponent))
        {
            var component = GetComponentInParent <DataBlockComponent>();
            Position       = new Vector2Int(component.WorldTileX, component.WorldTileY);
            BlockComponent = component;
            SoundLoader loader = gameObject.AddComponent <SoundLoader>();
            loader.LoadAll(BlockComponent.DataBlock);
        }
        else
        {
            Position = new Vector2Int(BlockComponent.WorldTileX, BlockComponent.WorldTileY);
            GUID     = BlockComponent.DataBlock.GUID;
        }
        var allowMovement = GetComponent <AllowTileMovement>();

        if (allowMovement != null)
        {
            allowMovement.AllowMovement = true;
        }
        TileMovingObjectScript.MoveableMoved  += Jetstream_SpongebobPlayerPositionChanged;
        TileMovingObjectScript.MoveableMoving += TileMovingObjectScript_MoveableMoving;
    }
예제 #12
0
 // Start is called before the first frame update
 void Start()
 {
     BlockComponent = GetComponent <DataBlockComponent>();
     TileMovingObjectScript.MoveableMoving += Jetstream_SpongebobPlayerPositionChanged;
     if (BlockComponent.DataBlock.GetParameterByName("FLOOR", out _))
     {
         AllowMovement = true;
     }
     if (BlockComponent.DataBlock.GetParameterByName("AllowMotion", out var movementParam))
     {
         AllowMovement = bool.Parse(movementParam.Value);
     }
     if (BlockComponent.DataBlock.GetParameterByName("ServiceObject", out _))
     {
         AllowMovement = true;
     }
     if (BlockComponent.DataBlock.GetParameterByName("Prefab", out var param))
     {
         if (AllowedPrefabs.Contains(param.Value))
         {
             AllowMovement = true;
         }
     }
 }