1
0
Fork 0

Add finishObjective

This commit is contained in:
Saibotk 2018-04-24 00:52:32 +02:00
parent 7603cd71e8
commit 44219c15b6
7 changed files with 211 additions and 23 deletions

View file

@ -0,0 +1,125 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
m_ObjectHideFlags: 1
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications: []
m_RemovedComponents: []
m_ParentPrefab: {fileID: 0}
m_RootGameObject: {fileID: 1432738936828138}
m_IsPrefabParent: 1
--- !u!1 &1432738936828138
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
serializedVersion: 5
m_Component:
- component: {fileID: 4934141439166806}
- component: {fileID: 61573315058613432}
- component: {fileID: 114205155271538646}
- component: {fileID: 212911672651431198}
m_Layer: 0
m_Name: Finish
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4934141439166806
Transform:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1432738936828138}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &61573315058613432
BoxCollider2D:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1432738936828138}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1, y: 1}
newSize: {x: 3, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!114 &114205155271538646
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1432738936828138}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ba8e1d7b878a1234390e852ac146280f, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!212 &212911672651431198
SpriteRenderer:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1432738936828138}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 1310459315
m_SortingLayer: -1
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: 10fdc6baf12d2f54b9679400cf4a723a, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 3, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 799dca5582eb03546b71ba32f493ec3b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -2283,7 +2283,7 @@ MonoBehaviour:
RockLUR: {fileID: 1938166751346222, guid: 6b83a6a46c57a634fa5085684bad0085, type: 2} RockLUR: {fileID: 1938166751346222, guid: 6b83a6a46c57a634fa5085684bad0085, type: 2}
RockURD: {fileID: 1437035058628240, guid: 30338afac8ce7054fbff8de89db815e8, type: 2} RockURD: {fileID: 1437035058628240, guid: 30338afac8ce7054fbff8de89db815e8, type: 2}
RockLRD: {fileID: 1251219893662246, guid: e37e0c5d4b013304cbcb32b223264452, type: 2} RockLRD: {fileID: 1251219893662246, guid: e37e0c5d4b013304cbcb32b223264452, type: 2}
Flag: {fileID: 1065161683117842, guid: 06aa81f4fbf9a3a4a8f9fdadafcbf7fa, type: 2} Flag: {fileID: 1432738936828138, guid: 799dca5582eb03546b71ba32f493ec3b, type: 2}
playerPrefab: {fileID: 1679161327080020, guid: 3d1911457c1e44f53b6b4044334db52f, playerPrefab: {fileID: 1679161327080020, guid: 3d1911457c1e44f53b6b4044334db52f,
type: 2} type: 2}
ui: {fileID: 1379476069} ui: {fileID: 1379476069}

View file

@ -229,15 +229,26 @@ public class GameController : MonoBehaviour {
doorRootf.transform.SetParent(goFinish.transform); doorRootf.transform.SetParent(goFinish.transform);
ltf = ltf.FindAll(x => x.tag == "door"); ltf = ltf.FindAll(x => x.tag == "door");
finish = goFinish.AddComponent<Room>(); finish = goFinish.AddComponent<Room>();
finish.SetCenter(dg.end.GetCenter()); finish.SetCenter(dg.end.GetCenter());
ltf.ForEach(x => { ltf.ForEach(x => {
x.SetParent(doorRootf.transform); x.SetParent(doorRootf.transform);
x.gameObject.GetComponent<Door>().SetParent(finish); x.gameObject.GetComponent<Door>().SetParent(finish);
}); });
finish.SetDoorsRootObject(doorRootf); finish.SetDoorsRootObject(doorRootf);
// Spawnpoint
GameObject fspawnpointRoot = new GameObject();
fspawnpointRoot.name = "Spawnpoints";
fspawnpointRoot.transform.SetParent(goStart.transform);
fspawnpointRoot.transform.position = new Vector3(dg.end.roomPosition.x, dg.end.roomPosition.y, 0);
GameObject fspawn = new GameObject();
fspawn.transform.SetParent(fspawnpointRoot.transform);
fspawn.transform.position = new Vector3(dg.end.GetCenter().x, dg.end.GetCenter().y, 0);
finish.SetSpawnPointsRootObject(fspawnpointRoot);
finish.Reload(); finish.Reload();
finish.transform.SetParent(mapRoot.transform); finish.transform.SetParent(mapRoot.transform);
gp.CreateGOFromType(finish.GetCenter(), 0, Room.TileType.DOOR, GenerationProcessor.ExtendedTileType.Flag, goFinish);
// Other Rooms // Other Rooms
foreach (GenRoom gr in dg.rooms) { foreach (GenRoom gr in dg.rooms) {
@ -295,9 +306,8 @@ public class GameController : MonoBehaviour {
} else { } else {
Debug.Log("No Player spawned!"); Debug.Log("No Player spawned!");
} }
FinishObjective fo = new FinishObjective(finish, genPrefabs[GenerationProcessor.ExtendedTileType.Flag]);
finish.SetObjective(new FinishObjective(finish)); finish.SetObjective(fo);
} }
private void Running() { private void Running() {

View file

@ -204,6 +204,7 @@ public class DungeonGenerator {
} }
start.spawnpoints.Add(start.GetCenter()); start.spawnpoints.Add(start.GetCenter());
end.spawnpoints.Add(end.GetCenter());
foreach (Vector2Int v in allDoors) { foreach (Vector2Int v in allDoors) {
foreach (GenRoom r in rooms) { foreach (GenRoom r in rooms) {

View file

@ -2,20 +2,9 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class FinishObjective : Objective { public class FinishObjective : EntityObjective {
public FinishObjective(Room caller) : base(caller) { } public FinishObjective(Room caller, GameObject go) : base(caller, new List<GameObject> { go }) { }
public override void ActivateGoal(Player player) {
// Player reached the end => win
base.ActivateGoal(player);
UpdateGoal();
}
public override void UpdateGoal() {
if ((room.GetCenter() - (Vector2)player.transform.position).magnitude < 2)
ReachedGoal();
}
protected override void ReachedGoal() { protected override void ReachedGoal() {
base.ReachedGoal(); base.ReachedGoal();

View file

@ -1,7 +1,9 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 10fdc6baf12d2f54b9679400cf4a723a guid: 10fdc6baf12d2f54b9679400cf4a723a
TextureImporter: TextureImporter:
fileIDToRecycleName: {} fileIDToRecycleName:
21300000: finish
2186277476908879412: ImportLogs
externalObjects: {} externalObjects: {}
serializedVersion: 5 serializedVersion: 5
mipmaps: mipmaps:
@ -38,12 +40,12 @@ TextureImporter:
nPOTScale: 0 nPOTScale: 0
lightmap: 0 lightmap: 0
compressionQuality: 50 compressionQuality: 50
spriteMode: 1 spriteMode: 2
spriteExtrude: 1 spriteExtrude: 1
spriteMeshType: 1 spriteMeshType: 0
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 2000
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
@ -67,9 +69,62 @@ TextureImporter:
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
overridden: 0 overridden: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: [] sprites:
- serializedVersion: 2
name: finish
rect:
serializedVersion: 2
x: 0
y: 0
width: 2000
height: 2000
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 85de40b9c7d24fc4daf3bdc855f14327
vertices: []
indices:
edges: []
weights: []
outline: [] outline: []
physicsShape: [] physicsShape: []
bones: [] bones: []