// override from parents public void overrideColorMaterials(Material shapeMaterial, Material paintMaterial, Material completedMaterial) { // pass along override to mesh foreach (Transform child in transform) { if (child.gameObject.tag == "Player") { PaintMaterials childScript = child.gameObject.GetComponent <PaintMaterials>(); childScript.overridePaintMaterials(shapeMaterial, paintMaterial, completedMaterial); } } }
public void initialize(GameObject paintTrackerGO, GameObject paintSurfaceGO, GameObject barrierTrackerGO, GameObject tokenTrackerGO, GameObject tokenSphereGO) { paintTracker = paintTrackerGO; paintSurface = paintSurfaceGO; barrierTracker = barrierTrackerGO; tokenTracker = tokenTrackerGO; tokenSphere = tokenSphereGO; // Scripts paintTrackerScript = paintTracker.transform.GetComponent <PaintTracker>(); paintMatScript = gameObject.GetComponent(typeof(PaintMaterials)) as PaintMaterials; }
// ----------- // Level completed // ----------- public void startLevelComplete() { // Brighten all PaintTrails to final material foreach (Transform child in transform) { if (child.gameObject.tag == "PaintTrail") { PaintMaterials childScript = child.gameObject.GetComponent <PaintMaterials>(); childScript.startLevelComplete(); } } }
// --------------- // Runtime // --------------- public void instantiatePaintTrail() { // Instantiate a copy of this shape GameObject myCopy = Instantiate(gameObject, transform.position, transform.rotation); PaintTrail myCopyPaintTrailScript = myCopy.GetComponent <PaintTrail>(); PaintMaterials myCopyPaintMaterialsScript = myCopy.GetComponent <PaintMaterials>(); // Change properties to Paint myCopyPaintTrailScript.transformIntoPaintTrail(); myCopyPaintMaterialsScript.setMaterial(paintMatScript.paintMaterial); myCopyPaintMaterialsScript.overridePaintMaterials(paintMatScript.shapeMaterial, paintMatScript.paintMaterial, paintMatScript.completedMaterial); paintTrackerScript.addPaintTrail(myCopy); }
public void transformIntoShadow() { changeTag("Shadow"); paintMatScript = gameObject.GetComponent(typeof(PaintMaterials)) as PaintMaterials; // Initialize for ghost, since it was never initialized paintMatScript.setMaterial(paintMatScript.shadowMaterial); paintTrackerScript.addPaintTrail(gameObject); paintMatScript.fadeToAlpha(0f, shadowFadeTime); // Change z position so shadow appears above all objects Vector3 newPos = transform.position; newPos.z = -shadowZTowardCamera; transform.position = newPos; }
// --------------- // Editor Mode // --------------- public void instantiatePaintSurfaceElement(GameObject container) { Debug.Log("instantiatePaintSurfaceElement"); // Instantiate a copy of this player shape gameObject GameObject myCopy = Instantiate(gameObject, transform.position, transform.rotation, container.transform); // Initiallize it as a PaintSurface object PaintTrail myCopyPaintTrailScript = myCopy.GetComponent <PaintTrail>(); myCopyPaintTrailScript.transformIntoPaintSurface(); // Change material PaintMaterials myCopyPaintMaterialsScript = myCopy.GetComponent <PaintMaterials>(); myCopyPaintMaterialsScript.setMaterial(myCopyPaintMaterialsScript.paintSurfaceMaterial); // Create tokens from vertices Debug.Log("Create Tokens"); }